Жизненный цикл разработки ПО (SDLC, STLC)
Жизненный цикл разработки ПО (SDLC, STLC)
SDLC: Software Development Life Cycle
SDLC — это последовательность этапов, через которые проходит любой программный продукт от идеи до вывода из эксплуатации. На разных проектах названия и количество этапов чуть разные, но базовая структура одна:
- Сбор и анализ требований (Requirements). Что нужно сделать, для кого, какие ограничения.
- Планирование и проектирование (Design). Архитектура, технологии, дизайн интерфейса, тестовая стратегия.
- Разработка (Development / Implementation). Написание кода и unit-тестов.
- Тестирование (Testing). Проверка соответствия требованиям, поиск дефектов.
- Развёртывание / релиз (Deployment). Доставка продукта пользователям.
- Сопровождение (Maintenance). Багфиксы, обновления, мониторинг, развитие.
Это общая канва. Разные методологии (Waterfall, Agile, V-Model) по-разному организуют переходы между этапами — этому будет отдельный урок 1.7.
Где появляется тестировщик
Распространённая ошибка — думать, что тестировщик включается на этапе «Тестирование». На самом деле зрелые команды вовлекают QA с самого начала:
- На этапе требований — задаёт уточняющие вопросы, ловит противоречия, предлагает кейсы, о которых забыли аналитик и продакт.
- На этапе дизайна — проверяет, можно ли вообще будет это протестировать, и закладывает тестовую стратегию.
- На этапе разработки — пишет тест-кейсы параллельно с кодом, готовит тестовые данные.
- На этапе тестирования — выполняет проверки, заводит баги, ретестит фиксы.
- На этапе сопровождения — проверяет hotfix-ы, расследует продакшен-инциденты, строит регресс.
Чем раньше QA включён — тем дешевле итоговое качество.
STLC: Software Testing Life Cycle
STLC — это «вложенный» цикл внутри SDLC, описывающий жизненный цикл именно тестирования. Стандартно выделяют 6 этапов:
1. Анализ требований (Requirement Analysis)
QA читает спецификации и юзер-стори. Цель — понять, что вообще должна делать система, и убедиться, что требования тестируемы (есть чёткие критерии «работает / не работает»).
2. Планирование тестирования (Test Planning)
Создаётся Test Plan: что будем тестировать, какими инструментами, каким составом, в какие сроки, какие риски. Здесь же определяется скоуп — что не входит в это тестирование.
3. Разработка тест-кейсов (Test Case Development)
Пишутся тест-кейсы и чек-листы на основании требований. Готовятся тестовые данные. Делается review — проверка тест-документации командой.
4. Подготовка окружения (Test Environment Setup)
Поднимается тестовый стенд: нужная версия приложения, чистая база, доступы, тестовые аккаунты, mock-сервисы. На этом же этапе делается smoke-тест окружения — проверяем, что среда вообще работает.
5. Выполнение тестов (Test Execution)
Прогон тест-кейсов, фиксация результатов, заведение баг-репортов. Ретест после фиксов, регрессия. На больших фичах этот этап повторяется несколько раз.
6. Завершение цикла (Test Closure)
Подготовка отчёта: что протестировано, какие баги остались, какие риски. Ретроспектива: что сработало, что нет, как улучшить процесс в следующий раз. Архивация артефактов.
Точки выхода (Exit Criteria)
В каждой фазе STLC есть критерии входа и выхода — условия, при которых можно переходить к следующей фазе. Примеры:
- Вход в Test Execution: тестовое окружение готово, тест-кейсы заревьюены, билд установлен.
- Выход из Test Execution: все запланированные тест-кейсы выполнены, все critical-баги пофикшены и подтверждены, осталось не более N багов minor severity.
Чёткие критерии не дают команде «пропихнуть» сырую фичу в продакшен под предлогом «ну вроде всё ок».
SDLC и STLC рядом

| SDLC | STLC |
|---|---|
| Сбор требований | Анализ требований |
| Дизайн | Планирование тестирования |
| Разработка | Разработка тест-кейсов + подготовка окружения |
| Тестирование | Выполнение тестов |
| Релиз / сопровождение | Завершение цикла + регрессия на следующих итерациях |
STLC не существует отдельно — он встроен в SDLC и его этапы идут параллельно с этапами разработки.
Что мы запомним
- SDLC — общий цикл разработки продукта: от требований до сопровождения.
- STLC — цикл тестирования внутри SDLC, состоит из 6 этапов от анализа требований до отчёта.
- QA включается на самом раннем этапе — это уменьшает стоимость качества.
- Критерии входа и выхода между фазами — главный инструмент защиты от «недотестированных» релизов.