本章导读:验收标准是需求可测试化的“翻译层”,贯穿用户故事拆分、测试设计、QA验证全流程。本章从定义出发,厘清其与需求的本质差异,给出质量属性分类框架,并建立可测试性评判准则。

产品验收标准与QA协同质量门禁 - 第1节

1.1 适用场景

验收标准并非对所有需求场景同等适用。以下场景必须显式定义验收标准:

  • 用户故事(User Story):在Sprint计划中,每个故事必须附带验收标准才能进入开发。
  • 功能需求:新增/变更的功能点,需通过验收标准明确“做完”的定义。
  • 非功能需求:性能、安全、可用性等维度,必须用可量化的验收标准约束。
  • 缺陷修复:修复验证的标准需要与原始需求验收标准对齐。
  • 第三方集成:接口对接、数据同步等边界场景,验收标准是联调通过的依据。

1.2 前置条件

制定验收标准前,团队需具备以下条件:

  1. 需求已通过需求评审,核心业务逻辑无二义性。
  2. 产品负责人(PO)与开发、QA三方已对齐需求上下文。
  3. 团队已确定本次迭代的DoD(完成的定义)基线。
  4. 具备可用的测试环境或测试桩说明。

1.3 验收标准核心定义

验收标准是一组可执行的断言集合,用于判断一个需求是否满足预期。它不是需求的复述,而是需求的可测试化映射。

对比维度 需求 验收标准
语言风格 自然语言、业务描述 结构化、条件化、可验证
粒度 宏观功能或用户目标 原子级场景/规则
立场 用户/业务视角 QA/测试验证视角
可测性 可能模糊、抽象 必须可验证通过/失败
变更频率 随产品规划调整 需求确认后锁定,变更走评审
经验卡:验收标准写得好不好,用一个问题检验——“QA是否能在不看需求文档的情况下,仅凭验收标准设计出完整的测试用例?” 如果可以,说明标准已经到位。

1.4 质量属性分类框架

验收标准需要覆盖以下七个质量属性维度。每个维度对应不同的验证方法:

  • 功能正确性:输入→输出逻辑正确,包括边界值、异常流。
  • 性能:响应时间、吞吐量、并发数等量化指标。
  • 安全性:权限校验、数据加密、防注入等。
  • 可用性:UI交互符合预期,错误提示清晰。
  • 兼容性:浏览器/设备/系统版本覆盖。
  • 可维护性:日志输出、错误码规范、配置分离。
  • 可靠性:异常恢复、数据一致性、无崩溃。
常见反模式:验收标准只写“功能正确性”,忽略“性能”和“安全性”,导致上线后出现慢查或数据泄漏。分类框架是检查清单,缺一不可。

1.5 操作步骤:制定验收标准的标准流程

  1. 步骤一:解析需求——从需求中提取触发条件、执行动作、期望结果。
  2. 步骤二:按质量属性分类——将提取的要素归入1.4节中的七个维度。
  3. 步骤三:为每个属性编写断言——使用“如果…那么…”句式,确保无歧义。
  4. 步骤四:边界与异常补充——至少写出3个正常流 + 2个异常流验收标准。
  5. 步骤五:三方评审(PO+Dev+QA)——确保PO认可业务、Dev认可可实现、QA认可可测试。

1.6 输入输出物

类型 物项 说明
输入 需求文档 / 用户故事卡 包含功能描述、UI原型、业务规则
输出 验收标准清单(.md / 任务关联字段) 结构化列表,每条标注所属质量属性
输出 验收标准评审记录 三方确认签字,作为需求冻结依据

1.7 责任边界

  • 产品负责人(PO):负责验收标准的业务正确性和完整性。
  • 开发工程师(Dev):负责判断验收标准技术可行,并据此编写代码。
  • 测试工程师(QA):负责验收标准的可测试性审核,并将标准转化为测试用例。
  • Scrum Master:监督验收标准是否在Sprint计划阶段完成,避免事后补充。

1.8 记录材料

以下为验收标准记录的示范模板,建议存储在文档库或任务管理工具中:

# 验收标准清单 - [需求ID/故事名称]

## 功能正确性
- AC01:输入合法A值,系统应返回正确计算结果。
- AC02:输入非法字符,系统应提示“格式错误”并阻止提交。

## 性能
- AC03:在100ms内完成单次请求响应(95分位)。

## 安全性
- AC04:未登录用户无法访问API接口,返回401。

## 兼容性
- AC05:在Chrome 110+、Edge 110+、Safari 16+中UI渲染一致。

1.9 异常处理

异常场景 处理策略
需求变更导致验收标准过时 触发变更评审,更新验收标准并重新三方确认
验收标准存在二义性 PO立即澄清,修改为“如果…那么…”的确定句式
QA无法根据验收标准设计用例 标记为“不可测试”,退回给PO/Dev补充环境依赖或数据说明
开发实现与验收标准矛盾 识别矛盾点,逐条对齐;不能解决的升级至架构师决策

1.10 可测试性原则

任何一条验收标准必须通过“SMART”检验:

  • S(Specific):具体,不笼统。 ❌“系统响应快” → ✅“95%请求在200ms内完成”。
  • M(Measurable):可度量。 ❌“体验好” → ✅“首次内容绘制时间小于1.5s”。
  • A(Achievable):可达成。 ❌“100%无故障运行10年” → ✅“无故障运行48小时”。
  • R(Relevant):与需求相关。 ❌“数据库使用MySQL 8.0” → ✅(只在架构决策中出现,不在验收标准中重复)。
  • T(Testable):可验证。 ❌“系统应当安全” → ✅“未授权用户访问控制台,应在3秒内被拒绝并记录日志”。
校验工具:将每条验收标准代入“如果…那么…”模板。如果“那么”部分无法写成一个明确的pass/fail判断,则这条标准不满足可测试性,需要重写。
验收标准核心概念结构图 验收标准核心概念 验收标准 定义 & 断言集合 需求 vs 验收标准 质量属性 七大维度 可测试性原则 SMART检查 功能 | 性能 | 安全 可用 | 兼容 | 可维护 | 可靠 核心逻辑 需求 → 验收标准(断言化) → 质量属性覆盖 → 可测试性校验 → 三方评审 第1章 · 验收标准核心概念

1.11 本章验收标准检查清单

本章内容本身也需满足验收标准。以下是自检得分卡:

检查项 标准 通过条件
概念定义 验收标准与需求的差异已明确 读者能说出≥3个差异点
质量属性 七大分类无遗漏 可闭眼列举全部分类
可测试性 SMART原则可解释 每条标准能代入“如果…那么…”检验
流程步骤 五步法清晰可执行 QA可直接按步骤产出验收标准