Skip to content

测试用例设计标准

编写目的 👀

测试用例 是为项目需求而编制的一组包含测试输入、执行条件以及预期结果的文档,以便测试某个程序是否满足客户需求。

测试用例 是测试工作的指导,是软件测试质量稳定的根本保障,评估测试结果的基准。有一份用例来指导测试执行,可以在测试人员疲累的时候起到一个牵引作用。

编写用例的过程中,通过熟悉需求,对系统架构或业务有更深入理解。

为什么需要测试用例

● 测试用例是测试人员在测试过程中的重要参考依据;

● 测试用例可以帮助实施有效的测试,所有被执行的测试都是有意义的,不执行毫无意义的测试操作;

● 测试用例是一个知识传递的过程,能保持一致、稳定的测试质量;

● 从项目管理的角度来说,测试用例的通过率是检验代码质量最主要的指标之一;

● 测试用例也可以作为评估测试人员进度、工作量以及跟踪/管理测试的工作效率的主要因素,从而更加合理地做出测试安排或调整;

● 良好的测试用例不断地被重复使用,使得测试过程事半功倍;

TIP

在软件产品的开发过程中,开发人员不断的推出新的版本,测试人员需要对原有功能进行多次的回归测试,即使在一个版本中,也要进行 2 ~ 3 次的回归测试。这些回归测试,就要求 能重复使用测试用例

● 如果没有测试用例,很可能到执行的时候测试点就遗漏了,另外也不便于用例评审,用例总结,对后期测试工作没大的改进作用。

🔔 所以

测试用例 一定要写,颗粒度视情况而定。针对测试人员少,上线时间紧的项目,可只做思维导图列出测试点。

适用范围

参与软件产品测试的各测试工程师。

测试用例编写流程

主要分为以下四步: 👀

1) 需求分析 -> 提取测试点(结合测试策略制定);

2) 提取测试点(结合测试策略制定) -> 测试用例编写(结合功能用例设计方法);

3) 测试用例编写(结合功能用例设计方法) -> 测试用例评审;

4) 测试用例评审

需求分析

需求文档

产品需求文档就是产品功能说明书,包含大量的功能细节,目的是提高沟通效率,避免研发过程出现误会。

注意:👀

需求背景与目标说明:让别人知道为什么要做,要做到什么程度,用户检验功能完成情况;

特性列表:所谓特性其实就是功能模块,把需要做的功能模块都罗列出来,主要用于明确需要做的功能有哪些,用图表体现更佳;

主要逻辑:每个特性之下的操作逻辑,简单特性可以文字说明,复杂特性建议用流程图表现;

特性功能点:补充每个功能点的相关细节描述,是开发,与测试工作的重要依据。包括:流程细节描述正常逻辑表现异常逻辑表现文案内容性能需求交互图(可无);

特性需求,性能需求,数据上报:这一部分类似备注,说明了做这个功能要达到怎样的程度,需要再哪些地方进行数据埋点。

产品原型

产品原型是客户需求转变,是产品设计方案和底层逻辑的可视化表达,是设计测试用例的重要依据。

需求验收标准

验收标准 是一个正式的 需求清单,它确保所有的用户故事都能完成,所有的场景都能被考虑在内。简单来说,验收标准规定了满足用户故事的条件。简明扼要的标准可以帮助开发团队避免对客户的需求产生歧义,防止沟通不畅。

提取测试点

测试人员根据需求的澄清产品原型需求验收标准

提取测试点,梳理成思维导图形式,方便的编写用例

第 1 步:依据需求梳理功能及功能点;
第 2 步:通过测试理论方法及经验,梳理测试点;
第 3 步:挖掘隐性需求,覆盖非功能测试层面。

测试策略标准

具体内容详见上文中的 《测试策略设计》 章节。

测试用例设计方法文档

具体内容详见下文中的 《测试用例设计》 章节。

测试用例编写

模块划分

按照系统大的菜单进行划分,里边小的页面用关键字区分。

1) 产品、功能点同层级的结构按同纬度来划分。如应用、同等级产品、同等级功能点等;

2) 产品是指产品线下大的业务模块;

3) 功能点指业务模块下的子功能点,是最小功能点叶子节点;

4) 功能点目前无法再细分层级,后续会扩展功能点层次,在此之前,允许使用功能点名进行分层用例划分;

5) 产品、功能点划分不允许包含冒烟、回归、自动化这类以测试阶段或测试方法的命名的名称。

用例颗粒度划分规范

用例颗粒度原则:测试用例是执行的最小实体。

用例划分基本原则是以最小功能模块来划分,为保障用例的可执行性、覆盖度,规范编写用例的粒度要求如下:

1)一个功能正常流程,编写一个测试用例;

2)一个功能中多个异常流程,应分开编写多个测试用例;

3)同一功能不同入口,可合并编写一个测试用例;

4)同一功能不同数据准备,应分开编写多个测试用例;

5)同一个功能用例的自动化用例和功能用例要匹配,若自动化用例不能完全覆盖功能用例,自动化用例和功能用例拆分两个互补测试用例;

另一种用例划分维度

倒排计划测试计划,一天按照 50 个用例排计划,结合测试策略中价值排序,结合功能的优先级输出用例!

用例编写要求规范

用例编写最基本的要求:

1.具有清晰名称、前提条件、操作步骤、期望结果的;
2.可被他人理解的;
3.可被他人执行的。

具体要求

用例名称

1.常用的结构“主、谓、宾”;
2.名称简洁易懂,不要包括具体操作步骤。

前置条件

1.执行用例测试步骤前需要做的所有必备条件,原则上所有用例都有前置条件;
2.不可将其他用例作为前置条件,前置条件需要语言描述;
3.完整清楚,包括入口、帐号类型、账号权限、数据准备等;

具体要求如下

● 入口:覆盖所有功能入口,包含 URL 直接访问;
● 账号类型和权限:覆盖全部会员类型,注意业务权限控制,比如子账号权限,disable 会员权限;
● 数据准备:数据准备完整正确,覆盖到线上环境的所有情况;标识出业务流程处于的条件,写明数据库表字段值;对于复杂的数据准备,写清具体 SQL

操作步骤

1.操作步骤描述清晰。如:在什么页面,点击什么链接或按钮;页面入口、链接、按钮名称都要写清楚;

2.操作和结果是一一对应的,但操作中不要包含结果的检查;

3.用例描述中不允许存在连词、介词,如:而且,和,还(这种情况可拆分为多个点);

4.用例描述中不允许出现假设性词汇,如:假如,或许,可能,…的时候等;

5.用例描述中不允许出现二义性语句。

预期结果

1.原则上每个用例必需要有预期结果,结果不能为空;
2.结果中只能包含结果,不能有步骤;
3.一个结果有多个检查点时,确保检查点完整;

INFO

● 结果含需要验证的所有结果输出,如页面检查、存储检查、消息检查等;
● 结果涉及页面:需明确页面提示结果、数据变化;
● 结果涉及存储:需明确关键值变化、数据库具体的表和关键字字段值变化;
● 结果涉及消息:需明确关键查看内容;
● 结果对应不同输入数据有差别时需分别对应描述清晰。

测试用例数量标准

需求点数

测试用例的数量不少于需求点数量。

核心功能

核心功能点用例数量必须大于非核心功能点用例数量。

等价类、边界值的数量参照

- 有效用例的数量>=最大有效等价类(含有效边界值)数量;
- 无效用例的数量>=所有无效等价类数量之和;
- 用例数量>=最大有效等价类(含有效边界值)数量+所有无效等价类数量之和。

测试用例 checklist 自检 👀

用例有效性

遵守如下法则:

1.需求点 100%被覆盖;

2.被测功能点或控件 100%被覆盖;

3.必须验证正确性操作、正常数据和可能导致出错的数据、操作;

4.有数据值域的必须考虑数据值域覆盖:边界值、等价类;

5.所有边界值都必须覆盖;

6.等价类必须包含有效和无效等价类;

7.等价类各子类不存在交错以避免冗余;

8.等价类的使用避开边界值;

9.所有等价类都必须覆盖(等价类数量过多导致超过测试成本的,优先考虑有效等价类,然后根据数据使用频率、几率高低分优先级,高级优先覆盖,同时考虑自动化测试);

10.用例可以直接执行或易于准确执行;

11.用例中的数据或描述不存在二义性或多义性,不会因执行人不同而产生不同执行结果;

12.用例有明确的预期结果能够用于准确判断是否符合要求;

13.集成用例必须包含打开系统和退出系统的验证;

14.业务用例必须考虑不同模块数据和业务的一致性;

15.含数据库部分必须包括数据库的验证;

16.核心功能点必须被覆盖多次 -> 是否重复,原则:少的用例覆盖多的功能点;

17.用例设计必须提供设计思路、策略以便于评审和将来复用(含用例设计方法思路、数据分类等)。

用例可执行性

注意:🔔

1.操作步骤的描述,是否清晰、易懂;
2.操作步骤是否充分和必要,并具有可操作性;
3.测试用例的检查点是否明确、充分和可操作。

测试用例评审

按照现有的测试用例评审模版评审。[候补]

用例维护规范

测试用例编写完成后,应对测试用例进行持续的维护:

1.新项目需求变更,应及时对测试用例进行修改;

2.维护期项目,可根据项目组情况周期对用例进行维护;

3.所有发现的 bug 和故障,基于测试用例无法发现,需转化为测试用例

4.平台产品发布后的三个工作日内,需将项目用例根据具体情况归入产品功能用例库下。

测试用例执行数量标准

执行标准

每个小时 执行 6 个测试用例,一天8 小时算,**一天 **按照 50 个用例倒排计划,结合功能的优先级输出用例。

Released under the MIT License