unit3_边界值与等价类

边界值分析技术

边界值选择基本原则

  1. 如果输入条件规定了取值范围,则以此范围为基础设计测试用例。
  2. 如果输入条件规定了取值的个数,则以个数为基础设计测试用例。
  3. 如果需求规格说明中指定了输出的范围和取值的个数,参考使用原则1和2。
  4. 如果输入或输出是一个有序集合,如:线性表、顺序文件等;则选择该序列中的第一个及最后一个元素进行测试,进一步考虑第二个元素和倒数第二个元素。
  5. 如果明确知道程序使用数组、链表等数据结构,应该测试这些数据结构上的边界条件。
  6. 对于被测软件进行深入分析,从而发现隐含的边界条件。

边界值测试分类
考虑2个问题:是否关心无效输入情况,是否考虑错误是由多个输入同时取极值造成的。

分类:普通边界值测试、健壮性测试、最坏情况测试、健壮最坏情况测试。

测试用例数量归纳:
边界值分析:4n+1
健壮性测试:6n+1
最坏情况:5^n
健壮最坏情况:7^n

等价类测试技术

等价类概念
等价类是指某个输入域的子集合,在该子集合中,各个输入数据对于揭露程序中的错误是等效的,或者进行相同的处理。

测试某等价类的一组数据就等价于对这一类其他值的测试。

分为有效等价类和无效等价类。

两个动机:期望进行某种意义上的完备性测试;期望尽可能多的避免冗余测试。

核心:对输入域或输出域进行等价划分。

等价类测试原则

  1. 如果输入条件规定了取值范围,可定义一个有效等价类和两个无效等价类。
  2. 如果规定了输入数据的个数,则类似的可以划分出一个有效等价类和两个无效等价类。
  3. 如规定了输入数据的一组值,且程序对不同输入值做不同处理,则每个允许的输入值是一个有效等价类,并有一个无效等价类。
  4. 如规定了输入数据必须遵循的规则,可确定一个有效等价类和若干个无效等价类(从不同角度违反规则)。
  5. 如果确知已划分的等价类中各元素在程序中的处理方式不同,则应将此等价类进一步划分成更小的等价类。
  6. 等价类的划分通常不能一步到位,需要多次尝试才能得到效果较好的等价类。

等价类测试流程
确定等价关系——生成测试用例——执行测试用例——记录并分析测试结果

总结
等价类测试是一种有效测试技术;如果输入域等价类测试结果不好,可以考虑输出域等价类划分;一开始难以得到较好的等价关系,可能需要多次尝试。


等价类测试分类:是否考虑无效等价类,单缺陷假设还是多缺陷假设。

  • 弱一般等价类测试
  • 强一般等价类测试
  • 弱健壮等价类测试
  • 强健壮等价类测试
发布了371 篇原创文章 · 获赞 36 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/strawqqhat/article/details/104892221