1、计算机四级软件测试工程师-121 (1)及答案解析(总分:89.99,做题时间:90 分钟)一、B选择题/B(总题数:25,分数:50.00)1.问题还没有解决,测试人员新报告的缺陷,或验证后缺陷仍然存在,这些缺陷所处的状态是_。 A.激活状态 B.非激活状态 C.已修正状态 D.关闭状态(分数:2.00)A.B.C.D.2.关注在一连串的测试中如何选择合适的程序或子程序路径来执行有效的检查,这种测试极有可能是_。 A.结构测试 B.黑盒测试 C.功能测试 D.静态测试(分数:2.00)A.B.C.D.3.下面说法正确的是_。 A.软件测试仅是在编程之后进行的测试。 B.需求规格说明、概要设计
2、规格说明、详细设计规格说明、源程序这些并不全是软件测试的对象。 C.测试配置是软件配置的一个子集。 D.错误发现的越晚,改正的代价就越大,这个代价是呈现接近线性增长的趋势(分数:2.00)A.B.C.D.4.在结构化测试用例设计中,有语句覆盖、条件覆盖、判定覆盖(也称分支覆盖)、路径覆盖等,其中_是最强的覆盖准则。 A.语句覆盖 B.条件覆盖 C.判定覆盖 D.路径覆盖(分数:2.00)A.B.C.D.5.因果图方法是根据_之间的因果关系设计测试用例。 A.输入和输出 B.设计和实现 C.条件和结果 D.主程序和子程序(分数:2.00)A.B.C.D.6.软件测试的目的是_。 A.证明软件的正
3、确性 B.尽可能多地发现软件系统中的错误 C.找出软件系统存在的所有错误 D.证明软件系统中存在错误(分数:2.00)A.B.C.D.7.仅根据规格说明书描述的程序功能来设计测试用例的方法称为是_。 A.白盒测试法 B.黑盒测试法 C.静态分析法 D.人工分析法(分数:2.00)A.B.C.D.8.软件测试方法中,黑盒测试方法和白盒测试方法是常用的方法,其中黑盒测试方法主要用于测试_。 A.结构合理性 B.软件外部功能 C.程序的内部逻辑 D.程序正确性(分数:2.00)A.B.C.D.9.从下列叙述中选出能够与软件开发需求分析、设计、编码相对应的软件测试_。 A.集成测试、确认测试、单元测试
4、 B.单元测试、集成测试、确认测试 C.单元测试、确认测试、组装测试 D.确认测试、集成测试、单元测试(分数:2.00)A.B.C.D.10.下列说法正确的是_。 A.语句覆盖使得每个判定的每个分支至少执行一次 B.判定覆盖使得每条语句至少执行一次 C.条件覆盖使得每个判定每个条件应取到各种可能的值 D.条件组合覆盖使得每个判定中各条件的每一种组合至少出现一次(分数:2.00)A.B.C.D.11.集成测试时,能够较早发现高层模块接口错误的测试方法是_。 A.自底向上渐增式测试方法 B.自顶向下渐增式测试方法 C.非渐增式测试方法 D.系统测试方法(分数:2.00)A.B.C.D.12.在软件
5、测试信息流中,输入的的信息主要有_。 A.软件配置 B.测试配置 C.测试工具 D.以上全部(分数:2.00)A.B.C.D.13.以下关于软件测试方法,说法正确的是_。 A.单元测试涉及编码和详细设计的文档 B.系统测试涉及概要设计信息 C.确认测试涉及编码和需求规格说明书 D.集成测试设计其他的系统元素(分数:2.00)A.B.C.D.14.下列软件质量特性中,一般不作为系统测试重点的是_。 A.产品版本升级是否容易 B.软件是否符合有关的国家和行业标准 C.软件产品是否易于理解和使用 D.可复用的软件部件所占的比例(分数:2.00)A.B.C.D.15.一般来说,大多数软件缺陷源于软件开
6、发项目的_阶段。 A.软件测试阶段 B.程序编写和调试阶段 C.需求和设计阶段 D.加班工作期间(分数:2.00)A.B.C.D.16.一般说来,对一个程序单元的测试应满足一些具体的技术要求,或达到一定的技术指标。下面选项中属于单元测试相关的技术要求或指标的是_。 A.语句覆盖率达到 100% B.局部变量的边界条件处理正确 C.逻辑比较和控制流处理正确 D.以上全部(分数:2.00)A.B.C.D.17.下列软件缺陷中,_是活动状态,_是非活动状态。 A.打开和解决;关闭 B.打开;解决和关闭 C.通过;失败 D.打开;待验和关闭(分数:2.00)A.B.C.D.18.测试管理工具提供从测试
7、设计到测试运行的全过程支持。这个工具的主要用途是_。 A.自动抓取屏幕上的系统运行界面 B.基于需求规格说明书自动生成测试数据、测试用例 C.测试用例管理、软件缺陷管理、软件测试度量 D.辅助管理软件产品的各组成部分,使它们保持一致(分数:2.00)A.B.C.D.19.下列比较适合自动化的软件测试活动是_。 A.测试用例设计 B.回归测试 C.测试环境的建立 D.探查式测试(分数:2.00)A.B.C.D.20.分析性能下降曲线时会把曲线划分为几个区间,那么对于分析性能瓶颈有很大作用的是哪一个下列区间_。 A.性能平坦区 B.性能轻微下降区 C.性能急剧下降区 D.其他区(分数:2.00)A
8、.B.C.D.21.下面与软件可靠性有关的概念中,理解不正确的是_。 A.软件错误不仅包括程序代码的错误,软件开发过程中所有制品的错误及软件的文档、手册中的错误都可以归为软件错误 B.软件故障是指软件代码中的错误 C.在软件的一次运行期间,软件故障一定会导致软件失效 D.通常修改软件故障可以降低软件发生失效的概率,从而提高软件可靠性(分数:2.00)A.B.C.D.22.在实际的面向对象集成测试中,为保证测试的充分性,往往要关注测试类间的各种连接,下面的测试方法不属于针对类间连接的测试是_。 A.受控异常测试 B.往返场景测试 C.模态类测试 D.类关联的多重性测试(分数:2.00)A.B.C
9、.D.23.以下关于 Web 应用软件测试的说法中,正确的是_。 A.数据完整性测试是 Web 应用软件数据层测试的一项重要内容 B.内容测试是 Web 应用软件易用性测试的一项重要内容 C.表单测试是 Web 应用软件表示层测试的一项重要内容 D.链接结构的测试是 Web 应用软件安全性测试的一项重要内容(分数:2.00)A.B.C.D.24.下列不属于对物理破坏的防护措施的是_。 A.主要设备远离人为破坏 B.所有设备远离灾害的侵扰 C.对通信数据进行加密 D.主要设备要屏蔽电磁干扰(分数:2.00)A.B.C.D.25.静态分析中,提供整个项目中的所有函数之间的调用关系图属于_。 A.程
10、序结构分析 B.程序数据流分析 C.可视化分析 D.程序执行频度分析(分数:2.00)A.B.C.D.二、B论述题/B(总题数:2,分数:40.00)以下是一个自动饮料售货机软件的操作规格说明,请按要求回答问题设要对一个自动饮料售货机软件进行黑盒测试。该软件的规格说明如下:“有一个处理单价为 1 元 5 角钱的盒装饮料的自动售货机软件。若投入 1 元 5 角硬币,按下“可乐“、“雪碧“或“红茶“按钮,相应的饮料就送出来。若投入的是2 元硬币,在送出饮料的同时退还 5 角硬币。“(分数:12.00)(1).试利用因果图法,建立该软件的因果图(分数:6.00)_(2).设计测试该软件的全部测试用例
11、(分数:6.00)_针对以下 C 语言程序,请按要求回答问题下面是一个简单的 C 语言程序:int func1(int a,b,c) int k=1;if(a0|b0)k=k+a;else k=k+b;if(c0)k=k+c;return k;(分数:27.99)(1).画出该函数的程序流程图。(分数:9.33)_(2).设计测试用例,分别使函数的各种逻辑覆盖率尽量达到 100%。如果认为该函数的某种逻辑覆盖率无法达到 100%,需要说明原因。(分数:9.33)_(3).设计特殊的测试用例,说明各种逻辑覆盖之间的关系。(分数:9.33)_计算机四级软件测试工程师-121 (1)答案解析(总分:
12、89.99,做题时间:90 分钟)一、B选择题/B(总题数:25,分数:50.00)1.问题还没有解决,测试人员新报告的缺陷,或验证后缺陷仍然存在,这些缺陷所处的状态是_。 A.激活状态 B.非激活状态 C.已修正状态 D.关闭状态(分数:2.00)A. B.C.D.解析:解析 缺陷处于激活状态,即是问题还没有解决,测试人员新报告的缺陷,或验证后缺陷仍然存在。2.关注在一连串的测试中如何选择合适的程序或子程序路径来执行有效的检查,这种测试极有可能是_。 A.结构测试 B.黑盒测试 C.功能测试 D.静态测试(分数:2.00)A. B.C.D.解析:解析 白盒测试是对程序的逻辑结构进行的测试,而
13、黑盒测试将程序视为一个黑盒子,仅仅是测试人员提供数人数据,观察输出数据,并不了解程序是如何运行的。结构测试属于白盒测试,关注的是如何选择合适的程序或子程序路径来执行有效的检查。功能测试则属于黑盒测试,对功能的测试通常通过提供输入数据,检查实际输出的结果,很少考虑程序的内部结构。静态测试是不必执行程序,仅是收集有关程序代码的结构信息。3.下面说法正确的是_。 A.软件测试仅是在编程之后进行的测试。 B.需求规格说明、概要设计规格说明、详细设计规格说明、源程序这些并不全是软件测试的对象。 C.测试配置是软件配置的一个子集。 D.错误发现的越晚,改正的代价就越大,这个代价是呈现接近线性增长的趋势(分
14、数:2.00)A.B.C. D.解析:解析 在极限测试中,软件测试通常要在编程之前先设计测试用例。需求规格说明、概要设计规格说明、详细设计规格说明、源程序这些都是属于软件测试的对象。错误改正代价与发现的时间是呈现指数增长的趋势。而选项 B 说法是完全正确的。4.在结构化测试用例设计中,有语句覆盖、条件覆盖、判定覆盖(也称分支覆盖)、路径覆盖等,其中_是最强的覆盖准则。 A.语句覆盖 B.条件覆盖 C.判定覆盖 D.路径覆盖(分数:2.00)A.B.C. D.解析:解析 在题目所述逻辑覆盖中,路径覆盖是最强的覆盖准则。5.因果图方法是根据_之间的因果关系设计测试用例。 A.输入和输出 B.设计和
15、实现 C.条件和结果 D.主程序和子程序(分数:2.00)A.B.C. D.解析:解析 因果图方法是根据输入和输出之间的因果关系设计测试用例的。6.软件测试的目的是_。 A.证明软件的正确性 B.尽可能多地发现软件系统中的错误 C.找出软件系统存在的所有错误 D.证明软件系统中存在错误(分数:2.00)A.B. C.D.解析:解析 考察软件测试的目的。7.仅根据规格说明书描述的程序功能来设计测试用例的方法称为是_。 A.白盒测试法 B.黑盒测试法 C.静态分析法 D.人工分析法(分数:2.00)A.B. C.D.解析:解析 仅根据规格说明书描述的程序功能来设计测试用例的方法称为黑盒测试法。8.
16、软件测试方法中,黑盒测试方法和白盒测试方法是常用的方法,其中黑盒测试方法主要用于测试_。 A.结构合理性 B.软件外部功能 C.程序的内部逻辑 D.程序正确性(分数:2.00)A.B. C.D.解析:解析 黑盒测试主要用于测试软件的外部功能。9.从下列叙述中选出能够与软件开发需求分析、设计、编码相对应的软件测试_。 A.集成测试、确认测试、单元测试 B.单元测试、集成测试、确认测试 C.单元测试、确认测试、组装测试 D.确认测试、集成测试、单元测试(分数:2.00)A.B.C.D. 解析:解析 软件开发需求分析对应的是测试阶段的确认测试,软件设计对应的是集成测试,编码阶段对应的是单元测试。10
17、.下列说法正确的是_。 A.语句覆盖使得每个判定的每个分支至少执行一次 B.判定覆盖使得每条语句至少执行一次 C.条件覆盖使得每个判定每个条件应取到各种可能的值 D.条件组合覆盖使得每个判定中各条件的每一种组合至少出现一次(分数:2.00)A.B.C. D.解析:解析 考察白盒测试中逻辑覆盖的关系。11.集成测试时,能够较早发现高层模块接口错误的测试方法是_。 A.自底向上渐增式测试方法 B.自顶向下渐增式测试方法 C.非渐增式测试方法 D.系统测试方法(分数:2.00)A.B. C.D.解析:解析 由于自顶向下测试的特点可知,该集成测试方法是能够较早发现高层模块接口错误的。12.在软件测试信
18、息流中,输入的的信息主要有_。 A.软件配置 B.测试配置 C.测试工具 D.以上全部(分数:2.00)A.B.C.D. 解析:解析 考察软件测试的信息流输入,软件配置、测试配置和测试工具都属于测试流的输入信息。13.以下关于软件测试方法,说法正确的是_。 A.单元测试涉及编码和详细设计的文档 B.系统测试涉及概要设计信息 C.确认测试涉及编码和需求规格说明书 D.集成测试设计其他的系统元素(分数:2.00)A. B.C.D.解析:解析 A 选项 B 和选项 D 颠倒,而确认测试与编码是没有关系的,故选项 C 也不正确,只有 A 说法是正确的。14.下列软件质量特性中,一般不作为系统测试重点的
19、是_。 A.产品版本升级是否容易 B.软件是否符合有关的国家和行业标准 C.软件产品是否易于理解和使用 D.可复用的软件部件所占的比例(分数:2.00)A.B.C.D. 解析:解析 在软件质量特性中,可复用的软件部件所占的比例一般不会作为系统测试的重点。15.一般来说,大多数软件缺陷源于软件开发项目的_阶段。 A.软件测试阶段 B.程序编写和调试阶段 C.需求和设计阶段 D.加班工作期间(分数:2.00)A.B.C. D.解析:解析 通常来说,软件缺陷大多数是来自软件开发项目的需求和设计阶段的。16.一般说来,对一个程序单元的测试应满足一些具体的技术要求,或达到一定的技术指标。下面选项中属于单
20、元测试相关的技术要求或指标的是_。 A.语句覆盖率达到 100% B.局部变量的边界条件处理正确 C.逻辑比较和控制流处理正确 D.以上全部(分数:2.00)A.B.C.D. 解析:解析 考察单元测试的技术指标,选项在都是单元测试的指标,故选择 D。17.下列软件缺陷中,_是活动状态,_是非活动状态。 A.打开和解决;关闭 B.打开;解决和关闭 C.通过;失败 D.打开;待验和关闭(分数:2.00)A.B. C.D.解析:解析 在软件缺陷中,打开是属于活动状态,而解决与关闭都属于非活动状态。18.测试管理工具提供从测试设计到测试运行的全过程支持。这个工具的主要用途是_。 A.自动抓取屏幕上的系
21、统运行界面 B.基于需求规格说明书自动生成测试数据、测试用例 C.测试用例管理、软件缺陷管理、软件测试度量 D.辅助管理软件产品的各组成部分,使它们保持一致(分数:2.00)A.B.C. D.解析:解析 测试管理工具主要用于进行测试用例管理、软件缺陷管理、软件测试度量。19.下列比较适合自动化的软件测试活动是_。 A.测试用例设计 B.回归测试 C.测试环境的建立 D.探查式测试(分数:2.00)A.B.C.D. 解析:解析 由自动化的软件测试的特点可知,选项 D 的探查式测试最适合进行自动化软件测试。20.分析性能下降曲线时会把曲线划分为几个区间,那么对于分析性能瓶颈有很大作用的是哪一个下列
22、区间_。 A.性能平坦区 B.性能轻微下降区 C.性能急剧下降区 D.其他区(分数:2.00)A.B.C. D.解析:解析 通常分析性能下降曲线时,会首先将其分为几个区间:性能平坦区、性能轻微下降区、性能急剧下降区。其中性能平坦区是软件运行的正常状态,因此人们往往希望该区间越长越好;性能轻微下降区是软件承受高负载的缓冲区,该区间也是越长越好;性能急剧下降区不是软件的正常运行区间,这一阶段响应时间会急剧增加至用户不能忍受,吞吐量会急剧下降甚至低于单用户时的吞吐量,但该区间对于分析性能瓶颈却有很大作用,通常说来,性能急剧下降区的起始点(也称性能拐点)就是性能瓶颈出现的地方,此时进一步分析资源利用率
23、就可以找到性能瓶颈的原因。21.下面与软件可靠性有关的概念中,理解不正确的是_。 A.软件错误不仅包括程序代码的错误,软件开发过程中所有制品的错误及软件的文档、手册中的错误都可以归为软件错误 B.软件故障是指软件代码中的错误 C.在软件的一次运行期间,软件故障一定会导致软件失效 D.通常修改软件故障可以降低软件发生失效的概率,从而提高软件可靠性(分数:2.00)A.B.C. D.解析:解析 软件故障是指软件代码中的错误,软件失效则是指由软件故障引起的在软件运行期间出现的错误,一般来说在软件的一次运行期间,软件故障可能会导致软件失效,也可能不引起软件失效。22.在实际的面向对象集成测试中,为保证
24、测试的充分性,往往要关注测试类间的各种连接,下面的测试方法不属于针对类间连接的测试是_。 A.受控异常测试 B.往返场景测试 C.模态类测试 D.类关联的多重性测试(分数:2.00)A.B.C. D.解析:解析 针对类间连接测试的常用技术有:类关联的多重性测试。受控异常测试。往返场景测试。模态机测试。模态机测试与类层次的模态类测试类似,二者区别是模态类测试是针对一个类进行的,而模态机测试是针对多个类进行的。23.以下关于 Web 应用软件测试的说法中,正确的是_。 A.数据完整性测试是 Web 应用软件数据层测试的一项重要内容 B.内容测试是 Web 应用软件易用性测试的一项重要内容 C.表单
25、测试是 Web 应用软件表示层测试的一项重要内容 D.链接结构的测试是 Web 应用软件安全性测试的一项重要内容(分数:2.00)A. B.C.D.解析:解析 Web 应用软件数据层测试包括两个方面:一是数据完整性的测试,二是大数据量数据库的性能测试,故选项 A 说法正确。Web 应用软件功能测试通常针对链接测试、表单测试和 Cookie 测试三个方面进行,故选项 C 说法不正确。Web 应用软件安全性测试主要包括服务器端的内容安全性、客户端的内容安全性和 Cookie 安全性三个方面,由此选项 D 说法不正确。内容测试和易用性测试都是 Web 应用软件的测试策略,不具有从属关系,故选项 B
26、说法不正确。24.下列不属于对物理破坏的防护措施的是_。 A.主要设备远离人为破坏 B.所有设备远离灾害的侵扰 C.对通信数据进行加密 D.主要设备要屏蔽电磁干扰(分数:2.00)A.B.C. D.解析:解析 对物理破坏的防护措施有三点: (1)所有设备都应远离灾害(如水灾、火灾、雷电、战火等)的侵扰。 (2)主要设备需要远离人为破坏,如计算机和打印机等要放在有安全门锁的机房等。 (3)主要设备要屏蔽电磁干扰。25.静态分析中,提供整个项目中的所有函数之间的调用关系图属于_。 A.程序结构分析 B.程序数据流分析 C.可视化分析 D.程序执行频度分析(分数:2.00)A. B.C.D.解析:解
27、析 程序数据流分析,主要指静态分析全局变量和局部变量的声明、赋值和使用的位置;动态跟踪变量值的变化情况。而选项 A 程序结构分析,主要提供整个项目中的所有函数之间的调用关系图。选项 C 是针对面向对象的软件,提供整个项目中的所有类之间的关系图。选项 D 程序执行频度分析是统计所有条件分支、多出口跳转、多出口调用的各分支、出口的执行关系图。二、B论述题/B(总题数:2,分数:40.00)以下是一个自动饮料售货机软件的操作规格说明,请按要求回答问题设要对一个自动饮料售货机软件进行黑盒测试。该软件的规格说明如下:“有一个处理单价为 1 元 5 角钱的盒装饮料的自动售货机软件。若投入 1 元 5 角硬
28、币,按下“可乐“、“雪碧“或“红茶“按钮,相应的饮料就送出来。若投入的是2 元硬币,在送出饮料的同时退还 5 角硬币。“(分数:12.00)(1).试利用因果图法,建立该软件的因果图(分数:6.00)_正确答案:(首先分析软件中出现的所有原因和结果,并将其标号。 原因: 1 投入 1 元 5 角硬币 2 投入2 元硬币 3 按“可乐“按钮 4 按“雪碧“按钮 5 按“红茶“按钮 结果: 21 退还 5 角硬币 22 送出“可乐“饮料 23 送出“雪碧“饮料 24 送出“红茶“饮料 中间状态: 11 已投币 12 已按钮 然后根据上述原因和结果,以及各状态间的关系,画出因果图,如图所示: *)解
29、析:(2).设计测试该软件的全部测试用例(分数:6.00)_正确答案:(将上述因果图转换为判定表,如表所示,每一列可以作为确定测试用例的依据。 1 2 3 4 5 6 7 8 9 10 11输入1元5 角硬币(1) 1 1 1 1 0 0 0 0 0 0 0输入输 (2) 0 0 0 0 1 1 1 1 0 0 0入2 元硬币按“可乐”按钮(3) 1 0 0 0 1 0 0 0 1 0 0按“雪碧”按钮(4) 0 1 0 0 0 1 0 0 0 1 0按“红茶”按钮(5) 0 0 1 0 0 0 1 0 0 0 1已投币(11) 1 1 1 1 1 1 1 1 0 0 0中间节点已按钮(12)
30、 1 1 1 0 1 1 1 0 1 1 1退还5 角硬币(21) 0 0 0 0 1 1 1 0 0 0 0送出“可乐”饮料(22) 1 0 0 0 1 0 0 0 0 0 0输出进出“(23) 0 1 0 0 0 1 0 0 0 0 0雪碧”饮料送出“红茶”饮料(24) 0 0 1 0 0 0 1 0 0 0 0)解析:解析 对自动软件售货机的软件进行基于因果图的黑盒测试,首先根据软件的规格说明,找出所有可能的原因和结果,以及二者之间的联系,画出因果图。然后根据基于因果图的黑盒测试方法,将因果图转换为判定表,设计测试用例即可。针对以下 C 语言程序,请按要求回答问题下面是一个简单的 C 语
31、言程序:int func1(int a,b,c) int k=1;if(a0|b0)k=k+a;else k=k+b;if(c0)k=k+c;return k;(分数:27.99)(1).画出该函数的程序流程图。(分数:9.33)_正确答案:(根据源程序易得流程图,如图所示。 *)解析:(2).设计测试用例,分别使函数的各种逻辑覆盖率尽量达到 100%。如果认为该函数的某种逻辑覆盖率无法达到 100%,需要说明原因。(分数:9.33)_正确答案:(经过分析不难知,上面这个程序包含: 1)五个语句:每行一个语句。 2)三个条件:a0; b0; c0 3)四个分支:有两个 if 语句,每个 if
32、语句有两个分支。 4)六个条件组合:条件表达式(a0)|(b0)共有两个条件,a0 和 b0,故有四个条件组合;条件表达式(c0)只有一个条件c0,故有两个条件组合。所以该程序共有六个条件组合。 5)四条路径:从程序的入口到出口的路径共有四条,分别是: Path1: 123568 Path2: 123578 Path3: 124568 Path4: 124578)解析:(3).设计特殊的测试用例,说明各种逻辑覆盖之间的关系。(分数:9.33)_正确答案:(这个程序有三个输入:a、b、c,其输入数据组合是非常大的。下面对该程序分别应用不同的逻辑覆盖准则,设计测试用例。 1 语句覆盖 根据语句覆盖
33、准则,只需要采用两个输入数据组合:(a,b,c)=(1,1,1)、(-1,1,1),便可以把该程序的所有五个语句执行一遍。 2 分支覆盖(判定覆盖) 根据分支覆盖准则,只需要采用两个输入数据组合:(a,b,c)=(1,1,-1)、(-1,1,1),便可以把该程序的所有四个分支走遍。但未考虑 b0 的情况,故不满足条件覆盖。说明满足分支覆盖的测试用例未必满足条件覆盖。 3 条件覆盖 根据条件覆盖准则,只需要采用两个输入数据组合:(a,b,c)=(1,1,-1)、(-1,-1,1),便可以把该程序的三个条件的真假情况都覆盖到。由于表达式(a0)|(b0)的计算值都为真,不会执行 else 语句,即
34、不满足分支覆盖和语句覆盖。说明满足条件覆盖的未必满足分支覆盖和语句覆盖。 4 条件组合覆盖 根据条件组合的覆盖准则只需要采用四个输入数据组合:(a,b,c)=(1,-1,1)、(1,1,1)、(-1,1,-1)、(-1,-1,-1),便可以把该程序的六个条件组合情况覆盖到。但执行的路径数只有 2 个,故不满足路径覆盖。说明满足条件组合的覆盖不一定满足路径覆盖。 5 路径覆盖 根据路径覆盖的准则,由图可见,只需要采用四个输入数据组合:(a,b,c)=(1,1,1)、(1,1,-1)、(-1,1,1)、(-1,1,-1),便可以把该程序的所有四条路径都覆盖。路径覆盖是最强的覆盖准则。)解析:解析 首先根据源程序画出程序流图比较容易,然后分析学过的所有的逻辑覆盖(如语句覆盖,分支覆盖,路径覆盖等),分析针对每种逻辑覆盖的标准来设计测试用例,最后通过设计测试用例来体现各种逻辑覆盖之间的关系。