严格说来,有两种不同的路径覆盖测试,分别为程序路径覆盖和程序图路径覆盖。这两种测试可分别称为程序的自然执行和强迫执行。所谓自然执行是指测试者(人或计算机)读入程序中的条件表达式,根据程序变量的当前值计算该条件表达式的值(真或假),并相应地分支。强迫执行是在用程序图作为程序的抽象模型时产生的一个人为的概念,它可以简化测试问题。强迫执行的含义是,一旦遇到条件表达式,测试者就强迫程序分两种情况(条件表达式的值为真和为假)执行。显然,强迫执行将遍历程序图的所有路径,然而由于各个条件表达式之间存在相互依赖的关系,这些路径中的某一些在自然执行时可能永远也不会进入。为了使强迫执行的概念在实际工作中有用,它简化测试工具的好处应该超过它使用额外的不可能达到的测试用例所带来的坏处。在绝大多数情况下,强迫执行的测试数并不比自然执行的测试数大很多,此外,对强迫执行的定义实际上包含了一种技术,能够缩短在测试含有循环的程序时所需要的运行时间。程序的大部分执行时间通常用于重复执行程序中的DO循环,特别是嵌套的循环。因此必须发明一种技术,使得每个DO循环只执行一遍。这样做并不会降低测试的功效,因为经验表明第一次或最后一次执行循环时最容易出错。 Laemmel教授提出的自动测试每条路径的技术如下:当编写程序时每个DO循环应该写成一种包含测试变量T和模式变量M的特殊形式,因此: 怎样把Laemmel技术推广到包含WHILE DO 和REPEAT UNTIL语句的程序?
逻辑覆盖是黑盒测试中的主要方法之一,是以程序内部的逻辑结构为基础的测试技术,是通过对程序逻辑结构的遍历实现程序设计的覆盖。( )
免费的网站请分享给朋友吧