# 验收标准(AC)— 依据 prd.md v1.24,14 条 FR 全覆盖 > 格式:Given/When/Then;编号 AC-{FR后缀}-{序号};每条 FR ≥1 正常 + ≥1 异常/边界。 > 分期标注同 FR:①一期 ②二期 ③三期。 ## AC-001 用户需求管理(FR-001,复用+②) - **AC-001-1(正常路径)** - Given:业务部门在系统创建用户需求并提交评审 - When:全员评审通过(userReview) - Then:status=active;revieweddate 落库(=审批时间口径);二期后 activateddate 同步落库 - **AC-001-2(异常路径)** - Given:需求处于 reviewing - When:评审不通过(revieweResult=0) - Then:需求关闭,closedby/closeddate/closedreason 落库 ## AC-002 需求讨论会与纪要 MD(FR-002,②) - **AC-002-1(正常路径)** - Given:已创建会议(关联用户需求) - When:上传 .md 会议纪要(可多次) - Then:zt_file(objectType=meeting) 新增附件;列表显示操作人(addedBy)/操作时间(addedDate)/会议人(users);点击在线渲染;zt_meeting.url 刷新为最新一份 - **AC-002-2(边界)** - Given:上传 PDF/图片格式纪要 - Then:维持下载查看,不渲染 - **AC-002-3(异常/匹配)** - Given:需求 ID=12,存在关联需求 112 的会议 - When:查看需求 12 的「需求讨论会议」tab - Then:仅列出 FIND_IN_SET 精确匹配需求 12 的会议,不误中 112 ## AC-003 PRD 文档管理(FR-003,复用+②) - **AC-003-1(正常路径)** - Given:PRD 定稿(pmassist 产出 .md) - When:经 /common/upload 上传至需求(FileTypes.story/userStory) - Then:附件列表可见可下载;生成时间记入工作日志 MD(prd_version 类,FR-011) - **AC-003-2(边界)** - Given:同一需求上传多版 PRD - Then:多份按上传时间排列,历史均可下载 ## AC-004 需求级 AI 工作量指标(FR-004,①+②) - **AC-004-1(正常路径)** - Given:框架完成评估 - When:调 /zt-story-expand/saveOrUpdate(含 aiParticipationRate) - Then:zt_story_expand 落库,含 ai_participation_rate 新列 - **AC-004-2(幂等)** - Given:同 storyId 已存在记录 - When:再次提交 - Then:更新不新增(一行记录) - **AC-004-3(异常)** - Given:需求 requirementStatus=finished - When:再次提交变更 - Then:拒绝(沿用现有 finished 锁定规则) ## AC-005 验收标准与测试用例管理(FR-005,复用) - **AC-005-1(验证)** - Given:研发需求已录入验收标准(verify)与用例 - Then:详情页展示验收标准富文本;用例评审链(story-case)可流转 ## AC-006 研发任务双通道(FR-006,②) - **AC-006-1(正常路径)** - Given:合法 aiBatchAdd 报文(含 devel/test 任务) - When:提交 - Then:任务批量创建:status=wait、创建人=ai、estimate=aiEvaluationTime;响应返回 taskIds;测试任务指派测试人员 - **AC-006-2(异常路径)* - Given:storyId 不存在或 type 非法 - Then:整批拒绝,code≠0,零入库 - **AC-006-3(防重)** - Given:同 storyId+name+type 已存在 - Then:跳过并记入 skipped,其余正常创建 ## AC-007 任务级 AI 工时(FR-007,豁免验证) - **AC-007-1(正常路径)** - When:aiBatchAdd 创建任务 - Then:zt_task.estimate=报文 aiEvaluationTime(标准字段直接可用,无扩展表) - **AC-007-2(豁免)** - Then:数据库中不存在 zt_task_extend 表(CHG-019 不建) ## AC-008 AI 代码审查报告 MD(FR-008,②) - **AC-008-1(正常路径)** - Given:需求下全部开发任务完工 - When:uploadBind 上传审查 MD(objectType=aiCodeReview) - Then:zt_file 落附件;code_review_url 刷新;code_review_status 写入(pass/reject);详情页在线查看 - **AC-008-2(SOP 卡点)** - Given:code_review_status≠pass(NULL 或 reject) - Then:「提交测试报告」按钮禁用 - **AC-008-3(多轮回炉)** - Given:第 1 轮 reject 后修复 - When:上传第 2 轮报告 - Then:url 刷新为最新;历史多份保留;extra.round 递增 - **AC-008-4(异常)** - Given:缺 storyId 或 objectType 非法 - Then:拒绝并返回错误 ## AC-009 测试任务与 BUG(FR-009,复用) - **AC-009-1(验证)** - Then:BUG 全流程可走通:提交→指派→修复→复测→验收(bugYs) ## AC-010 测试类文档 4 字段(FR-010,②) - **AC-010-1(用例/模版)** - Then:测试用例(testCase)与报告模版(testReport)可查看、可下载,不可上传覆盖 - **AC-010-2(提交)** - When:上传填完的报告(testReportSubmit) - Then:test_report_submit_url 刷新;FR-014 判定该项齐备 - **AC-010-3(其他文档)** - When:上传其他测试文档(testOther) - Then:test_other_url 刷新,可查看下载 ## AC-011 AI 工作日志 MD(FR-011,②) - **AC-011-1(正常路径)** - Given:框架节点产出日志 MD - When:upload_md.py --type aiWorkLog 上传 - Then:zt_file(aiWorkLog) 落附件、work_log_url 刷新、在线查看 - **AC-011-2(时效)** - Then:事件产生即传,不做月末批量补传;人工按钮为备选通道 ## AC-012 工作量指标完成率统计(FR-012,③) - **AC-012-1(正常路径)** - Given:zt_story_month_workload 当月有数据、考勤可用 - When:查询完成率 - Then:=Σ(月度工作量指数)÷(团队可用工作天数×5);测试人员不计入产出方 ## AC-013 九岗位绩效报表(FR-013,③) - **AC-013-1(规则配置化)** - Given:zt_perf_config 已灌入 7.5 权重规则 - Then:✅ 项自动产出;权重/阈值改动仅需改配置 - **AC-013-2(对拍验收)** - Given:最近 1~2 个已线下考核月份 - Then:系统算分与线下 Excel 一致或差异可解释 ## AC-014 大型需求文档齐备自动核查(FR-014,③) - **AC-014-1(正常路径)** - Given:大型需求(指数>20)五类文档齐全 - When:月度核查 - Then:五类全 ✓、不扣分、写 zt_doc_check 快照 - **AC-014-2(扣分)** - Given:缺 2 份 - Then:扣 4 分(每份 2 分)写 zt_month_score.scopeJson - **AC-014-3(判定源正确性)** - Then:《需求测试报告》以 zt_file(testReportSubmit) 为准(非 testReport 模版);《AI 文档更新记录》以 zt_file(aiWorkLog) 中 doc_update 类为准 - **AC-014-4(异议)** - Given:对判定结果申诉 - When:技术负责人复核撤销 - Then:回滚对应扣分并留痕