1、计算机四级软件测试工程师-49 及答案解析(总分:75.00,做题时间:90 分钟)一、选择题(总题数:25,分数:25.00)1.为提供集成测试的效果,软件的集成工作最好由 _ 来承担。(分数:1.00)A.该软件的设计人员B.该软件的编程人员C.该软件开发组的负责人D.不属于该软件开发组的软件设计人员2.软件测试自动化是指利用好的测试工具以自动运行测试用例。软件测试自动化的好处在于 _。(分数:1.00)A.比手工测试发现更多的软件缺陷B.可以自动产生测试计划C.使输入值组合的覆盖率达到 100%D.可以在较少的时间内运行更多的测试用例3.下面有关测试设计的叙述,说法不正确的是 _。(分数
2、:1.00)A.测试用例的设计是一项技术性强、智力密集型的活动B.在测试用例设计时,只设计覆盖正常流程和操作的测试用例即可C.在开展测试用例设计前,必须将测试需求进行详细展开D.在一般的测试组织内,测试用例的评审可能不是正式的评审会4.下列几种逻辑覆盖标准中,查错能力最强的是 _(分数:1.00)A.语句覆盖B.条件覆盖C.判定覆盖D.条件组合覆盖5.关于易用性测试,说法错误的是 _。(分数:1.00)A.用户界面测试是软件易用性测试最重要的一项内容B.对软件功能的动态关联进行测试可以通过检查菜单完成C.使用软件的目的就是减少重复输入,减轻人工劳动,提高工作效率D.检查和评估软件安装手册的正确
3、性和易用性是安装性测试的重要内容6.关于内置式合约测试(BICT),下列说法错误的是 _。(分数:1.00)A.增加了测试器构件和测试处理器构件,使被测构件具有自测试能力B.该测试方法可用于动态、分布式系统C.该测试方法的提出扩展了基于构件的软件工程实践D.提出的模型驱动方法效率很高7.在软件生存周期中占据时间最长的是 _。(分数:1.00)A.运行和维护阶段B.软件开发阶段C.需求分析阶段D.软件设计阶段8.Myers 在 1979 年提出了一个重要观点,即软件测试的目的是为了 _。(分数:1.00)A.证明程序正确B.查找程序错误C.改正程序错误D.验证程序无错误9.下列关于缺陷产生原因的
4、叙述中,不属于技术问题的是 _。(分数:1.00)A.文档错误,内容不正确或拼写错误B.系统结构不合理C.语法错误D.接口传递不匹配,导致模块集成出现问题10.下列关于软件性能测试的说法中,正确的是 _。(分数:1.00)A.性能测试的目的不是为了发现软件缺陷B.压力测试与负载测试的目的都是为了探测软件在满足预定性能需求的情况下所能负担的最大压力C.性能测试通常要对测试结果进行分析才能获得测试结论D.在性能下降曲线上,最大建议用户数通常处于性能轻微下降区与性能急剧下降区的交界处11.测试项目实践中,测试策划活动的目标是 _。(分数:1.00)A.确定测试范围B.划分测试任务C.编写测试计划文档
5、D.组织测试团队12.下列属于 QESAT/C 的优点是 _。(分数:1.00)A.及早地发现程序中隐藏的错误B.快捷有效地理解程序结构C.帮助分析和测试程序D.以上全部13.下列测试类型中,不是针对软件产品的质量特性的是 _。(分数:1.00)A.性能测试B.安全性测试C.易用性测试D.回归测试14.软件可靠性分析方法通常不依赖于概率统计的方法,下面属于软件可靠性分析方法的是 _。(分数:1.00)A.失效模式影响分析法(FMEA 法)B.故障树和事件树分析法C.潜在线路分析法D.以上全部15.对采用迭代或增量开发过程模型开发的产品进行集成测试时最适合采用的集成策略是 _。(分数:1.00)
6、A.传统的集成测试策略B.基于使用的集成测试策略C.基干集成测试策略D.高频集成测试策略16.下列关于面向对象集成测试的说法中,正确的是 _。(分数:1.00)A.大突击集成是面向对象集成测试最常用且最有效的方法B.自底向上集成和自顶向下集成都需要为集成测试开发大量代码C.与自底向上集成和自顶向下集成相比,基干集成是一种更充分的集成测试策略D.高频集成是以自底向上集成为基础,利用冒烟测试进行的集成测试17.不需要运行程序,通过收集有关代码的结构信息来对程序进行的测试是 _。(分数:1.00)A.性能测试B.黑盒测试C.白盒测试D.静态分析18.对于 Web 应用软件系统测试技术,下列不属于功能
7、测试的是 _。(分数:1.00)A.表单测试B.并发测试C.链接测试D.Cookie 测验试19.使用白盒测试方法时,确定测试数据应根据 _ 和指定的覆盖标准。(分数:1.00)A.程序的复杂结构B.程序的内部逻辑C.使用说明书D.程序的功能20.下列选项中,评审方法是按照正式化程度逐渐增强排列的是 _。(分数:1.00)A.临时评审、轮查、结对评审、走查、正式审查B.临时评审、走查、结对评审、轮查、正式评审C.临时评审、走查、小组评审、结对评审、正式评审D.正式评审、小组评审、走查、结对评审、临时评审21.传统的集成测试策略一般分为两种:一是非渐增式集成策略,二是渐增式集成策略。二者的区别是
8、 _。(分数:1.00)A.在集成测试中发现问题时,前者比后者更容易进行问题定位B.后者比前者更适合大规模应用系统的集成测试C.前者需要开发驱动模块和桩模块,而后者不需要D.前者不需要所有模块就绪,而后者需要22.通常测试人员判定一个运行结果中存在缺陷的准则是 _。(分数:1.00)A.开发人员承认这个运行结果中存在缺陷B.测试人员可以从中找出缺陷的证据C.这个运行结果与测试案例中的预期结果不一致D.这个运行结果与测试人员预期的不一致23.等价类划分和边界值分析是常用的两种黑盒测试方法,采用这两种方法,可以大幅度减少测试用例的数量,那么,它们的局限性是 _。(分数:1.00)A.在设计测试用例
9、时不能将这两种方法结合在一起同时使用B.不同输入变量之间可能存在约束关系,它们不能处理这类约束关系C.不能用于大型信息系统的测试用例的设计D.不能用于单元测试和集成测试24.下列关于测试策略,说法错误的是 _。(分数:1.00)A.自底向上测试的优点是随着上移,驱动模块逐步减少,测试开销小一些B.自顶向下测试的优点是较早的发现高层模块接口、控制等方面的问题C.自底向上测试的优点是比较容易设计测试用例D.自顶向下测试的优点是使得低层模块的错误较早发现25.下列关于测试方法,说法正确的是 _。(分数:1.00)A.白盒测试不同于黑盒测试之处是它可以减少测试用例数量B.覆盖所有独立路径就能够覆盖所有
10、分支C.在单元测试中不使用黑盒测试技术D.满足分支覆盖就满足条件覆盖和语句覆盖二、论述题(总题数:3,分数:50.00)26.论述题 1:以下是一软件规格说明,请按要求回答问题软件规格说明:某工厂招工规定,报名者年龄应该在 16 周岁到 35 周岁之间(到 2005 年 12 月 31 日为止),即出生年月不在上述范围内的人员将不予接受,并显示“年龄不合格”的出错信息。(1)请根据规格说明,划分等价类。(2)使用等价类划分方法为该软件设计测试用例。(分数:20.00)_27.论述题 2:以下是某“象棋中走马事件”应用程序的走马规则,请按要求回答问题以下是中国象棋中走马事件中的走马原则:1)如果
11、落点在棋盘外,则不移动棋子。2)如果落点与起点不构成日字型,则不移动棋子。3)如果落点处有己方棋子,则不移动棋子。4)如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子。5)如果不属于(1)(4)条,且落点处无棋子,则移动棋子。6)如果不属于(1)(4)条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子。7)如果不属于(1)(4)条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。(1)画出该应用程序的因果图。(2 对该软件进行基于因果图的方法设计测试用例。(分数:12.00)_28.论述题 3:针对以下 C 语言程序,请按要求回答问题下面是一个程序段(C 语言),试设
12、计基本路径测试的测试用例,设计出的测试用例要保证每一个基本独立路径至少要执行一次。函数说明:当 i flag=0;返回 i count+100当 i flag=l;返回 i count*10否则 返回 i count*20输入参数:int i count int i flag输出参数:int i retum程序代码如下:(分数:18.00)_计算机四级软件测试工程师-49 答案解析(总分:75.00,做题时间:90 分钟)一、选择题(总题数:25,分数:25.00)1.为提供集成测试的效果,软件的集成工作最好由 _ 来承担。(分数:1.00)A.该软件的设计人员B.该软件的编程人员C.该软件开
13、发组的负责人D.不属于该软件开发组的软件设计人员 解析:解析 为提供集成测试的效果,软件的集成工作最好由不属于该软件开发组的软件设计人员承担。2.软件测试自动化是指利用好的测试工具以自动运行测试用例。软件测试自动化的好处在于 _。(分数:1.00)A.比手工测试发现更多的软件缺陷B.可以自动产生测试计划C.使输入值组合的覆盖率达到 100%D.可以在较少的时间内运行更多的测试用例 解析:解析 软件测试自动化的主要特点就是可以在较少的时间内运行更多的测试用例,这也是使用它的好处。3.下面有关测试设计的叙述,说法不正确的是 _。(分数:1.00)A.测试用例的设计是一项技术性强、智力密集型的活动B
14、.在测试用例设计时,只设计覆盖正常流程和操作的测试用例即可 C.在开展测试用例设计前,必须将测试需求进行详细展开D.在一般的测试组织内,测试用例的评审可能不是正式的评审会解析:解析 在测试用例设计时,不能只设计覆盖正常流程和操作的测试用例,而必须强制覆盖错误输入处理、边界值处理等场景,以确保被测软件系统投入使用时具备较强的容错能力。4.下列几种逻辑覆盖标准中,查错能力最强的是 _(分数:1.00)A.语句覆盖B.条件覆盖C.判定覆盖D.条件组合覆盖 解析:解析 对于选项中的几种逻辑覆盖,查错能力最强的应该是条件组合测试。5.关于易用性测试,说法错误的是 _。(分数:1.00)A.用户界面测试是
15、软件易用性测试最重要的一项内容B.对软件功能的动态关联进行测试可以通过检查菜单完成 C.使用软件的目的就是减少重复输入,减轻人工劳动,提高工作效率D.检查和评估软件安装手册的正确性和易用性是安装性测试的重要内容解析:解析 对软件功能的关联包括静态关联和动态关联两方面,其中对于静态关联的测试可以通过检查菜单完成,而对于动态关联的测试需要针对各项任务设计测试用例,以检查软件能否合理引导用户使用下一步的功能,故选项 B 说法不正确。6.关于内置式合约测试(BICT),下列说法错误的是 _。(分数:1.00)A.增加了测试器构件和测试处理器构件,使被测构件具有自测试能力B.该测试方法可用于动态、分布式
16、系统C.该测试方法的提出扩展了基于构件的软件工程实践D.提出的模型驱动方法效率很高 解析:解析 内置式合约测试(BICT)可用于动态、分布式系统,扩展了基于构件的软件工程实践,但是它提出的模型驱动的方法需要构件的源代码,其效率目前还是未知的。7.在软件生存周期中占据时间最长的是 _。(分数:1.00)A.运行和维护阶段 B.软件开发阶段C.需求分析阶段D.软件设计阶段解析:解析 由于很多复杂因素的影响,软件开发组织投入到软件产品上的费用以及大多数时间都花在了软件完成并交付使用后对它的维护上,软件的运行和维护阶段可以说是软件生存周期中占据时间最长的阶段。8.Myers 在 1979 年提出了一个
17、重要观点,即软件测试的目的是为了 _。(分数:1.00)A.证明程序正确B.查找程序错误 C.改正程序错误D.验证程序无错误解析:解析 Glenford J.Myers 于 1979 年给出测试的定义为:软件测试是为发现错误而执行的一个程序或者系统的过程。同时他给出了三个关于测试的重要观点: 测试是为了证明程序有错,而不是证明程序正确。 一个好的测试用例在于它能发现以前未发现的错误。 一个成功的测试是发现了以前未发现的错误的测试。9.下列关于缺陷产生原因的叙述中,不属于技术问题的是 _。(分数:1.00)A.文档错误,内容不正确或拼写错误B.系统结构不合理 C.语法错误D.接口传递不匹配,导致
18、模块集成出现问题解析:解析 软件缺陷产生的原因大的方面讲主要有技术问题,团队合作,软件本身。该题考察大方面中的小问题,即对三方面划分的理解,显然选项 A 中文档的问题应该是属于软件本身的,而非技术问题。10.下列关于软件性能测试的说法中,正确的是 _。(分数:1.00)A.性能测试的目的不是为了发现软件缺陷B.压力测试与负载测试的目的都是为了探测软件在满足预定性能需求的情况下所能负担的最大压力C.性能测试通常要对测试结果进行分析才能获得测试结论 D.在性能下降曲线上,最大建议用户数通常处于性能轻微下降区与性能急剧下降区的交界处解析:解析 性能测试通用模型(PTGM 模型)的最后一步就是测试结果
19、分析,说明性能测试通常要对测试结果进行分析才能获得测试结论,故 C 正确。软件的性能是软件的一种非功能特性。软件性能测试包括以下几方面的目标:发现性能缺陷;性能调优;能力检验和规划。其中性能测试的首要目标应该就是发现软件性能缺陷,说明 A 说法不正确。压力测试与负载测试虽然都是要对软件施加业务压力,但其根本目的完全不同,负载测试的目的是为了探测软件在满足预定性能需求的情况下所能负担的最大压力,但压力测试的目的是利用压力来揭示软件中存在的潜在缺陷,故 B 说法不正确。在性能下降曲线上,最大建议用户数通常处于平坦区和性能轻微下降区的交界处,所以 D 说法错误。11.测试项目实践中,测试策划活动的目
20、标是 _。(分数:1.00)A.确定测试范围B.划分测试任务C.编写测试计划文档 D.组织测试团队解析:解析 在实际的测试项目实践中,测试策划活动的目标是编写测试计划文档。12.下列属于 QESAT/C 的优点是 _。(分数:1.00)A.及早地发现程序中隐藏的错误B.快捷有效地理解程序结构C.帮助分析和测试程序D.以上全部 解析:解析 QESAT/C 的优点是:能帮助分析和测试程序,快捷有效地理解程序结构,及早地发现程序中隐藏地错误,从而提高软件的质量。13.下列测试类型中,不是针对软件产品的质量特性的是 _。(分数:1.00)A.性能测试B.安全性测试C.易用性测试D.回归测试 解析:解析
21、 回归测试显然是不属于软件产品的质量特性。14.软件可靠性分析方法通常不依赖于概率统计的方法,下面属于软件可靠性分析方法的是 _。(分数:1.00)A.失效模式影响分析法(FMEA 法)B.故障树和事件树分析法C.潜在线路分析法D.以上全部 解析:解析 目前主要的软件可靠性分析方法有失效模式影响分析法、严酷度分析法、故障树分析法、事件树分析法、潜在线路分析法。15.对采用迭代或增量开发过程模型开发的产品进行集成测试时最适合采用的集成策略是 _。(分数:1.00)A.传统的集成测试策略B.基于使用的集成测试策略C.基干集成测试策略D.高频集成测试策略 解析:解析 高频集成是指在软件开发过程中频繁
22、地将新开发的代码与已有代码集成。最适用于采用迭代或增量开发过程模型开发的产品进行集成测试。16.下列关于面向对象集成测试的说法中,正确的是 _。(分数:1.00)A.大突击集成是面向对象集成测试最常用且最有效的方法B.自底向上集成和自顶向下集成都需要为集成测试开发大量代码 C.与自底向上集成和自顶向下集成相比,基干集成是一种更充分的集成测试策略D.高频集成是以自底向上集成为基础,利用冒烟测试进行的集成测试解析:解析 大突击集成就是将系统的所有组成成分都集成在一起进行测试,通常只有在整个软件的可靠性有了基本的保障时,大突击集成测试才是一种合理的选择。自底向上集成主要缺点是需要开发大量的测试驱动代
23、码,自顶向下集成则需要为集成测试开发大量桩代码,总之,二者都要为集成测试开发大量代码。选项 C 说法过于绝对,因为只有当类间的主要协作关系可以明确辨识,且每个功能只需要少数类协作就可以完成时,采用协作集成方式才是一个不错的选择。高频集成并不是一个具体的集成策略,它是指在软件开发过程中频繁地将新开发出来的代码与已有代码集成,一般采用冒烟的方式,但并不是以自底向上集成为基础。17.不需要运行程序,通过收集有关代码的结构信息来对程序进行的测试是 _。(分数:1.00)A.性能测试B.黑盒测试C.白盒测试D.静态分析 解析:解析 软件测试的分类方法比较多,针对测试时是否要运行程序分为静态测试和动态测试
24、,其中静态测试也称静态分析,是不必运行程序目的仅仅是非曲直收集程序代码的结构信息而不用查错,相反动态测试则是要执行程序,查出程序的错误非单纯收集代码结构信息。针对测试人员是否要清楚程序的内部逻辑,将测试分为白盒测试和黑盒测试,同时这两种测试方法都是要对程序进行查错,从这一角度,白盒测试和黑盒测试都应属于动态测试。由此本题 D 静态分析最恰当。18.对于 Web 应用软件系统测试技术,下列不属于功能测试的是 _。(分数:1.00)A.表单测试B.并发测试 C.链接测试D.Cookie 测验试解析:解析 Web 应用软件的系统测试技术除了功能测试外还包括性能测试、易用性测试、内容测试、安全性测试和
25、接口测试等。由于 Web 应用软件的特殊性,在按照测试大纲对 Web 应用软件进行系统测试前通常要进行几个方面的功能测试,主要包括:链接测试,表单测试,Cookie 测试。19.使用白盒测试方法时,确定测试数据应根据 _ 和指定的覆盖标准。(分数:1.00)A.程序的复杂结构B.程序的内部逻辑 C.使用说明书D.程序的功能解析:解析 使用白盒测试方法时,确定测试数据应根据程序的内部逻辑和指定的覆盖标准。20.下列选项中,评审方法是按照正式化程度逐渐增强排列的是 _。(分数:1.00)A.临时评审、轮查、结对评审、走查、正式审查 B.临时评审、走查、结对评审、轮查、正式评审C.临时评审、走查、小
26、组评审、结对评审、正式评审D.正式评审、小组评审、走查、结对评审、临时评审解析:解析 同行评审方法很多,基于正式化程度不同或其规则和灵活程度不同,可将同行评审进行分类。根据正式化程度不同,从非正式到十分严格依次为:临时评审、轮查、结对评审、走查、小组评审、正式审查。21.传统的集成测试策略一般分为两种:一是非渐增式集成策略,二是渐增式集成策略。二者的区别是 _。(分数:1.00)A.在集成测试中发现问题时,前者比后者更容易进行问题定位B.后者比前者更适合大规模应用系统的集成测试 C.前者需要开发驱动模块和桩模块,而后者不需要D.前者不需要所有模块就绪,而后者需要解析:解析 仅有 B 说法正确,
27、是二者的区别。其他三个选项说法颠倒。22.通常测试人员判定一个运行结果中存在缺陷的准则是 _。(分数:1.00)A.开发人员承认这个运行结果中存在缺陷B.测试人员可以从中找出缺陷的证据C.这个运行结果与测试案例中的预期结果不一致 D.这个运行结果与测试人员预期的不一致解析:解析 通常测试人员判定一个运行结果中存在缺陷的准则是这个运行结果与测试案例中的预期结果不一致。23.等价类划分和边界值分析是常用的两种黑盒测试方法,采用这两种方法,可以大幅度减少测试用例的数量,那么,它们的局限性是 _。(分数:1.00)A.在设计测试用例时不能将这两种方法结合在一起同时使用B.不同输入变量之间可能存在约束关
28、系,它们不能处理这类约束关系 C.不能用于大型信息系统的测试用例的设计D.不能用于单元测试和集成测试解析:解析 等价类划分和边界值分析的局限性表述正确的就是选项 B,不同输入变量之间可能存在约束关系,它们不能处理这类约束关系。24.下列关于测试策略,说法错误的是 _。(分数:1.00)A.自底向上测试的优点是随着上移,驱动模块逐步减少,测试开销小一些B.自顶向下测试的优点是较早的发现高层模块接口、控制等方面的问题C.自底向上测试的优点是比较容易设计测试用例D.自顶向下测试的优点是使得低层模块的错误较早发现 解析:解析 自顶向下测试的优点应该是使得顶层模块的错误较早发现。25.下列关于测试方法,
29、说法正确的是 _。(分数:1.00)A.白盒测试不同于黑盒测试之处是它可以减少测试用例数量B.覆盖所有独立路径就能够覆盖所有分支 C.在单元测试中不使用黑盒测试技术D.满足分支覆盖就满足条件覆盖和语句覆盖解析:解析 白盒测试与黑盒测试的本质区别是对内部逻辑的理解,与测试用例数量无关。单元测试是以白盒测试为主,但有时也会用到黑盒测试技术。满足分支测试不一定满足条件测试。二、论述题(总题数:3,分数:50.00)26.论述题 1:以下是一软件规格说明,请按要求回答问题软件规格说明:某工厂招工规定,报名者年龄应该在 16 周岁到 35 周岁之间(到 2005 年 12 月 31 日为止),即出生年月
30、不在上述范围内的人员将不予接受,并显示“年龄不合格”的出错信息。(1)请根据规格说明,划分等价类。(2)使用等价类划分方法为该软件设计测试用例。(分数:20.00)_正确答案:(问题 1:解答:根据题意,划分等价类。假定已知出生年月由六位数字字符表示,前四位代表年,后两位代表月,则可以划分三个有效等价类和七个无效等价类。具体如下:有效等价类:出生年月:(1)六位数字对应数值:(5)197003198912月份对应数值:(8)在 112 之间无效等价类:出生年月:(2)含非数字字符(3)少于六个数字字符(4)多于六个数字字符对应数值:(6)小于 197003(7)大于 198912月份对应数值:
31、(9)等于 0(10)大于 12问题 2:解答:根据上述等价类划分,设计测试用例。有效等价类的测试用例,如表 17-10 所示。表 17-10 有效等价类 测试数据期望结果覆盖范围197703显示有效输入(1)(2)(8)无效等价类的测试用例,如表 17-11 所示。表 17-11 无效等价类 测试数据 期望结果 覆盖范围ZHU#12 显示无效输入 (2)19823 显示无效输入 (3)1982012 显示无效输入 (4)195503 年龄不合格 (5)199112 年龄不合格 (6)197700 显示无效输入 (9)197732 显示无效输入 (10)解析:解析 首先分析程序的规则说明和被测
32、程序的功能,将其输入情况划分为有效等价类和无效等价类,然后按照等价类设计测试用例的方法设计有效的测试用例和无效的测试用例。27.论述题 2:以下是某“象棋中走马事件”应用程序的走马规则,请按要求回答问题以下是中国象棋中走马事件中的走马原则:1)如果落点在棋盘外,则不移动棋子。2)如果落点与起点不构成日字型,则不移动棋子。3)如果落点处有己方棋子,则不移动棋子。4)如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子。5)如果不属于(1)(4)条,且落点处无棋子,则移动棋子。6)如果不属于(1)(4)条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子。7)如果不属于(1)(4)条,且
33、落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。(1)画出该应用程序的因果图。(2 对该软件进行基于因果图的方法设计测试用例。(分数:12.00)_正确答案:(问题 1:解答:第一步,从中国象棋中走马事件中的走马原则的描述中,明确原因和结果。原因:1 落点在棋盘上。2 落点与起点构成日字。3 落点处无己方棋子。4 落点方向的邻近交叉点无棋子。5 落点处无棋子。6 落点处为对方棋子(非老将)。7 落点处为对方老将。结果:21不移动棋子。22移动棋子。23移动棋子,并除去对方棋子。24移动棋子,并提示战胜对方,结束游戏。第二步,根据上面分析的原因和结果,结合题目中二者的关系,建立因果图。其
34、因果图如图 17-3 所示,图中,结点 11 是导出结果的进一步原因。第三步,标记约束。由于 4 种结果不能同时发生,所以在因果图上标记 O(惟一)约束。由于原因 5、6、7 不能同时发生,所以在因果图上标出 E(异)约束。)解析:解析 首先分析走马规则,找出所有的原因以及所有可能的结果,结合题目中找出二者的联系,按照因果图的画法规则,画出因果图。然后按照基于因果图的方法设计测试用例。28.论述题 3:针对以下 C 语言程序,请按要求回答问题下面是一个程序段(C 语言),试设计基本路径测试的测试用例,设计出的测试用例要保证每一个基本独立路径至少要执行一次。函数说明:当 i flag=0;返回 i count+100当 i flag=l;返回 i count*10否则 返回 i count*20输入参数:int i count int i flag输出参数:int i retum程序代码如下:(分数:18.00)_正确答案:(问题 1:解答:根据程序的源代码,容易画出对应的控制流图,如图 17-4 所示。(其中圈中的数字代表的是语句的行号)解析:解析 首先根据程序的源代码,画出控制流图。然后通过控制流图可以计算出该程序的复杂度,找出所有的独立路径,根据基本路径测试法设计测试用例。