docs: завершить LDD baseline и release evidence
This commit is contained in:
@@ -488,16 +488,56 @@
|
||||
},
|
||||
{
|
||||
"id": "LDD-BROWSER-001",
|
||||
"title": "Браузерный E2E админа, преподавателя и студента",
|
||||
"title": "Браузерный E2E админа, преподавателя и студента, включая сдачу и mobile",
|
||||
"criticality": "P1",
|
||||
"status": "active",
|
||||
"requirement": "docs/evidence/README.md",
|
||||
"claim": "Playwright на реальном стеке: admin видит курс и аудит, teacher открывает курс/ведомость/профиль и создаёт главу, аноним и студент не попадают в админку.",
|
||||
"claim": "Playwright на реальном стеке: admin видит курс и аудит; teacher открывает курс/ведомость/профиль, создаёт главу и видит mobile-вид; student сдаёт файл; аноним и студент не попадают в админку.",
|
||||
"oracle": "Playwright assertions на DOM/URL",
|
||||
"runtime": [
|
||||
"browser.e2e"
|
||||
],
|
||||
"limitations": "Один Chromium, один сценарий на роль; визуальная регрессия и мобильные размеры не проверяются."
|
||||
"limitations": "4 сценария, один Chromium; нет визуальной регрессии и Safari/Firefox."
|
||||
},
|
||||
{
|
||||
"id": "LDD-RUNTIME-002",
|
||||
"title": "Нагрузочный smoke чтения курса, лаб, профиля и аудита",
|
||||
"criticality": "P1",
|
||||
"status": "active",
|
||||
"requirement": "docs/evidence/README.md",
|
||||
"claim": "100 параллельных чтений (10 workers) через gateway дают 0 ошибок и p95 < 2 c.",
|
||||
"oracle": "HTTP status + latency percentiles",
|
||||
"runtime": [
|
||||
"runtime.load_gradebook_profile"
|
||||
],
|
||||
"limitations": "Smoke, не benchmark; одна машина и синтетические данные, без SLA production."
|
||||
},
|
||||
{
|
||||
"id": "LDD-PROM-006",
|
||||
"title": "Конкурентные apply/rollback одного запуска повышения",
|
||||
"criticality": "P0",
|
||||
"status": "active",
|
||||
"requirement": "docs/07-groups-courses.md, §7",
|
||||
"claim": "Два одновременных apply не дублируют историю; два одновременных rollback дают ровно один успех и один конфликт, состояние восстанавливается один раз.",
|
||||
"oracle": "Результаты двух потоков, количество APPLY/ROLLBACK и history",
|
||||
"evidence": [
|
||||
"ru.ysu.lms.identity.promotion.PromotionConcurrencyIntegrationTest#concurrent apply of one run is idempotent and writes history once()",
|
||||
"ru.ysu.lms.identity.promotion.PromotionConcurrencyIntegrationTest#concurrent rollback allows exactly one rollback and restores once()"
|
||||
],
|
||||
"limitations": "Два потока в одном JVM; распределённая нагрузка и несколько инстансов проверяются advisory lock-ом, но не chaos-тестом."
|
||||
},
|
||||
{
|
||||
"id": "LDD-PROM-007",
|
||||
"title": "Транзакционный apply/rollback на сгенерированных когортах",
|
||||
"criticality": "P1",
|
||||
"status": "active",
|
||||
"requirement": "docs/07-groups-courses.md, §7",
|
||||
"claim": "Для 10 сгенерированных когорт apply приводит группу к плану, а rollback возвращает точный before-state и активный статус студента.",
|
||||
"oracle": "Сравнение состояния группы/студента до, после apply и после rollback",
|
||||
"evidence": [
|
||||
"ru.ysu.lms.identity.promotion.PromotionApplyRollbackPropertyTest#generated cohorts apply to plan and rollback to before-state()"
|
||||
],
|
||||
"limitations": "10 детерминированных сценариев в одной транзакции; не заменяет property-генератор по всем полям."
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user