头图

研发需求的验收标准应该怎么写? | 敏捷实践

用户故事要经过 DoR 的考验才能被研发团队接受,只有扛住 DoD 的考核才能迈出走向客户第一步。点击了解 DoD 和 DoR :如何消减敏捷开发中的「认知偏差」?

在敏捷开发中,想要评估一个故事是否达到客户对需求的期待,就要让它去接受「验收标准」的考验:用户故事必须「通过」所有的验收标准,才算是真正地产生价值

20220804 配图1.png

DoD 是对迭代中「所有」工作事项或用户故事的「基本要求」,而验收标准则是对「特定」用户故事的「需求细节」进行的逐一验证。

一个工作项目是否能如质如期地完成,最重要的部分就取决于开工前是否有明确的「验收标准」。

一、 验收标准的目的

01 描述明确的需求范围

通过对验收标准的讨论,团队可以了解产品负责人与利益关系人对需求的期待,也能更明确地掌握需求的范围,方便估计时程与测试涵盖范围。

02 描述错误的案例处理

编写验收标准条例可以全方位地考虑需求可能会出现的限制与错误情况,并延伸对应的处理方式。在开发过程中,实现快乐路径(Happy Path)相对简单,但「错误/例外处理」却常常被遗漏掉。

03 增加共识的讨论模式

透过对验收标准的讨论,产品负责人和开发团队能够一次又一次地理解需求目的,确保对需求持有相同的理解,才能在最后的展示阶段完整地呈现结果。

04 提早列举出测试案例

书写验收标准的过程也是测试人员和产品负责人向开发团队说明和同步测试最低标准的过程。这样才不会出现开发产出越过测试,或待测试项目未完成开发等情况。

05 时程工期的有效估计

只有完成验收标准的讨论后,开发团队才能更好地明确需求和测试的范围,对需求开发做出更准确的估计,其中包括时间、人力的绝对估计,以及点数、大小的相对估计。

二、 验收标准的写法

常见验收标准的写法有三种,分别是情景式、规则式和习惯式。

01 情境式写法 Scenario-based

「情境式写法」是面向场景的,其信息描述最为完整,也因此在敏捷团队中被更广泛地传播和应用。

情境式写法的结构包含了以下五个元素,传递了「测试用例」和「价值交付」两方面信息。

  • 情境 Scenario:描述用户使用的场景/情景
  • 假定 Given:描述验收标准的预先设定条件
  • 当 When:描述用户在什么情况/操作下
  • 然后 Then:描述预期会发生的结果
  • 而且 And:描述预期会发生的更多结果


20220804 配图2.jpg

举个例子说明一下:

情境 用户帐号登录

Given 用户进入「账号登录」页面,

When 用户输入错误的用户名或登录密码时,

Then 登录页面会弹出「密码错误」的提示,

And 登录页面也会呈现「忘记密码」跳转入口。

02 规则式写法 Rule-based

「规则式写法」是用条列的方式列出所有需要验证的测试案例,通常是一份清单形式的文件。相比情景式写法,规则式的验收标准能覆盖更多、更广的测试范围,但也省略了对需求价值的描述和说明。

测试案例「用户账号登录」的验证规则如下:

  • 用户输入正确的账号、密码时,可以登入账号页面查看账号信息;
  • 用户输入存在的账号、错误的密码时,需要出现提示信息「密码错误」;
  • 用户输入不存在的账号时,需要出现提示信息「该账号不存在」;
  • 用户连续输入错误的密码超过三次时,需要出现提示信息「密码已错误三次,请重设密码(附跳转)」。

03 用户角度的习惯写法 Customer-based

有些测试人员可能会用流程图、思维导图、检核表等方式书写验收标准,但写法不是重点,能清楚呈现「验收标准」,说明客户需求期望的就是好方法。

三、 验收标准的八点误区

  1. 工作项目完成后才进行验收标准的讨论。
  2. 验收标准事无巨细,单一功能就有不同组合的测试。
  3. 验收标准范围太广,已经超过本次要进行的范围。
  4. 验收标准不是用户看到的情境,而是底层的技术细节。
  5. 团队对验收标准还没有达成共识就开始工作。
  6. 验收标准无法独立,需要其他验收标准的配合才能进行测试。
  7. 测试的条件是充满变数的,无法模拟的。
  8. 只由测试人员或产品负责人单向设计出的验收标准,开发团队事前不知情。

原文作者:Vince Huang

文章来源:Medium【文思不藏私】专栏

了解更多敏捷开发、项目管理、行业动态等消息,关注我们的sf账号-LigaAI~ 或者点击LigaAI-新一代智能研发协作平台,在线申请体验我们的产品。

全新的智能研发管理平台。持续产出敏捷开发、机器学习等干货内容ing……

46 声望
9 粉丝
0 条评论
推荐阅读
避雷!遇到这 5 种产品经理,就快跑吧!
你会发现有一些人总在妥协,而他们的特点也非常明显。一种是灭火达人。 产品着火了,利益相关者上火了,产品经理也火烧屁股了。他们每天被战火纷争的会议塞满,却完全没有交付价值,只是被推着不停修复 Bug 并匆...

LigaAI阅读 93

封面图
最好用的 python 库合集
🎈 分词 - jieba优秀的中文分词库,依靠中文词库,利用词库确定汉子之间关联的概率,形成分词结果 {代码...} 🎈 词云库 - wordcloud对数据中出现频率较高的 关键词 生成的一幅图像,予以视觉上的突出 {代码...} 🎈 ...

tiny极客11阅读 3.4k评论 2

封面图
花了几个月时间把 MySQL 重新巩固了一遍,梳理了一篇几万字 “超硬核” 的保姆式学习教程!(持续更新中~)
MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

民工哥14阅读 1.9k

封面图
疫情已过,2023 我的前端面试记录
顺利入职。把我最近找工作的心得记录下来。工作交接确定 lastday整理手头工作,相关对接人、交接人放文档中工作交接过渡阶段。做好被咨询者,该拉人拉人,该拉群拉群平时沟通顺畅的同事如果没有 WX 可以加一个属...

linong11阅读 1.1k

思否 CTO 祁宁:社区问答是激荡高级智慧的头脑风暴
在祁宁家里,有一套完整的赛车模拟器,他甚至还请人到国外代购了最新的 VR 设备。作为沉浸式赛车游戏发烧友,除了享受速度与激情带来的愉悦感,祁宁在玩的过程中更多的是思考如何将技术能力进行产品化的问题。

万事ONES6阅读 12.9k评论 1

封面图
「刷起来」Go必看的进阶面试题详解
逃逸分析是Go语言中的一项重要优化技术,可以帮助程序减少内存分配和垃圾回收的开销,从而提高程序的性能。下面是一道涉及逃逸分析的面试题及其详解。

王中阳Go4阅读 1.9k评论 1

封面图
Fork:剖析「云计算大楼」中的每一块砖|开发者说
当时,随着移动互联网大潮的涌起,七牛云的图片、音视频存储业务获得迅猛发展,主要目标客户是各式各样的移动应用 App。面对层出不穷的 App,七牛云的销售人员希望精挑细选,从而挖掘到更有价值的客户。于是,他...

万事ONES3阅读 12.7k评论 1

封面图

全新的智能研发管理平台。持续产出敏捷开发、机器学习等干货内容ing……

46 声望
9 粉丝
宣传栏