SDLC (Software Development Life Cycle) — это структурированный процесс, описывающий этапы создания программного обеспечения от идеи до вывода из эксплуатации.
Основные этапы:
- Планирование (Planning): Определение целей, требований, ресурсов, сроков и рисков проекта.
- Анализ требований (Requirements Analysis): Сбор, документирование и валидация детальных функциональных и нефункциональных требований к ПО.
- Проектирование (Design): Разработка архитектуры системы, компонентов, интерфейсов, базы данных и пользовательского интерфейса.
- Реализация (Implementation / Coding): Написание кода в соответствии с проектной документацией.
- Тестирование (Testing): Выполнение различных видов тестирования (модульного, интеграционного, системного, приемочного) для выявления дефектов.
- Развертывание (Deployment): Установка и настройка ПО в производственной среде.
- Эксплуатация и поддержка (Maintenance): Мониторинг работы системы, устранение ошибок, внесение изменений и обновлений.
Модели SDLC:
- Waterfall: Последовательная модель, где каждый этап завершается до начала следующего.
- Agile: Итеративная и инкрементальная модель, фокусирующаяся на гибкости и взаимодействии. Популярные фреймворки: Scrum, Kanban.
- V-Model: Модель, где каждый этап разработки имеет соответствующий этап тестирования.
- Spiral: Итеративная модель, сочетающая элементы Waterfall и прототипирования, с управлением рисками на каждом витке.
Роль QA в SDLC:
QA участвует на всех этапах SDLC, начиная с анализа требований для предотвращения дефектов (Shift-Left Testing), участвуя в проектировании тест-кейсов, выполняя тестирование на этапах реализации и тестирования, а также участвуя в поддержке.