第162贴【2004-12-17】:Z路径覆盖
Z路径覆盖是路径覆盖的一个变体。路径覆盖是白盒测试最为典型的问题。着眼于路径分析的测试可称为路径测试。完成路径测试的理想情况是做到路径覆盖。对于比较简单的小程序实现路径覆盖是可能做到的。但是如果程序中出现多个判断和多个循环,可能的路径数目将会急剧增长,达到天文数字,以至实现路径覆盖不可能做到。为了解决这一问题,我们必须舍掉一些次要因素,对循环机制进行简化,从而极大地减少路径的数量,使得覆盖这些有限的路径成为可能。我们称简化循环意义下的路径覆盖为Z路径覆盖。
这里所说的对循环化简是指,限制循环的次数。无论循环的形式和实际执行循环体的次数多少,我们只考虑循环一次和零次两种情况。也即只考虑执行时进入循环体一次和跳过循环体这两种情况。
对于程序中的所有路径可以用路径树来表示。当得到某一程序的路径树后,从其根结点开始,一次遍历,再回到根结点时,把所经历的叶结点名排列起来,就得到一个路径。如果我们设法遍历了所有的叶结点,那就得到了所有的路径。
当得到所有的路径后,生成每个路径的测试用例,就可以做到Z路径覆盖测试。 感觉是不是将黑盒测试方法中的边界值法的思想引入了白盒测试中。^_^ 可否举个例子说明Z路径覆盖 选择零次和一次循环来设计用例的依据是什么呢,是不是有理论证明或者经验数据证明这样可以查出百分之几以上的缺陷呢? 谢谢天网,听你这么一讲使我明白多了,不过假如当输入特殊数据有死循环,这个数据怎么找呀.
页:
[1]