Функциональное тестирование проводится на разных уровнях в течение всего цикла разработки и сопровождения ПО.
В общем случае выделяют 3 основных уровня:
- Модульное тестирование или компонентное тестирование (UNIT test)
- Интеграционное тестирование
- Системное тестирование
И несколько дополнительных:
- Приемочное тестирование
- Регрессионное тестирование
Графически уровни тестирования ПО можно представить в виде схемы:
Простыми словами сначала производится модульное тестирование, т.е. тестирование отдельных частей системы, затем производится интеграция (тестирование взаимосвязей частей программы и модулей в целом). После этого производится тестирование системы в целом (системное тестирование) на основе всех компонентов и модулей.
Дополнительно к основным уровням добавляют приемочное тестирование, т.е. соответствие системы приемочным критериям, а также регрессионное тестирование, которое проверяет качество продукта после внесения изменений.