1)等价类划分
等价类是指某个输入域的子集合
.
在该子集合中
,
各个输入数据对于揭露程序中的错误都是等效的
.
并合理地假定
:
测试某等价类的代表值就等于对这一类其它值的测试
.
因此
,
可以把全部输入数据合理划分为若干等价类
,
在每一个等价类中取一个数据作为测试的输入条件
,
就可以用少量代表性的测试数据
.
取得较好的测试结果
.
等价类划分可有两种不同的情况
:
有效等价类和无效等价类
.
题目:
有一报表系统,要求用户输入要处理报表的日期,假设日期的范围为
2000年1月到
2020年12月。如果用户输入的日期不在这个范围内,则显示错误码信息,并且此系统规定日期由年月的6位数字组成,前4位代表年,后2位代表月。
请列出等价类表(包括有效和无效等价类)
编号
输入
输出
1 201001(有效等价类)
正确
2 012010(无效等价类)
显示错误码信息
3 198811(无效等价类)
显示错误码信息
4 202111(无效等价类)
显示错误码信息
5 20102(无效等价类)
显示错误码信息
7、
abc
8、
空格
9、
2)边界值分析法
是对等价类划分方法的补充。测试工作经验告诉我
,
大量的错误是发生在输入或输出范围的边界上
,
而不是发生在输入输出范围的内部
.
因此针对各种边界情况设计测试用例
,
可以查出更多的错误
.
3)错误猜测法
基于经验和直觉推测程序中所有可能存在的各种错误
,
从而有针对性的设计测试用例的方法
.
4)因果图方法
前面介绍的等价类划分方法和边界值分析方法
,
都是着重考虑输入条件
,
但未考虑输入条件之间的联系
,
相互组合等
.
考虑输入条件之间的相互组合
,
可能会产生一些新的情况
.
但要检查输入条件的组合不是一件容易的事情
,
即使把所有输入条件划分成等价类
,
他们之间的组合情况也相当多
.
因此必须考虑采用一种适合于描述对于多种条件的组合
,
相应产生多个动作的形式
来考虑设计测试用例
.
这就需要利用因果图(逻辑模型)
.
因果图
方法最终生成的就是
判定表
.
它适合于检查程序输入条件的各种组合情况
.
5)正交表分析法
可能因为大量的参数的组合而引起测试用例数量上的激增,同时,这些测试用例并没有明显的优先级上的差距,而测试人员又无法完成这么多数量的测试,就可以通过正交表来进行缩减一些用例,从而达到尽量少的用例覆盖尽量大的范围的可能性。
6)场景分析方法
指根据用户场景来模拟用户的操作步骤,这个比较类似因果图,但是可能执行的深度和可行性更好。
7)状态图法
通过输入条件和系统需求说明得到被测系统的所有状态,通过输入条件和状态得出输出条件;通过输入条件、输出条件和状态得出被测系统的测试用例。
8)大纲法
大纲法是一种着眼于需求的方法,为了列出各种测试条件,就将需求转换为大纲的形式。大纲表示为树状结构,在根和每个叶子结点之间存在唯一的路径。大纲中的每条路径定义了一个特定的输入条件集合,用于定义测试用例。树中叶子的数目或大纲中的路径给出了测试所有功能所需测试用例的大致数量。