第6次课-黑盒测试

等价类方法

弱:单缺陷假设

强:考虑出错的原因是多条件相互作用引起的

健壮:考虑了无效值

等价类方法只考虑输入端,输出端白测。

用等价类方法针对NextDate这类(容易在边界产生出错,出错的原因可能是多个输入相互作用造成的,不应用弱测试,比如2月28日的下一天)问题进行测试用例设计是不适合的,是非常糟糕的。

NextDate函数:

  • 容易在边界产生出错,出错的原因可能是多个输入相互作用造成
  • 换成强测试后(3 * 3 * 3 = 27个用例)还是测不出来

总结:输出依赖于多个输入之间的关联,这时等价类方法不合适。

边界值分析法

1.什么是边界值分析法

边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这 种情况下,其测试用例来自等价类的边界。

2.为什么使用边界值分析法?

无数的测试实践表明, 大量的故障往往发生在输入定义域或输出 值域的边界上,而不是在其内部。因此,针对各种边界情况设 计测试用例,通常会取得很好的测试效果。

边界值尽量用单故障假设,多故障这里叫最坏情况下测试,最坏情况下尽量不要用,因为它增加测试的有效性不大。

3.怎样用边界值分析法设计测试用例?

(1)首先确定边界情况。通常输入或输出等价类的边界就是应该 着重测试的边界情况。

(2)选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据, 而不是选取等价类中的典型值或任意值。

4.与等价划分的区别

  • 边界值分析使用与等价类划分法相同的划分,只是边界值分析 假定错误更多地存在于划分的边界上,因此在等价类的边界上 以及两侧的情况设计测试用例。

  • 边界值分析不是从某等价类中随便挑一个作为代表,而是使这 个等价类的每个边界都要作为测试条件。

  • 边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试 情况。

5.基于边界值分析方法选择测试用例的原则

1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界 的值,以及刚刚超越这个范围边界的值作为测试输入数据。

例如,如果程序的规格说明中规定:“重量在10公斤至50公斤范 围内的邮件,其邮费计算公式为……”。作为测试用例,我们 应取10及50,还应取10.01,49.99,9.99及50.01等。

2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小 个数少一,比最大个数多一的数作为测试数据。

比如,一个输入文件应包括1~255个记录,则测试用例可取1和 255,还应取0及256等。

3)将规则1)和2)应用于输出条件,即设计测试用例使输出值达 到边界值及其左右的值。

4)如果程序的规格说明给出的输入域或输出域是有序集合(如有 序表、顺序文件等),则应选取集合的第一个元素和最后一个 元素作为测试用例。

5)如果程序中使用了一个内部数据结构,则应当选择这个内部数 据结构的边界上的值作为测试用例。

6)分析规格说明,找出其它可能的边界条件。

6.“单故障”假设 说明

边界值分析法是基于可靠性理论中称为“单故障”的假设,即有 两个或两个以上故障同时出现而导致软件失效的情况很少,也 就是说,软件失效基本上是由单故障引起的。 因此,在多变量的边界值分析法中获取测试用例的方法是:

(1) 每次保留程序中一个变量,让其余的变量取正常值,被保 留的变量依次取min、min+、nom、max-和max。

(2) 对程序中的每个变量重复 (1) 。

7.推论

1。

对于一个含有n个变量的程序,采用边界值分析法测试程序会 产生4n+1个测试用例(一个变量取最小值,略高于最小值,正常值, 略低于最大值,最大值外,其余变量取正常值。对每个变量都重复进 行 )。

2.健壮性测试

是作为边界值分析的一个简单的扩充,它除了对变量的5 个边界值分析取值外,还需要增加一个略大于最大值(max+)以及略 小于最小值(min-)的取值,检查超过极限值时系统的情况。因此, 对于有n个变量的函数采用健壮性测试需要6n+1个测试用例。eg:三角形问题.

8.最坏情况测试(不要用)

软件失效是由多故障引起的。 对每个变量首先进行包含最小值、略高于最小值、正常值、略低于最大值和最大值五元素集合的测试,然后对这些集合进行笛卡儿乘积计算,以生成测试用例。

9.注:边界值针对NextDate问题也不好

错误推测法:基于经验的方法(没有更多可讲)