docs: закрытие продуктовых рисков и новый LDD baseline
This commit is contained in:
@@ -12,8 +12,9 @@
|
||||
`./gradlew evidenceCheck`.
|
||||
- **P1** — важное поведение/UX/контракт. Пробел показывается в отчёте, но не
|
||||
блокирует сборку.
|
||||
- **runtime** — проверка на реально поднятом стеке. Выполняется отдельным
|
||||
скриптом; в unit-CI может отсутствовать, но обязательна перед релизом.
|
||||
- **runtime** — проверка на реально поднятом стеке. Быстрый smoke
|
||||
(`scripts/ldd-smoke.sh`) выполняется в CI на каждом push/MR; полный
|
||||
runtime/scale — в `release-evidence` и обязателен перед релизом.
|
||||
|
||||
## Реестр
|
||||
|
||||
@@ -39,19 +40,22 @@
|
||||
# 2. Гейт свидетельств (P0 без evidence = fail)
|
||||
./gradlew evidenceCheck
|
||||
|
||||
# 3. Полный runtime-smoke на одноразовой БД
|
||||
# 3. Быстрый smoke полного стека (то же, что CI job smoke)
|
||||
./scripts/ldd-smoke.sh
|
||||
|
||||
# 4. Полный runtime-smoke + scale load на одноразовой БД
|
||||
./scripts/ldd-runtime.sh
|
||||
|
||||
# 4. Проверка upgrade с master-схемы
|
||||
# 5. Проверка upgrade с master-схемы
|
||||
./scripts/ldd-migration-upgrade.sh
|
||||
|
||||
# 5. Mutation testing критичных P0-компонентов
|
||||
# 6. Mutation testing критичных P0-компонентов
|
||||
./scripts/ldd-mutation.sh
|
||||
|
||||
# 6. Браузерный E2E (Playwright + Chromium)
|
||||
# 7. Браузерный E2E (Playwright + Chromium)
|
||||
./scripts/ldd-browser.sh
|
||||
|
||||
# 7. Полный release gate
|
||||
# 8. Полный release gate
|
||||
./scripts/ldd-release.sh
|
||||
```
|
||||
|
||||
@@ -74,26 +78,36 @@ Platform 6 из Spring Boot 4.
|
||||
доказательства.
|
||||
6. При переименовании теста обновляется `claims.json`; устаревшая ссылка —
|
||||
это gap, а не «забыли».
|
||||
7. Runtime-свидетельства обязательны перед релизом; CI проверяет unit/
|
||||
integration-слой.
|
||||
7. Runtime-свидетельства обязательны перед релизом; CI на каждом push/MR
|
||||
выполняет unit/integration-слой и быстрый smoke, полный release gate —
|
||||
для тегов (вручную для веток).
|
||||
|
||||
## Текущий baseline
|
||||
|
||||
Первый LDD-цикл выполнен 2026-10-27/28:
|
||||
LDD-циклы выполнены 2026-10-27/28; последний — после закрытия продуктовых
|
||||
рисков:
|
||||
|
||||
- **276 автоматических тестов**, 0 failures/errors;
|
||||
- **37 claims**: 20 P0 + 17 P1. P0 — доступы, повышение, жизненный цикл,
|
||||
профиль/скачивание, материалы/активы, миграция V13, аудит; P1 — группы,
|
||||
авторство, UI, контракты, импорт, копирование лаб, runtime, mutation и
|
||||
browser E2E;
|
||||
- **319 автоматических тестов**, 0 failures/errors;
|
||||
- **46 claims**: 25 P0 + 21 P1, **46/46 proven, P0 gaps = 0**. P0 — доступы,
|
||||
повышение, жизненный цикл, профиль/скачивание, материалы/активы
|
||||
(включая secure-by-default legacy-файлы), миграция V13, аудит, refresh-токены
|
||||
и их отзыв; P1 — группы, авторство, UI, контракты, импорт, копирование лаб,
|
||||
пагинация аудита, bulk-группы курса, runtime, mutation и browser E2E;
|
||||
- mutation testing: `CourseAccessService` 75% test strength,
|
||||
`PromotionPlanner` 69%;
|
||||
- Playwright: 4 сценария (admin, teacher, student/anonymous, сдача+mobile), все зелёные;
|
||||
- runtime-smoke, master-upgrade, mutation и browser E2E вынесены в отдельные
|
||||
скрипты.
|
||||
- Playwright: 4 сценария (admin, teacher, student/anonymous, сдача+mobile),
|
||||
все зелёные;
|
||||
- масштабный load: 100 групп / 1000 студентов, 125 параллельных чтений,
|
||||
0 ошибок, p95 < 1 с (порог p95 < 2 с);
|
||||
- CI: job `smoke` (`ldd-smoke.sh`) на каждом push/MR; полный
|
||||
`release-evidence` (`ldd-release.sh`) обязателен для тегов и ручной для
|
||||
веток.
|
||||
|
||||
В ходе E2E найден и исправлен реальный дефект: Jackson 3 не применял
|
||||
Kotlin-модуль, поэтому DTO с default-значениями требовали все поля JSON
|
||||
(например, создание студента без `firstName`/`basis` давало 400).
|
||||
|
||||
Результаты и остаточные ограничения — в `baseline-2026-10-27.md`.
|
||||
Остаточные ограничения: offset-пагинация аудита, N+1 в отдельных лабораторных
|
||||
списках/ведомости, отсутствие абсолютного лимита web-сессии. Legacy-активы,
|
||||
срок жизни JWT и «ведущие нули» больше не являются открытыми рисками.
|
||||
Результаты — в `baseline-2026-10-27.md`.
|
||||
|
||||
Reference in New Issue
Block a user