Quality Gates — это контрольные точки в процессе разработки ПО, где команда принимает решение о переходе к следующему этапу, основываясь на выполнении определенных критериев качества.
Основные этапы контроля качества или Quality Gates:
- Входные критерии (Entry Criteria): Проверка готовности к началу определенного этапа (например, теста). Включает наличие утвержденных требований, тестовой документации, подготовленной тестовой среды.
- Выходные критерии (Exit Criteria): Определение условий для завершения определенного этапа (например, тестирования). Часто включает:
- Покрытие тестами (структурное и функциональное).
- Пройденный процент критических и приоритетных тест-кейсов.
- Приемлемое количество и серьезность открытых дефектов.
- Прохождение регрессионного тестирования.
- Анализ статического кода (Static Code Analysis): Проверка исходного кода на наличие потенциальных ошибок, нарушений стандартов кодирования и уязвимостей с помощью автоматизированных инструментов (SonarQube, Checkstyle). Критерии могут включать:
- Отсутствие критических предупреждений.
- Допустимый уровень технического долга.
- Соответствие правилам форматирования.
- Результаты юнит-тестов (Unit Test Results): Проверка покрытия кода юнит-тестами и успешности их прохождения. Критерии:
- Заданный процент покрытия кода (например, 80%).
- Отсутствие упавших юнит-тестов.
- Результаты интеграционного (Integration Test Results) и системного тестирования (System Test Results): Оценка успешности тестов, выполняемых на разных уровнях интеграции. Критерии схожи с Exit Criteria, но применимы к соответствующему уровню тестирования.
- Результаты приемочного тестирования (Acceptance Test Results): Проверка соответствия продукта бизнес-требованиям глазами пользователя или заказчика. Критерии:
- Успешное прохождение ключевых бизнес-сценариев.
- Утверждение продукта заказчиком или представителем бизнеса.
- Анализ уязвимостей безопасности (Security Vulnerability Analysis): Проверка продукта на наличие известных уязвимостей с помощью сканеров безопасности (OWASP ZAP, Burp Suite). Критерии:
- Отсутствие критических уязвимостей.
- Приемлемый уровень уязвимостей средней и низкой критичности.
- Анализ производительности (Performance Analysis): Оценка соответствия продукта требованиям по времени отклика, пропускной способности и стабильности под нагрузкой. Критерии:
- Соответствие метрикам производительности.
- Отсутствие критических проблем при заданных нагрузках.
- Проверка документации (Documentation Check): Убеждение в наличии и актуальности необходимой документации (руководства пользователя, техническая документация, тестовые отчеты).
Примеры критериев для Exit Gate тестирования:
| Критерий | Значение / Статус | Комментарий |
|---|
| Процент пройденных тест-кейсов | > 95% (приоритет High/Medium) | Исключая тест-кейсы, заблокированные известными Defect's. |
| Открытые дефекты (Severity) | Critical: 0<br> High: <= 3<br> Medium/Low: Согласовано | Зависит от политики проекта и рисков. |
| Покрытие кода (Unit Tests) | > 80% | Целевое значение. |
| Результаты регрессии | Пройдено 100% критических регрессионных тестов | Проверка стабильности. |