软件质量测试一般方法

总:黑盒测试主要包括:等价类划分、边界值分析

白盒测试主要包括:路径覆盖法、逻辑覆盖法等


1.黑盒测试

不考虑内部结构,在软件的接口处进行测试

核心技术:等价类划分、边界值分析。

等价类划分:

等价类:有集合S,R为S上的一种等价关系,则对于S中的任意元素x,称集合S’={ y| R(x,y) }为元素x的等价类。

例如:大学生的集合S,等价关系为同一个时代出生。那么对于90后的张三,其等价类为所有90后学生组成的集合。

基本过程

  • 将所有可能的输入分为有效输入和无效输入两个集合,通过定义等价关系,细分成多个有效等价类和多个无效等价类;
  • 若必要,也可以对输出进行等价类划分;
  • 在各等价类中构造用例,最终形成测试用例集。
  • 用例集必须覆盖全部有效等价类
  • 每个无效等价类至少对应一个用例
  • 为测试用例设计测试数据;
  • 执行测试;

还有弱健壮、强健壮分类等。

边界值分析:

 输入域、输出域的边界。

一般边界值分析过程:
选定问题域中的一个变化因子,让其余的变化因子取正常值,被选定的变化因子依次取min,min+,norm,max-和max;
对问题域中的每个变化因子重复①。
特点
检查有效域中的边界和一般情况
检查有效域中单因素的边界值影响

例子:

函数CheckTriangle(float a,float b,float c)

   根据给出的3个数,判定是否能构成一个三角型,若能判定构成的是一个等边三角形、锐角等腰三角型、直角等腰三角型、钝角等腰三角形、一般锐角三角形、一般钝角三角形、还是一般直角三角型。

输入域分析
有3个因素构成,每个因素的范围为(-∞,+∞)
即使考虑到计算机精度,也难以确定min,max

针对输入域做边界值分析,意义不大

重点分析输出域
输出可为(共8种不同输出):
非三角形
是三角形
锐角三角形(细分为等边,等腰,普通)
直角三角形(细分为等腰,普通)
钝角三角形(细分为等腰,普通)
可知:
输出是8个离散值:导致”突变”的多组输入数据
输出不是连续范围,但涵盖了整个输出空间

输出不是有序集合

2.白盒测试

路径覆盖法:

基本路径覆盖法过程:

  • 确定图(流程图/状态图)
  • 确定基本路径数目
  • 构造基本路径集
  • 为每条基本路径生成测试用例

还有全路径覆盖等。

逻辑覆盖法:

语句覆盖、判定覆盖(分支覆盖)、条件覆盖、判定/条件覆盖、多条件覆盖、增强的判定/条件覆盖、组合覆盖


猜你喜欢

转载自blog.csdn.net/huanting74/article/details/80684803