测试用例的编写方法:1、等价类;2、边界值分析法;3、流程分析法;4、判定表法;5、正交试验法;6、因果图法;7、逻辑覆盖法。等价类将测试用例分为有效等价类和无效等价类两种。
1、等价类
原理:根据需求将被测对象的所有可能的输入划分为若干集合,集合中每一个元素(除上点、离点),对于发现错误的效果是等价的。
分类:有效等价类:对于被测对象来说,集合中每一个元素都是有效的数据;无效等价类:对于被测对象来说,集合中每一个元素都是无效的数据。
划分原则:
- 需求中规定了取值的范围或者取值的个数,此时可以划分出1个有效的等价类,2个无效的等价类。
- 需求中规定了输入值的集合或者必须满足某个条件,此时可以划分出1个有效等价类,1个无效等价类。
- 需求中规定了输入值为一个布尔值,此时可以划分出1个有效等价类,1个无效等价类。
- 需求中规定了输入项的一组值,并且程序会对每一个值分别进行不同的处理,此时可以划分出若干个有效等类,1个无效等价类。
使用步骤:
- 根据需求。分析被测对象,划分出有效等价类和无效等价类
- 理出等价类表,为每一个等价类编号
- 为有效等价类编写测试用例,1条用例尽可能多覆盖未被覆盖的有效等价类,重复操作,直到所有的有效等价类被覆盖完。
- 为无效等价类编写测试用例,每条测试用例只覆盖1个无效等价类,重复操作,直到所有无效等价类被覆盖完。
2、边界值分析法
原理:大多数的缺陷都出现在输入的边界上或者边界附近,如果边界以及边界附近的值都不会引发错误,则集合内其他的值引发错误的概率也非常低。
相关概念:
- 上点:输入边界上的点;
- 离点:离上点最近的点,如果输入域为开区间,则离点在有效范围内,如果输入域为闭区间,则离点在有效范围外;
- 内点:输入域范围内的点。
3、流程分析法
三个流程:
- 基本流:通过业务流程输入都为正确的,能够最终达到目标的流程;
- 备选流:通过实现业务流程时,因错误操作或异常输入,导致流程存在反复,但最终能够达到预期的操作流程;
- 异常流:通过实现业务流程时,因错误操作或异常输入,导致没有完成业务流程。
使用方法:
- 根据需求,确定业务流程
- 绘制流程图,再次明确流程路径
- 根据业务流程图,抽取测试路径,每个路径包含一个从未走过的路径
- 细化路径,抽取测试用例
4、判定表法
用于分析和表达在不同条件下程序执行不同动作的工具。
组成:
- 条件桩:列出会影响最终结果的所有的条件(被测功能的所有输入)
- 动作桩:理出程序可能做出的所有动作 (被测功能在不同的输入下可能的输出)
- 条件项:不同输入条件的组合(比如正确的用户名,错误的密码)
- 动作项:在指定的条件下被测功能动作
使用步骤:
- 分析需求,获取被测功能的输入输出
- 根据输入输出,定义条件桩、动作桩,完成设计判定表
- 优化判定表(合并、删除)
- 利用等价类、边界值方法为每一条测试设计测试用例
5、正交试验法
基于埃洛瓦理论,可以在保证试验质量的前提下大大的降低试验次数。
基本概念:
- 因子:影响试验结果的条件
- 水平:每一个因子可能的取值
使用方法:
- 分析需求,获取因子数,因子的水平数
- 根据因子数以及因子的水平数,选择对应的正交表(行数最少)
- 根据实际情况、经验优化正交表
- 利用等价类、边界值方法为每一条规则设计测试用例。
6、因果图法
使用场景:输入(原因)和输出(结果)之间的关系。输出依赖输入(多个)。
步骤:
- 理出所有的输入和输出
- 在画出输入与输出之间的关系
- 画因果图
- 画判定表(列数:输入->幂数 输出:底数)
- 从判定表提取测试用例。
7、逻辑覆盖法
逻辑覆盖法是基路径是一组独立路径,这组独立路径中的所有路径相互不可替代,其余路径均可由这组路径的某种组合方式来遍历。基路径测试就是设计测试用例来覆盖每条基路径。
步骤:
- 从被测程序代码生成程序图;
- 根据程序图计算环复杂度,确定基路径集合的大小(二者相等);
- 利用“主路径+转向”的策略确定基路径集合,即找到一条从程序入口结点开始,到出口结点结束的路径,该路径应经过尽可能多的判断结点(包括循环结点),然后每次以主路径为基础,每当碰到一个未转向的判断结点,就在该结点处转向一次。
- 剔除不可行路径,补充其他重要的路径。如:补充执行概率较高的路径;补充可能包含严重缺陷的路径;补充经数据流测试确定具高风险的路径;补充涉及复杂算法的路径
- 根据路径集合确定测试用例,填入测试数据。
延伸阅读
测试用例的设计原则
- 正确性。输入用户实际数据以验证系统是否满足需求规格说明书的要求;测试用例中的测试点应首先保证要至少覆盖需求规格说明书中的各项功能,并且正常。
- 全面性。覆盖所有的需求功能项;设计的用例除对测试点本身的测试外,还需考虑用户实际使用的情况、与其他部分关联使用的情况、非正常情况(不合理、非法、越界以及极限输入数据)操作和环境设置等。
- 连贯性。用例组织有条理、主次分明,尤其体现 在业务测试用例上;用例执行粒度尽量保持每个用例都有测点,不能同时覆盖很多功能点,否则执行起来牵连太大,所以每个用例间保持连贯性很重要。
- 可判定性。测试执行结果的正确性是可判定的,每一个测试用例都有相应的期望结果。
- 可操作性。测试用例中要写清楚测试的操作步骤,以及与不同的操作步骤相对应的测试结果。
文章标题:测试用例怎么编写,发布者:Z, ZLW,转载请注明出处:https://worktile.com/kb/p/36239