一个结构如以上所示的程序(帕斯卡尔代码少于100行的)拥有约100000000000000
的可能路径,如果以1000个测试每秒的速度来覆盖这些可能路径,将需要3170年的时间。
1.2. 白盒测试
通过测试来控制程序性设计的结构
可通过执行测试测试用例来确保:
1 、所有独立路径至少执行了一次。
2 、所有逻辑判定的真假分支都要执行。
3 、所有循环要在临界点和界限以内执行。
4 、所有内部数据结构都要执行以确保有效性。
当黑盒测试可以确认软件需求时,为什么还需要进行白盒测试呢?
l 逻辑错误和错误的假定很可能在“特殊情况”编码时候产生,需要确保测试这些执行路径。
l 存在因执行路径错误而导致设计错误的假设,白盒测试可以发现这些错误。
l 排印上的错误是随机的,有可能出现在模糊的逻辑路径,也有可能出现在主流的路径上。
“缺陷潜伏在角落并聚积在边界”
1.3. 基本路径测试
一个由McCabe提议的测试机制。
目的是要得出一个度量逻辑复杂度的程序性设计,并以此为指导,确定了一个基本执行路径集。
运用这套基本路径的测试用例会执行每个语句至少一次
1.3.1. 流图表示法
控制流的表示法:
以上流图说明:
l 称为边的箭头代表控制流
l 称为节点的圆圈代表一个或多个动作
l 被边和节点包围的地方称为区域
l 汇聚节点就是包含条件的节点
任何的程序性设计都可以使用流程图来表示
注意测试中的复合布尔表达式产生至少两个汇聚节点和附加的弧线。
例子:
版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像。51testing软件测试网欢迎与业内同行进行有益的合作和交流,如果有任何有关内容方面的合作事宜,请联系我们。