Динамическое тестирование - Dynamic testing

Динамическое тестирование (или динамический анализ ) - это термин, используемый в программной инженерии для описания тестирования динамического поведения кода.

То есть динамический анализ относится к изучению физического отклика системы на переменные, которые не являются постоянными и изменяются со временем. При динамическом тестировании программное обеспечение фактически должно быть скомпилировано и запущено. Он включает в себя работу с программным обеспечением, предоставление входных значений и проверку того, соответствует ли результат ожидаемым, путем выполнения определенных тестовых примеров, которые могут быть выполнены вручную или с использованием автоматизированного процесса. В этом отличие от статического тестирования . Модульные тесты , интеграционные тесты , системные тесты и приемочные тесты используют динамическое тестирование. Юзабилити-тесты, включающие макетную версию, выполненную на бумаге или картоне, можно классифицировать как статические тесты, если учесть, что никакая программа не выполнялась; или, как динамические, если рассматривать взаимодействие между пользователями, и такая фиктивная версия, по сути, является самой базовой формой прототипа.

Основная процедура

Процесс и функции динамического тестирования при разработке программного обеспечения, динамическое тестирование можно разделить на модульное тестирование, интеграционное тестирование, системное тестирование, приемочное тестирование и, наконец, регрессионное тестирование.

Модульное тестирование - это тест, который фокусируется на правильности основных компонентов программного обеспечения. Модульное тестирование относится к категории тестирования белого ящика. Во всей системе контроля качества тестирование модулей должно быть выполнено группой продуктов, а затем программное обеспечение передается в отдел тестирования.

Интеграционное тестирование используется для определения того, правильно ли подключены интерфейсы между различными модулями в процессе интеграции всего программного обеспечения.

Тестирование программной системы, которая завершила интеграцию, называется системным тестом, и цель теста - убедиться, что правильность и производительность программной системы соответствуют требованиям, указанным в ее спецификациях. Тестировщики должны следовать установленному плану тестирования. При тестировании надежности и простоты использования программного обеспечения его входные, выходные и другие динамические рабочие характеристики следует сравнивать со спецификациями программного обеспечения. Если спецификация программного обеспечения неполна, системный тест больше зависит от опыта работы и суждения тестировщика, такого теста недостаточно. Системный тест - это тестирование черного ящика .

Это последний тест перед запуском программного обеспечения. Это испытательный процесс программного обеспечения покупателем. В реальной работе компании это обычно осуществляется путем обращения к заказчику с просьбой опробовать или выпустить бета-версию программного обеспечения. Приемочное испытание - это тестирование черного ящика .

Целью регрессионного тестирования является проверка и изменение результатов приемочного тестирования на этапе сопровождения программного обеспечения . В практических приложениях обработка жалоб клиентов является воплощением регрессионного тестирования.

Оценка

Преимущества

  • Динамическое тестирование может выявить слабые места в среде выполнения .
  • Динамическое тестирование поддерживает анализ приложений, даже если у тестировщика нет реального кода.
  • Динамическое тестирование может выявить некоторые уязвимости, которые сложно обнаружить статическим тестированием .
  • Динамическое тестирование также может проверить правильность результатов статического тестирования .
  • Динамическое тестирование можно применить к любому приложению.

Недостатки

  1. Автоматические инструменты могут дать неправильную защиту, например, проверить все.
  2. Автоматизированные инструменты могут генерировать ложные срабатывания и ложные отрицания.
  3. Найти подготовленных специалистов по динамическому тестированию непросто.
  4. При динамическом тестировании сложно отследить уязвимости в коде, и для устранения проблемы требуется больше времени. Поэтому исправление ошибок становится дорогостоящим.

Смотрите также

использованная литература

  • Дж. Дж. Майерс, Искусство тестирования программного обеспечения , Джон Вили и сыновья , Нью-Йорк, Нью-Йорк, 1979.


внешние ссылки