Ответ
Жизненный цикл проекта разработки ПО описывает высокоуровневые этапы от идеи до поддержки. Классическая модель (Waterfall) и современные гибкие методологии (Agile) интерпретируют их по-разному.
Обобщённые фазы (на примере Waterfall):
- Инициация (Inception) — определение целей, объёма, стейкхолдеров и экономического обоснования. Создание устава проекта.
- Планирование (Planning) — детальное планирование сроков, ресурсов, бюджета, рисков. Создание плана управления проектом.
- Разработка и дизайн (Design & Development) — проектирование архитектуры и реализация функционала. Написание кода.
- Тестирование (Testing) — всесторонняя проверка качества: модульное, интеграционное, системное, приемочное тестирование.
- Внедрение (Deployment/Release) — развёртывание продукта в production-среде, релиз для конечных пользователей.
- Сопровождение и поддержка (Maintenance & Support) — исправление инцидентов, выпуск обновлений, техническая поддержка.
Ключевое отличие Agile/Scrum: Эти фазы не являются линейной последовательностью, а повторяются в каждом спринте (итерации длиной 1-4 недели). Каждый спринт включает мини-цикл: планирование спринта → разработка → тестирование → демонстрация → ретроспектива.
| Пример активности тестировщика на разных фазах: | Фаза | Деятельность QA |
|---|---|---|
| Планирование | Участие в оценке задач, планирование тестовой стратегии. | |
| Разработка | Написание автотестов, ревью требований, подготовка тестовых данных. | |
| Тестирование | Выполнение ручных и автоматизированных тестов, составление баг-репортов. | |
| Внедрение | Санити-тестирование на production-подобном окружении, проверка чек-листа релиза. | |
| Поддержка | Регрессионное тестирование после хотфиксов, анализ инцидентов от пользователей. |
Выбор модели жизненного цикла (Waterfall, V-Model, Agile, DevOps) напрямую влияет на организацию работы тестировщиков и их вовлечённость в процесс.