Сценарии E2E#
Документ задает целевые end-to-end сценарии для poultry-кейсов на уровне бизнес-потока.
1. Scope#
Контур:
poultry.broiler,poultry.layer.Модули:
climate,flock,feedwater,production,alarms.Системные зависимости:
status,modules,app/context,industry alarm-bus.
2. Общие предусловия#
Активная отрасль в контексте:
poultry.Площадка и птичник заведены (
tenant_id,site_id,house_id).Включены целевые poultry-модули на площадке (site-policy).
Создан и опубликован нормативный профиль poultry (минимум
climate + alarms).В тестовом стенде доступны симуляторы источников telemetry (климат, вода, корм).
3. Сценарий E2E-BR-01: полный цикл партии бройлера#
Цель: подтвердить корректность age/phase-driven управления микроклиматом и тревог.
Шаги:
Создать
batchдляbroilerи привязать age-фазы (day_1,day_7,day_21).Опубликовать профиль
climate_profileс уставками по фазам.Подать telemetry в нормальном диапазоне для
day_1.Переключить фазу до
day_7и проверить обновление целевых setpoint.Подать telemetry с критическим превышением температуры.
Проверить создание события в poultry alarm-bus и bridge в
status.Подтвердить обработку тревоги оператором и восстановление в норму.
Проверить расчет KPI цикла (минимум: сохранность, feed conversion proxy).
Критерии приемки:
Фазовый переход меняет активные уставки без ручного патча профиля.
Критическое отклонение создает
severity=criticalиpriority=P1.В
statusпоявляется агрегированное событие с тем жеcorrelation_id.После нормализации формируется закрывающее/нормализующее событие.
4. Сценарий E2E-LY-01: продуктивность несушки#
Цель: подтвердить связку программ света/воды/корма с KPI продуктивности несушки.
Шаги:
Создать
batchтипаlayerи профиль световой программы.Подать baseline telemetry по климату, воде и корму.
Записать производственные данные смены (яйценоскость, процент брака).
Смоделировать снижение водопотребления ниже порога.
Проверить генерацию тревоги
high/medium(по policy) и создание задачи оператору.Выполнить корректирующее действие и повторно подать telemetry.
Проверить восстановление KPI до целевого диапазона.
Критерии приемки:
KPI продуктивности рассчитываются на окне смены/суток.
Аномалия воды/корма вызывает тревогу по согласованному правилу.
Действия оператора отражаются в аудите и влияют на следующую оценку KPI.
5. Данные и фикстуры#
Базовые фикстуры:
tenant_id=tenant-e2e-poultrysite_id=site-e2e-01house_id=house-a1industry_code=poultry
Наборы данных:
telemetry_normal.jsontelemetry_heat_stress.jsontelemetry_feedwater_anomaly.jsonproduction_shift_layer.json
6. Наблюдаемость и артефакты прогона#
Для каждого прогона сохранять:
логи запросов API (ключевые endpoint-ы);
снимки
status/listи poultry alarm-list;итоговый отчет KPI до/после инцидента;
таблицу
step -> expected -> actual.
Минимальный отчет по сценарию:
scenario_idrun_started_atresult(pass|fail)failed_step(если есть)linksна логи/артефакты.
7. Очередь автоматизации#
Подготовить backend test-fixtures и deterministic seed для poultry.
Добавить contract checks envelope/meta/error для poultry endpoint-ов.
Собрать Playwright e2e flow:
smoke path для
BR-01(критичный инцидент + восстановление),smoke path для
LY-01(продуктивность + аномалия).
Подключить в CI как nightly
poultry-e2e.