В разработке программного обеспечения динамическое тестирование (или динамический анализ ) изучает реакцию программной системы на конкретные входные данные ( тестовый случай ) во время выполнения .
Тесты можно запускать вручную или с помощью автоматизации .
Модульное тестирование , интеграционное тестирование , системное тестирование и приемочное тестирование являются формами динамического тестирования.
В отличие от статического тестирования , программное обеспечение должно быть работоспособным.
Оценка
Сторонники динамического тестирования утверждают, что:
- может определить слабые места в среде выполнения
- поддерживает анализ приложений, даже если тестировщик не может получить доступ к исходному коду
- может выявлять уязвимости, которые трудно обнаружить с помощью статического тестирования
- может проверить правильность результатов статического тестирования
Критики отмечают, что:
- Автоматизированные инструменты могут давать неправильные данные о безопасности, например, проверять все
- Автоматизированные инструменты могут генерировать ложные положительные и отрицательные результаты
- Динамическое тестирование затрудняет отслеживание уязвимостей в коде, а устранение проблемы занимает больше времени, поэтому исправление ошибок обходится дорого.
Смотрите также
Ссылки
- Г. Дж. Майерс, Искусство тестирования программного обеспечения , John Wiley and Sons , Нью-Йорк, Нью-Йорк, 1979.
Внешние ссылки
- Динамическое тестирование программного обеспечения приложений MPI с арбитром