Перейти к содержанию

Тестирование

Пирамида тестов

Уровень Инструменты Покрытие / объём Когда запускается
Модульные pytest, pytest-asyncio ≥ 80 % строк бизнес-логики На каждый коммит (CI)
Контрактные Schemathesis по OpenAPI Все публичные эндпоинты На каждый Pull Request
Интеграционные pytest + Testcontainers (PostgreSQL, Redis, RabbitMQ) Ключевые сценарии сервисов На каждый Pull Request
E2E Playwright 12 сквозных сценариев «заявка → приёмка» Перед релизом
Нагрузочные Locust 500 активных перевозок, 200 RPS Перед релизом

Критерии приёмки релиза (Definition of Done)

  • Все автотесты зелёные, покрытие не снизилось.
  • Нет открытых дефектов с приоритетом Blocker/Critical.
  • p95 времени ответа API ≤ 300 мс под нагрузкой.
  • Обновлены Wiki, OpenAPI-спецификация и журнал изменений.
  • Демонстрация владельцу продукта проведена.

Классификация дефектов

Приоритет Пример Срок исправления
Blocker Невозможно создать заказ Hotfix в течение 4 часов
Critical Неверный расчёт стоимости До конца рабочего дня
Major Не отправляется уведомление о задержке В текущем спринте
Minor Опечатка в интерфейсе По плану бэклога