Назад к вопросам
Middle
77
questionbank
Какие вы знаете Quality Gates?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Quality Gates (контрольные точки качества) — это набор критериев, которые должны быть выполнены до перехода к следующей фазе жизненного цикла разработки программного обеспечения (SDLC).
Примеры:
-
Планирование (Requirements/Design Phase):
- Требования задокументированы, однозначны и верифицируемы.
- Архитектура и дизайн утверждены.
- Оценки объемов работ согласованы.
-
Разработка (Development Phase):
- Успешное прохождение юнит-тестов (определенный процент покрытия кода).
- Прохождение статического анализа кода (отсутствие критических ошибок и нарушений стиля).
- Ревью кода проведено и приняты исправления.
-
Тестирование (Testing Phase):
- Прохождение интеграционных тестов.
- Прохождение системных тестов.
- Прохождение регрессионных тестов (определенный процент успеха).
- Приемочные тесты успешно выполнены (или есть список утвержденных дефектов для пропуска).
- Уровень критичности открытых дефектов соответствует критериям (например, нет критических или блокирующих дефектов).
- Покрытие тестами (например, требование к покрытию функциональности).
- Тестирование производительности и безопасности, если применимо, прошло успешно или с приемлемыми результатами.
- Документация (например, пользовательская, техническая) актуализирована.
-
Релиз (Release Phase):
- Все необходимые артефакты сборки готовы.
- План развертывания утвержден.
- План отката (rollback) утвержден.
- Выполнено тестирование в предпродакшен среде (UAT, Staging).
-
Поддержка (Maintenance Phase):
- Документация по решению проблем обновлена.
- Мониторинг настроен и функционирует.
Инструменты, которые используются для автоматизации Quality Gates:
- CI/CD системы: Jenkins, GitLab CI, GitHub Actions (для запуска тестов, анализа кода).
- Системы управления тестами: TestRail, Zephyr (для отслеживания результатов тестов).
- Инструменты статического анализа кода: SonarQube, Fortify, Checkstyle.
- Системы управления дефектами: Jira, Bugzilla (для отслеживания статуса дефектов).
- Инструменты покрытия кода: JaCoCo, Cobertura.
Пример интеграции Quality Gate в CI/CD пайплайн:
# Пример в .gitlab-ci.yml
stages:
- build
- test
- analyze
- deploy # После прохождения Quality Gate
build:
stage: build
script:
- mvn clean install
test:
stage: test
script:
- mvn test
artifacts: # Сохранение результатов тестов
paths:
- target/surefire-reports/
analyze:
stage: analyze
script:
- sonar-scanner # Запуск статического анализа через SonarQube
allow_failure: false # Пайплайн упадет, если SonarQube Quality Gate не пройден
variables:
SONAR_TOKEN: $SONAR_TOKEN # Токен для доступа к SonarQube
SONAR_HOST_URL: $SONAR_HOST_URL # Адрес SonarQube сервера
deploy:
stage: deploy
script:
- echo "Deploying..." # Действие, которое произойдет только после успешного прохождения всех предыдущих стадий (включая Quality Gate)
needs: # Указываем зависимости
- analyze