作者|余晓楠提倡敏捷质量实践中的测试左移,测试人员应尽早介入需求阶段,越早越好。测试人员需要关注需求的有效性,以及在需求生成和交付过程中交付价值是否被准确描述、理解和对齐。在这个过程中,很容易遇到一个普遍的问题:验收标准是要通过验收测试来检验的吗?验收标准是测试用例吗?两者有什么区别和联系?本文主要想解决这个具体问题。困惑。验收准则是保证需求实现的最小验收准则集合验收准则是什么回顾一下需求从一张厚的《软件需求规格说明书》到一张用户故事卡的演变过程,在这个过程中我们舍弃了很多详细的描述,强调需要交付客户/用户价值的要求。在需求交付的过程中,我们会时刻关注价值。在保证价值的前提下,可以讨论实现方法和技术细节。那么问题来了,既然可以讨论的内容很多,那我们怎么判断一个用户故事已经实现了呢?验收标准是完成用户故事的试金石。可以说,一个用户故事能否被标记为已开发并进入测试阶段,很大程度上取决于验收标准是否全部通过。一般来说,验收标准是一系列匹配和满足功能或特性的可接受条件或业务规则,也能被产品负责人和相关干系人所接受。在敏捷实践中,推荐使用行为驱动开发(Behavior-drivendevelopment,简称BDD)来编写验收标准,即使用GWT格式。Given(inwhatsituationorcondition)When(采取了什么行动)Then(得到了什么结果)例如:Given(assumption)我在搜索界面When(何时)我填写停留的城市并选择时间ofstay然后(So)可以浏览这个时间段的城市名称和价格以及免费酒店。在编写验收标准的时候,应该着眼于能够验证需求实现的用户场景,更加积极地验证用户需求实现的完成情况。不要使用编写的验收标准作为测试点。何时使用验收标准(1)StoryKickoff故事开始时,需求涉及的所有角色:需求分析师、开发人员、测试人员、体验设计师,大家需要坐在一起明确需求,确保大家对需求的理解要求一致,故事验收标准一致。在此过程中,任何人都可以提出有关验收标准的问题,或者添加更多的验收场景。(2)故事验收(DeskCheck)开发人员完成代码实现,做一些基本的自测工作,准备好验收场景和数据后,就可以邀请大家进行故事验收了。在验收的时候,需求设计的所有角色也是需要的。大家围坐在一起,聆听开发和讲解实现细节,将验收场景一一演示。如果验收标准全部通过,没有其他问题,则可以将用户故事标记为已开发,准备进入测试阶段。(3)用户验收测试(UserAcceptanceTest)除了研发团队的测试,迭代交付还需要一定的用户验收测试。用户验收测试的设计和执行有时是PO,或者提出需求的客户和相关干系人,有时是小规模内测或公测的真实用户。在用户验收测试中,执行者也会在一定程度上参考验收标准,检查验收标准是否完备,是否能够满足用户的期望并通过验证。验收标准不是验收测试从上面的讨论中,可以得出结论,验收标准是定义用户故事完成的标准。验收测试分为两部分,一部分发生在用户故事开发完成后,是研发团队内部验收,另一部分是测试完成后客户或真实用户验收,在上网之前。可见验收准则不等于验收测试,验收准则是验收的最小集合,验收测试的范围更广。测试用例验证软件功能的有效性。什么是测试用例?测试用例是指为特定目的而准备的一组测试输入、执行条件和预期结果,以测试程序路径或验证是否满足特定要求。.简单的说,测试用例就是对一个测试点进行哪些步骤测试,期望的测试结果是什么的文字描述。测试用例通常包括描述、优先级、前置条件、执行步骤、预期结果、实际结果和注释等信息。根据每个项目的特点,测试用例包含的信息也不尽相同。什么时候使用测试用例(1)用例设计和评审在测试设计阶段,测试人员根据需求采用各种设计思路编写测试用例,提交给测试组或项目组进行用例评审。此时,测试用例中携带了测试人员根据专业经验识别出的业务需求的测试点和非业务需求的验证点。(2)测试执行在测试执行阶段,测试人员(有时也是用例编写者)根据用例的详细描述执行测试用例,并根据实际执行是否通过来判断测试用例是否通过测试结果与预期结果一致。失败的用例需要分析原因,报告缺陷或通过其他方式跟进。(3)回归测试开发为了改进与用例相关的功能,或者修复相关缺陷,需要对指定的用例进行回归,以确保功能没有被改变,或者缺陷确实已经被修复。另外,有时在重大上线前,也需要根据优先级选择一定数量的测试用例进行回归测试,以保证主线业务流程正常运行。()通信测试点测试用例也起着很重要的作用,记录具体的实现细节,框定需求的测试范围。多次迭代后,当需要查看历史需求时,故事卡片可能不足以还原所有的实现细节。这个时候,测试用例集就可以完全告诉你:软件是如何实现的,在执行某些操作的时候,程序的性能如何,当时这个需求的测试范围是什么。尤其是当团队成员的上下文不足时,一套精心设计和编写的用例可以完美地补充这些知识。验收标准不是测试用例上面我们讨论了什么是验收标准和测试用例,以及在什么阶段使用它们。很容易得出结论,验收标准和测试用例是两个完全不同的东西。两者的相同点在于,都是可确定的用户使用场景,可以根据预期进行判断。两者的区别在每个维度都体现在下表中。在本文中,我们还讨论了验收标准不是验收测试。仅从覆盖率的角度来看,验收标准、验收测试和测试用例之间的关系可以参考下图:满足用户期望验收测试:覆盖率测试用例小,仅覆盖验收所需的测试用例验收标准:覆盖率小于验收测试,仅覆盖实现验证需求的测试用例。当然,验收标准和测试用例的区别还体现在责任人和使用范围的不同。验收标准的负责人是需求分析师,在团队合作过程中使用,是多角色合作的基础;而测试用例的负责人是测试人员,属于专业测试语境的内容。但是,在不同的组织结构下,角色的界定会出现一定的模糊界限。因此,“整个团队对需求的验收和质量负责”是一个推荐的概念。相信经过本文的讲解,我们已经弄清楚验收标准和测试用例是什么了。随着行业的发展,越来越多的测试人员需要了解需求,才能将测试左移;相应地,为了高效地产出高质量的需求,越来越多的需求分析师需要了解测试。需求分析师和测试人员创建高质量的需求,这将为交付高质量、高价值的软件打下坚实的基础。
