Тестирование¶
Пирамида тестов¶
| Уровень | Инструменты | Покрытие / объём | Когда запускается |
|---|---|---|---|
| Модульные | 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 | Опечатка в интерфейсе | По плану бэклога |