Ответ
SDLC (Software Development Life Cycle) — это структурированный процесс создания ПО, где тестирование не изолированный этап, а непрерывная активность. Основные фазы и роль тестирования в них:
-
Сбор и анализ требований: Тестировщик участвует в уточнении требований, задавая вопросы на предмет двусмысленностей, проверяемости и полноты. На выходе — начало формирования тест-аналитики и чек-листов.
-
Проектирование (Design): Проектируется архитектура. Тестировщик оценивает тестируемость архитектуры, планирует необходимые тестовые среды и инструменты. Создаются первые высокоуровневые тест-планы.
-
Разработка (Implementation): Пока разработчики пишут код, тестировщик:
- Пишет и автоматизирует тест-кейсы на основе спецификаций.
- Выполняет статическое тестирование (ревью кода, требований).
- Запускает ранние smoke-тесты на сборках.
-
Фаза активного тестирования (Testing): Выполняется основной объем динамического тестирования:
- Функциональное тестирование (по чек-листам и тест-кейсам).
- Нефункциональное тестирование (нагрузка, безопасность, UX).
- Регрессионное тестирование после исправления багов.
- Автоматизированный прогон регрессионных сьютов.
-
Внедрение (Deployment): Тестировщик проводит санитарное (smoke) и приемочное (UAT) тестирование на production-подобной среде, чтобы убедиться в готовности к выпуску.
-
Сопровождение (Maintenance): После релиза тестируются исправления багов и минорные обновления. Актуализируется набор автоматизированных тестов.
Ключевой современный тренд — смещение тестирования влево (Shift-Left): вовлечение QA на самых ранних этапах для профилактики дефектов, а не их поиска в конце. В Agile/DevOps тестирование интегрировано в каждый спринт, а автоматизация является неотъемлемой частью CI/CD-пайплайна.