完成OA治理审查矩阵(05-27-oa-product-flow-test-policy-audit)
这个提交包含在:
@@ -2,7 +2,7 @@
|
||||
|
||||
## Planning 口径
|
||||
|
||||
本子任务先保持 planning。总任务完成后,再启动测试覆盖专项。
|
||||
本子任务已作为测试覆盖审查完成。后续补测试属于代码实施任务,应按风险分批启动。
|
||||
|
||||
## 后续执行方式
|
||||
|
||||
@@ -16,3 +16,9 @@
|
||||
- 不自动创建真实业务数据。
|
||||
- 不执行真实付款、ERP 写入、企业微信写入或数据库重置。
|
||||
- 不把只读巡检误写成完整业务写入测试通过。
|
||||
|
||||
## 完成记录
|
||||
|
||||
- 已形成业务流到后端、PC、移动、企业微信、公网只读巡检的覆盖矩阵。
|
||||
- 已识别高缺口:制度签收、用印台账、发票验真真实 provider、Day 7 真实闭环。
|
||||
- 已保留 Testing State Capsule,说明本轮没有跑全量 Vitest/E2E。
|
||||
|
||||
@@ -21,10 +21,10 @@
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- [ ] 输出测试覆盖矩阵。
|
||||
- [ ] 明确每条业务流程是否有后端和前端覆盖。
|
||||
- [ ] 明确公网试运行只读巡检不能替代真实业务写入流程测试。
|
||||
- [ ] 给出第一批要补的测试清单和命令。
|
||||
- [x] 输出测试覆盖矩阵。
|
||||
- [x] 明确每条业务流程是否有后端和前端覆盖。
|
||||
- [x] 明确公网试运行只读巡检不能替代真实业务写入流程测试。
|
||||
- [x] 给出第一批要补的测试清单和命令。
|
||||
|
||||
## Out of Scope
|
||||
|
||||
@@ -46,3 +46,7 @@ git diff --check
|
||||
- Testing facts: `docs/测试规约与回归门禁.md`
|
||||
- Daily runner: `scripts/qa/run-oa-real-use-daily.sh`
|
||||
- Final readiness runner: `scripts/qa/run-oa-final-launch-readiness.sh`
|
||||
|
||||
## Completion Note
|
||||
|
||||
2026-05-27:审查型交付已完成,研究结论见 `research/test-coverage-matrix.md`。本轮不新增测试代码,后续缺口补齐需按业务流另起实施任务。
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
# 业务流程自动化测试覆盖矩阵
|
||||
|
||||
## Conclusion
|
||||
|
||||
当前测试不是空白,前端 Playwright 和后端 Vitest 覆盖已经很重。主要缺口集中在:制度签收、用印台账、发票验真真实 provider、合同/采购/付款的真实试运行样本证据,以及最终 Day 7 Go/No-Go 汇总。
|
||||
|
||||
## Tooling
|
||||
|
||||
| 层级 | 工具/命令 |
|
||||
| --- | --- |
|
||||
| Backend | `cd server && npm run prisma:validate && npm test` |
|
||||
| Frontend static | `cd client && npm run typecheck && npm run build` |
|
||||
| Frontend E2E | `cd client && npm run test:e2e` 或 focused Playwright |
|
||||
| UI governance | `node scripts/qa/check-ui-design-rules.mjs` |
|
||||
| Public smoke/readiness | `scripts/qa/run-oa-real-use-daily.sh`、`run-live-smoke-readiness.sh` |
|
||||
| Trellis governance | `python3 ./.trellis/scripts/task.py validate <task>`、`node scripts/qa/check-trellis-governance.mjs` |
|
||||
|
||||
## Coverage Matrix
|
||||
|
||||
| 业务流 | 后端覆盖 | 前端覆盖 | 公网/真实覆盖 | 缺口等级 | 建议 |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 登录/邮箱/找回密码 | `auth.login.test`、email service | `login-portal-ux.spec` | SMTP 已本地/部署验证 | 低 | 继续回归即可 |
|
||||
| 报销创建/提交/撤回 | `reimbursements.create/detail/withdraw` | `main-flow`、`r102`、`reimbursement-workflow-progress` | OAOPS1 只读;真实写入靠人工 | 中 | Day7 前补人工真实样本 |
|
||||
| PDF OCR/查重/附件 | `invoicePool.upload/patch/bindable`、`ocrJob`、`invoiceGovernance` | `invoice-ocr-flow`、`r111`、`r125` | live OCR 辅助复核 | 低/中 | 自动验真另列 |
|
||||
| 发票验真 | `verification.*`、`invoicePool/verification` | 票据中心未覆盖真实 provider | 无真实 provider | 高 | POC 后补 provider 单测和 E2E |
|
||||
| 审批中心/自审/转审 | `workflow.*`、`utils/workflow` | `workflow-*`、`permission-direct-access` | OAOPS1 只读 | 低/中 | 真实业务闭环继续人工 |
|
||||
| 付款批次/AP/回单 | `paymentBatches`、`financeLedger`、exports | `reimbursement-payment-batch-flow`、Wave4 | 历史公网短窗口和只读巡检 | 中 | Day7 真实付款闭环证据仍需人工 |
|
||||
| 采购/费用 | `purchase.*` | `procurement-flow`、移动采购页 | 只读巡检 | 中 | 真实采购样本和制度参数待补 |
|
||||
| 合同/项目 | `contractsRegistry`、`projects` | `project-workbench`、合同台账页面 | 只读巡检 | 中 | 合同归档/用印样本待补 |
|
||||
| 资产/盘点/移动扫码 | `assets.*`、inventory | `assets-flow`、MobileAssetScan | ASSET1 证据 | 低/中 | 账号交接证据待制度映射 |
|
||||
| 员工制度签收 | 员工培训/档案有部分 route 测试 | 无专门签收页 | 无 | 高 | 先人工签收;如阻断再开发 |
|
||||
| 权限/审计 | `permissions.*`、audit/export | `permission-direct-access`、`settings-governance` | OAOPS1 只读 | 低 | 继续每日巡检 |
|
||||
|
||||
## Focused Test Gap List
|
||||
|
||||
1. 发票验真 provider POC:provider adapter 单测、feature flag、费用控制、失败降级、票据中心动作 E2E。
|
||||
2. 制度签收:人工证据先行;若开发,需员工签收 API、不可抵赖记录、公告区分、权限与导出测试。
|
||||
3. 用印台账:如果现有合同台账字段不足,需合同/用印字段、附件审计、导出和权限测试。
|
||||
4. Day 7 真实闭环:人工真实报销、采购/费用、合同台账、付款/AP、权限/审计证据应汇总到 OALAUNCH1。
|
||||
5. 备份恢复:最终启用前仍需独立批准的受控恢复演练证据。
|
||||
|
||||
## Commands Observed This Round
|
||||
|
||||
- `node scripts/qa/check-ui-design-rules.mjs`:scanned 133 files, 0 findings.
|
||||
- 任务治理校验在收口阶段执行。
|
||||
|
||||
## Testing State Capsule
|
||||
|
||||
Goal: 建立业务流程测试覆盖矩阵,不新增测试代码。
|
||||
Repo signals: Backend Vitest, Frontend Playwright, Vite typecheck/build.
|
||||
Unit commands: 待最终收口执行 Trellis/task governance;未跑全量 Vitest。
|
||||
Integration commands: 未执行全量 E2E;本轮引用既有测试清单和 OAOPS1 公网证据。
|
||||
Assumptions: 审查型任务不要求跑完整回归,只要求识别覆盖和缺口。
|
||||
Last result: UI design static scan 0 findings.
|
||||
Next action: 后续专项按缺口补 focused tests。
|
||||
在新工单中引用
屏蔽一个用户