docs: add mvp test audit gates
This commit is contained in:
@@ -348,7 +348,32 @@ P2:
|
|||||||
- Create issue.
|
- Create issue.
|
||||||
- Create review decision.
|
- Create review decision.
|
||||||
|
|
||||||
## 17. Definition of Done MVP
|
## 17. Test/Audit gates theo milestone
|
||||||
|
|
||||||
|
Mỗi milestone phải có một điểm dừng kiểm chứng trước khi chuyển sang milestone tiếp theo. Không đóng milestone chỉ vì code đã merge; phải có bằng chứng test, audit và khả năng rollback/debug.
|
||||||
|
|
||||||
|
| Milestone | Test gate bắt buộc | Audit/observability gate bắt buộc | Bằng chứng nghiệm thu |
|
||||||
|
| -------------------------- | ------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------- |
|
||||||
|
| M0 - Foundation | Build CI, migration dry-run, health check API. | Log có `correlationId`, health check DB/storage/queue. | Link pipeline xanh, ảnh/chụp log health check. |
|
||||||
|
| M1 - Auth | Unit test token, integration test `/auth/accesscode` và `/auth/token`. | Audit login, token create, token revoke. | Connector add account thành công bằng server local/staging. |
|
||||||
|
| M2 - Project/Model/Version | GraphQL contract test cho `streamCreate`, `branchCreate`, `commitCreate`, query `project/stream`. | Audit project create/update, model create, version create. | Replay query thật từ connector pass. |
|
||||||
|
| M3 - Object upload/pull | Integration test `diff -> upload -> getobjects`, test upload lại không duplicate. | Metrics object count, upload bytes, duration, error rate. | Connector push/pull model thật thành công. |
|
||||||
|
| M4 - Blazor Viewer | Playwright smoke test viewer page, JS bridge dispose/load test. | Viewer load progress, object stream errors, selected object logs. | Mở được model từ Blazor và chọn object xem property. |
|
||||||
|
| M5 - File Import | Job state transition test, import success/fail integration test. | Audit file upload/import, job logs có `jobId`, `fileUploadId`. | Upload file mẫu tạo version xem được, file lỗi hiện failed. |
|
||||||
|
| M6 - Viewer Derivative | Test manifest/artifact publish/fail, fallback object stream. | Metrics derivative queue time, tile count, artifact bytes. | Model lớn load bằng derivative hoặc fallback rõ ràng. |
|
||||||
|
| M7 - Issue/Review | API/E2E test tạo issue từ viewer, review approve/reject. | Audit issue create/update, review decision. | Reviewer mở issue trong viewer khôi phục camera/selection. |
|
||||||
|
| M8 - Admin/Ops | Test retry job, revoke token, permission admin. | Audit admin action, dashboard job/error metrics. | Admin nhìn thấy job lỗi và retry được. |
|
||||||
|
|
||||||
|
Quy tắc bắt buộc:
|
||||||
|
|
||||||
|
- Mỗi milestone phải có checklist "pass/fail" trong PR hoặc release note nội bộ.
|
||||||
|
- Mỗi API compatibility thay đổi phải có contract test trước hoặc cùng PR.
|
||||||
|
- Mỗi luồng nền như import/derivative phải có job idempotency test.
|
||||||
|
- Mỗi endpoint ghi dữ liệu phải có audit event hoặc lý do rõ nếu không audit.
|
||||||
|
- Mỗi endpoint xử lý file/object lớn phải có log kích thước, thời gian, user/project và error code.
|
||||||
|
- Không triển khai milestone sau nếu gate của milestone trước chưa đạt, trừ khi có waiver được ghi trong task.
|
||||||
|
|
||||||
|
## 18. Definition of Done MVP
|
||||||
|
|
||||||
MVP hoàn thành khi:
|
MVP hoàn thành khi:
|
||||||
|
|
||||||
@@ -361,7 +386,7 @@ MVP hoàn thành khi:
|
|||||||
- Logs/metrics đủ để debug upload/import/viewer.
|
- Logs/metrics đủ để debug upload/import/viewer.
|
||||||
- Tài liệu API, data model, pipeline được cập nhật theo implementation thực tế.
|
- Tài liệu API, data model, pipeline được cập nhật theo implementation thực tế.
|
||||||
|
|
||||||
## 18. Rủi ro và phương án giảm
|
## 19. Rủi ro và phương án giảm
|
||||||
|
|
||||||
| Rủi ro | Giảm thiểu |
|
| Rủi ro | Giảm thiểu |
|
||||||
| ----------------------------------------- | ------------------------------------------------------------------------------- |
|
| ----------------------------------------- | ------------------------------------------------------------------------------- |
|
||||||
|
|||||||
Reference in New Issue
Block a user