在数学中,假设在一个集合 X 上定义一个等价关系,则X中的某个元素a的等价类就是在X中等价于a的所有元素所形成的子集:
- 等价类划分是一种典型的,并且是最基础的黑河测试用例设计方法。采用等价类划分法时,完全不考虑程序内部结构,设计测试用例的唯一依据时软件需求规格说明书。
- 所谓等价类,时输入条件的一个子集和,该输入集合中的数据对于解释程序中的错误是等级的。从每个子集中选取少数具有代表性的数据,从而生成测试用例
等级类划分分为有效等价类和无效等价类,有效等价类代表对程序有效的输入,而无效等价类则是其他任何可能的输入。因为被测程序若是正确的,就应该既能接受有效的输入,也能接受无效的考验
在给定了输入或外部条件后,等价类的划分原则如下:
- 如果输入条件规定一个取值范围,那么就应该有一个有效等价类 1-99,两个无效等价类 n<1 n>999。
- 主要为逆否命题
-
确定等价关系,确定等价类是选取每一个输入条件并将其划分为两个或者更多的组。这样,我们就遵循了测试原则,即要注意无效和未预料的输入情况。
-
建立等价类表 划分等价类后,应建立等价类表,列出与每一个输入条件对应的有效等价类和无效等价类,
-
生成测试用例利用等价类表来生成测试用例,其过程:
- 编写新的测试用例,尽可能多地覆盖那些尚未被覆盖的有效等价类,直到所有等价类都被测试用例所覆盖
- 编写新的用例,每次覆盖一个尚未被涵盖的无效等价类,直到所有的无效等价类都被测试用例所覆盖。
测试用例每次只覆盖1个无效等价类,是因为某些特定的输入错误检查可能会屏蔽或取代其他输入错误检查。
边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法,通常作为对等价类划分法的补充,其测试用例来自等价类的边界
- 等价类划分忽略掉了某些特定类型的高效测试用例,而边界值分析可以弥补
- 根据大量的测试统计数据,编程的很多错误是发生在输入定义域或输出值域的边界上,而不是发生在输入/输出的中间范围,因此针对输入和输出等级类的边界情况设计测试用例,可以查出跟多的错误,具有更高的测试回报率
- 边界值数据本质上是属于某个等价类的范围,测试时确实是一种重复,但是为了更好的测试质量,边界值必须单独测试
边界值分析方法和等价类划分之间的重要区别是,边界值分析考察正处于等价划分边界或在边界附近的状态
边界值点的定义:
- 上点:边界上的点
- 离点:离上点最近的点,如果区间是等于上点则选上点外的,如果上点是虚点则选择上点内的。
小数类型,等价类+边界值的注意点: 有效等价类:除了有效的小数外,有效的整数也测 无效等级类:小数类型-非小数:字母,汉字,特殊字符,小数位数-超出小数的有效位数 边界值:小数的次边界与边界之间的相差单位是与精确度相关的,例如:精确到小数点后2位,那么相差单位就是0.01。最小值是1.00 那么边界次边界值就是0.99和1.01
-
单缺陷假设与多缺陷假设
-
单缺陷性假设: 单缺陷假设是边界值的关键假设。单缺陷假设指:失效极少是由两个或者两个以上的缺陷同时发生引起的。在边界值分析中,单缺陷假设即选取测试用例时仅仅使得一个变量取极限值,其他变量取正常值
-
多缺陷假设 多缺陷假设是指 失效是由两个或两个以上缺陷同时引起的,要求在选取测试用例时,同时让多个变量取极值
有n个输入变量,设计测试用例使得一个变量在数据有效区域内取最大值,次最大值,正常值,次最小值,最小值,一般性边界值测试的测试用例个数为4n+1
- 优点:简便易行;生成测试数据的成本很低
- 局限性:测试用例不充分;不能发现测试变量之间的依赖关系;
- 结论:只能作为初步测试用例使用
健壮性是指在异常情况下,软件还能正常运行的能力。健壮性考虑的主要部分是预期输出,而不是输入。健壮性测试是边界值分析的一种简单扩展。除了变量的5个边界分析取值还要考虑超出范围的情况 对于有n个输入变量的程序,健壮性测试的测试用例个数6n+1
最坏情况测试,关心当多个变量取极限出现的情况,最坏情况测试中,对每一个输入变量首先进行包含健壮上6个,然后进行笛卡尔积计算生成测试用例,工作量最大 5^n个测试用例
健壮+最坏 7^n
在多数情况下,边界值条件是基于应用程序的功能设计而需要考虑的要素,可以从软件的规格说明或常识中得到,也是最终用户可以很容易发现问题,字节单位等
判定表是分析和表达多逻辑条件下执行不同操作的工具,它能够将复杂的问题按照各种可能的情况,全部列举出来,因此,利用判定表能够设计出完整的测试用例集合,在一些数据处理问题中,某些操作的实施依赖与多个逻辑条件的组合:针对不同逻辑条件的组合值,分别执行不同的操作。判定表很适合于处理这类问题
- 条件桩:列出问题的所有条件,通常认为列出的次序无关紧要
- 动作桩:列出问题规定可能采取的操作,这些操作的排列顺序没有约束
- 条件项:列出针对他有列条件的取值,在所有可能情况下的真假值
- 动作项:列出在条件项的各项取值情况下应该采取的动作
- 规则:任何一个体检组合的特定取值及其相应要执行的操作称为规则。在判定表中贯穿条件项和动作项的一列就是一条规则。显然判定表中列出多少组条件取值,
- 化简: 就是把规则进行合并。合并的标准是,有两条或多条规则具有相同的动作,并且其条件项之间存在极为相似的关系
- 确定规则的个数,假如有n个条件。每个条件有两个取值(0,1) 故有2^n