|
知识路径: > 测试技术的分类 > 白盒测试技术 > 白盒测试方法 > 其他白盒测试方法 >
|
考试要求:掌握
相关知识点:4个
|
|
|
|
分析程序中的路径是指:检验程序从入口开始,执行过程中经历的各个语句,直到出口。这是白盒测试最为典型的问题。着眼于路径分析的测试可称为路径测试。完成路径测试的理想情况是做到路径覆盖。对于比较简单的小程序实现路径覆盖是可能做到的。但是如果程序中出现多个判断和多个循环,可能的路径数目将会急剧增长,达到天文数字,以至于实现完全路径覆盖是不可能做到的。
|
|
|
为了解决这一问题,我们必须舍掉一些次要因素,对循环机制进行简化,从而极大地减少路径的数量,使得覆盖这些有限的路径成为可能。我们称简化循环意义下的路径覆盖为Z路径覆盖。
|
|
|
这里所说的对循环化简,是指限制循环的次数。无论循环的形式和实际执行循环体的次数多少,我们只考虑循环一次和零次两种情况。即只考虑执行时进入循环体一次和跳过循环体这两种情况。如下图(a)和(b)所示表示了两种最典型的循环控制结构。前者先作判断,循环体B可能执行(假定只执行一次),也可能不执行。这就如同如下图(c)所示的条件选择结构一样。后者先执行循环体B(假定也执行一次),再经判断转出,其效果也与(c)中给出的条件选择结构只执行右支的效果一样。
|
|
|
|
|
对于程序中的所有路径可以用路径树来表示,具体表示方法这里忽略。当得到某一程序的路径树后,从其根结点开始,一次遍历,再回到根结点时,把所经历的叶结点名排列起来,就得到一个路径。如果我们设法遍历了所有的叶结点,就得到了所有的路径。
|
|
|
当得到所有的路径后,生成每个路径的测试用例,就可以做到Z路径覆盖测试。
|
|
|