Небольшой ликбез по видам тестирования



Недавно в личной беседе выяснилось, что некоторые разработчики путают виды тестирования и уровни тестирования. В свое время мне помог разобраться ресурс www.protesting.ru во всех этих терминах.



В зависимости от преследуемых целей тестирования выделяют следующие виды:



Функциональные виды тестирования



Базируются на функциях и особенностях, а также взаимодействии с другими системами. Функциональные виды тестирования рассматривают внешнее поведение системы. Бывают следующие подвиды:



> Функциональное тестирование (Functional testing)

> Тестирование безопасности (Security and Access Control Testing)

> Тестирование взаимодействия (Interoperability Testing)



Более того функциональные виды тестирования могут иметь свои уровни, то есть то, над чем производятся тесты: над отдельным модулем, группой модулей или системой, в целом. Отсюда соответственно выделяют следующие уровни:



> Компонентное или Модульное тестирование (Component Testing or Unit Testing)

> Интеграционное тестирование (Integration Testing)

> Системное тестирование (System Testing)

> Приемочное тестирование (Acceptance Testing)



Нефункциональные виды тестирования



Описывают тесты, необходимые для определения характеристик программного обеспечения, которые могут быть измерены различными величинами. В целом, это тестирование того, "Как" система работает.



> Все виды тестирования производительности:

— нагрузочное тестирование (Performance and Load Testing)

— стрессовое тестирование (Stress Testing)

— тестирование стабильности или надежности (Stability / Reliability Testing)

— объемное тестирование (Volume Testing)

> Тестирование установки (Installation testing)

> Тестирование удобства пользования (Usability Testing)

> Тестирование на отказ и восстановление (Failover and Recovery Testing)

> Конфигурационное тестирование (Configuration Testing)

> Тестирование безопасности (Security and Access Control Testing)



Связанные с изменениями виды тестирования



После проведения необходимых изменений, таких как исправление бага/дефекта, программное обеспечение должно быть перетестировано (протестировано снова) для подтверждения того факта, что проблема была действительно решена.



> Дымовое тестирование (Smoke Testing)

> Регрессионное тестирование (Regression Testing)

> Тестирование сборки (Build Verification Test)

> Санитарное тестирование или проверка согласованности/исправности (Sanity Testing)



Хотите узнать больше деталей по каждому виду тестирования? Полистайте www.protesting.ru