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

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

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

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

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

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

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

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

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

Оценка

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

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

Недостатки

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

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

Рекомендации

  • G.J. Майерс, Искусство тестирования программного обеспечения, John Wiley and Sons, Нью-Йорк, Нью-Йорк, 1979.


внешняя ссылка