l4_NC
.pdfТехническая поддержка программных решений 4/10 Инструментарий программиста: Eclipse
© 2013 NetCracker Technology Corporation Confidential
План лекции
•Методы раннего диагностирования ошибок
•Отладка программ в Eclipse. Интерфейс пользователя
•Команды управления выполнением программы
•Фильтры исполнения программы
•Точки останова, их свойства, экспорт и импорт
•Экспорт и импорт конфигураций запуска
•Консоль ввода-вывода
•Удаленная отладка
© 2013 NetCracker Technology Corporation Confidential |
2 |
Методы раннего диагностирования ошибок
© 2013 NetCracker Technology Corporation Confidential |
3 |
Почему важно раннее диагностирование?
•Рост затрат со временем
•У разработчика – «прозрачный ящик», у тестировщика – «черный ящик»
© 2013 NetCracker Technology Corporation Confidential |
4 |
Модульное тестирование
•Проверка правильности отдельных программных единиц
•Уровень функции, метода или класса
•Автоматизированное создание тестов
•Как работает:
•Определяем:
‒Входные данные
‒Ожидаемый результат
‒Заглушки для связанных сущностей
•Как выглядят ошибки:
‒Функция вернула 0, ожидаемый результат – 15
‒Произошло деление на 0 в строке 15
Читать http://habrahabr.ru/post/120101/ «Тестирование в Java. JUnit»
© 2013 NetCracker Technology Corporation Confidential |
5 |
Функциональное тестирование
•Проверка правильности работы приложения в целом
•Тестируется взаимодействие компонентов
•Возможна автоматизация
•Как работает:
•Определяем
‒входные данные,
‒последовательность действий
•Исполняем
•Отслеживаем результат и сверяем с ожидаемым
•Как выглядят ошибки:
•Должна отобразиться картинка А, но отобразилась картинка B
•Произведена недопустимая операция в файле X на строке Y
© 2013 NetCracker Technology Corporation Confidential |
6 |
Динамический анализ
•Отслеживание свойств программы во время исполнения
•Определяемые ошибки:
•Критические (деление на ноль и др.)
•Проблемы безопасности
•Проблемы с памятью
•Уязвимости безопасности
•Проблемы многопоточности
•Как это работает:
•Инструментируем приложение
•Исполняем его по определенным сценариям
•Как выглядят ошибки:
•Утечка памяти в файле X на строке L, соответствующая выделению памяти в файле X1 на строке L1
© 2013 NetCracker Technology Corporation Confidential |
7 |
Статический анализ
•Автоматизированный анализ исходного кода программы без его исполнения
•Виды анализа:
•Синтаксический (простые ошибки, стиль написания)
•Потоковый (ошибки динамической природы)
•Метрики
© 2013 NetCracker Technology Corporation Confidential |
8 |
Статический анализ
Parasoft Jtest находит ошибку в коде Apache- Ant-1.7.0beta1 (ClassNotFound-Exception не Обрабатывается должным образом и приводит к NPE)
© 2013 NetCracker Technology Corporation Confidential |
9 |
Code Review
•Просмотр кода участниками проекта
•Как выглядят ошибки:
•Вася, на этой строке кода у тебя может возникнуть целочисленное переполнение
•А здесь, в критически важном месте, у тебя неэффективный SQL-запрос
© 2013 NetCracker Technology Corporation Confidential |
10 |