严格说来,有两种不同的路径覆盖测试,分别为程序路径覆盖和程序图路径覆盖。这两种测试可分别称为程序的自然执行和强迫执行。所谓自然执行是指测试者(人或计算机)读入程序中的条件表达式,根据程序变量的当前值计算该条件表达式的值(真或假),并相应地分支。强迫执行是在用程序图作为程序的抽象模型时产生的一个人为的概念,它可以简化测试问题。强迫执行的含义是,一旦遇到条件表达式,测试者就强迫程序分两种情况(条件表达式的值为真和为假)执行。显然,强迫执行将遍历程序图的所有路径,然而由于各个条件表达式之间存在相互依赖的关系,这些路径中的某一些在自然执行时可能永远也不会进入。为了使强迫执行的概念在实际工作中有用,它简化测试工具的好处应该超过它使用额外的不可能达到的测试用例所带来的坏处。在绝大多数情况下,强迫执行的测试数并不比自然执行的测试数大很多,此外,对强迫执行的定义实际上包含了一种技术,能够缩短在测试含有循环的程序时所需要的运行时间。程序的大部分执行时间通常用于重复执行程序中的DO循环,特别是嵌套的循环。因此必须发明一种技术,使得每个DO循环只执行一遍。这样做并不会降低测试的功效,因为经验表明第一次或最后一次执行循环时最容易出错。 Laemmel教授提出的自动测试每条路径的技术如下:当编写程序时每个DO循环应该写成一种包含测试变量T和模式变量M的特殊形式,因此:
简答题查看答案
在面向对象的程序设计过程中,英文缩写"OOP"的含义是()
单选题查看答案
在面向对象技术中,对象联系图是描述面向对象()的基本工具。
填空题查看答案
面向对象的开发方法中,()将是面向对象技术领域内占主导地位的标准建模语言。
单选题查看答案
什么叫面向对象?面向对象方法的特点是什么?为什么要用面向对象方法开发软件?
简答题查看答案
面向对象技术有三个基本特性,分别是()、()和()。
填空题查看答案
在面向对象技术中,类图的基本成分是类和()
单选题查看答案
下列哪一个是面向对象技术领域内常用的建模语言()
单选题查看答案
下列不属于面向对象建模中所使用的技术是()。
单选题查看答案