P10 backlog triage (implement B5+A5; A6 already fixed in-tree, D5 keep shared KB, R1 separate task, R4/R5/R6/R7 no-go with evidence): - quote: ValidateInput (empty names/hours, negative/NaN/Inf fail-closed); reviewSummary invariants (line sums = total; buffer 20%/margin 40%/tax 7% rate self-consistency) enforced before Excel write - squad: StepSpec.Critical *bool (nil=critical default); non-critical step failure marks step degraded + gov audit, workflow continues, final status degraded with DegradedSteps list; critical failure semantics unchanged - tests: 5 new cases (quote 3 + squad 2), full short suite green, arch-check pass
2.7 KiB
2.7 KiB
P10 backlog 价值评估与择优实施 测试报告
一、 测试背景 (Background)
总控 P10:两份 backlog(p6-backlog + rdev-phase2)逐项评估定做/不做。评估结论:B5(报价校验复核)与 A5(小队非关键降级)本批实施;A6/D5/R1/R4–R7 登记不做(依据见 任务文)。
二、 测试目标 (Test Objectives)
- B5:
quote输入校验 fail-closed(空名/空表/负值/NaN/Inf);复核不变式(行合计=总额、buffer/margin/tax 费率自洽)。 - A5:非关键步骤失败转
degraded继续;关键步骤失败行为不变。
三、 测试方案与环境 (Test Plan & Environment)
- OS:Linux;Go 1.27.1;worktree
.worktrees/backlog-triage-p10-2026-09-25(base dev4bdbb0da)。 - 层级:工程层单测(真实 WorkspaceEngine/PrepareWorkspace + fail-first backend)。
四、 预期结果 (Expected Results)
| # | 用例 | 预期 |
|---|---|---|
| T1 | TestValidateInput(7 组畸形输入) |
全部拒绝;合法输入通过 |
| T2 | TestCalculateAndFillRejectsBadInput |
NaN hours 返回 error、无文件产出 |
| T3 | TestReviewSummaryRateInvariants |
自洽数据通过;buffer 失衡被拒 |
| T4 | TestNonCriticalStepDegradesAndContinues |
Success=true + DegradedSteps=[step_01] + wf=degraded + step_02 completed |
| T5 | TestCriticalStepFailureStillAborts |
err 非 nil + wf=failed + 后续步骤不跑 |
五、 实际测试结果与判定 (Actual Results & Evaluation)
- T1:PASS(7/7 畸形拒绝 + 合法通过)
- T2:PASS
- T3:PASS(初版测试数据 TotalPrice 与行合计不一致被正确拦截——复核器按预期工作;修正测试夹具后通过)
- T4:PASS(backend.calls=2 证明降级后续跑;
step_degraded治理审计落gov_audit) - T5:PASS(backend.calls=1,默认关键语义零变更)
- 全量:
go test -short ./...无 FAIL;arch-check --mode blockproduction gate passed
六、 自动化测试套件汇总 (Test Suite Execution)
| 套件 | 结果 |
|---|---|
go test ./internal/quote/ |
PASS(4 用例含既有 TestCDOQuoteGeneration) |
go test ./internal/squad/ |
PASS(含 2 新用例 + 既有全量) |
go test -short ./...(全仓) |
PASS(0 FAIL) |
arch-check --mode block |
PASS |
七、 测试结论与后续优化建议 (Conclusion & Next Steps)
- B5/A5 达到交付终点;A6(已修复)、D5(维持共享)、R1(另立任务)、R4/R5/R6/R7(前置未满足/已落地/低优)评估结论入档。
- 后续:R1 N/A 生成模式若启动需跨 manifest/bizdev/squad/前端四点联动独立认领;squad 并行组降级(本批只覆盖串行路径)可作 A5 二期。