1、计算机四级软件测试工程师-11 及答案解析(总分:170.00,做题时间:90 分钟)一、B选择题/B(总题数:25,分数:50.00)1.关于软件集成测试,下列说法不正确的是_。(分数:2.00)A.集成测试的对象包括任意一个软件单元集成到计算机软件系统的组装过程B.集成测试的对象包括任意一个组装得到的软件系统C.软件集成测试的目的是检验单元之间、软件单元和已集成的软件系统之间的接口关系D.软件的集成测试不需要验证已集成软件系统是否符合设计要求2.一经发现并改正了程序中隐藏的缺陷,然后再重新执行以前发现这个缺陷的测试,查看此缺陷是否重现。这种测试方法被称作_。(分数:2.00)A.增量测试B
2、.回归测试C.大突击测试D.动态测试3.下列关于面向对象中继承机制的陈述,不正确的是_。(分数:2.00)A.继承是指一种事物保留了另一种事物的全部特征,并且具有自身的独有性质B.在面向对象软件中,特殊类(子类)的对象拥有其一般类的全部属性与服务C.继承支持软件复用但是降低了软件开发效率D.继承性决定了面向对象软件的测试必须考虑继承对测试充分性的影响4.模块是软件中的一个单独的编译单位,而不是一个单独的执行单位。所以在测试时要为模块设计两类附加模块,模拟模块的实际运行环境,这两类模块是_。(分数:2.00)A.桩模块和接口模块B.驱动模块和接口模块C.驱动模块和桩模块D.数据模块和计算模块5.
3、下列针对软件测试过程的说法,不正确的是_。(分数:2.00)A.软件测试过程是一种抽象的过程B.软件测试过程用于定义软件测试的流程和方法C.软件测试过程决定软件的质量D.软件测试过程直接影响测试结果的准确性和有效性6.用户界面一致性的测试目的是_。(分数:2.00)A.检查界面能否辅助功能的展现B.检查同一软件内界面风格是否一致C.检查软件在完成不同功能时界面的风格是否一致D.以上都不对7.缺陷分析的常用方法有_。(分数:2.00)A.缺陷分布报告B.缺陷趋势报告C.缺陷年龄报告D.以上都是8.功能或性能没有实现,主要功能部分丧失,次要功能完全丧失,或致命的错误生命,这属于软件缺陷级别中的_。
4、(分数:2.00)A.致命的缺陷(fatal)B.严重的缺陷(critical)C.一般的缺陷(major)D.微小的缺陷(minor)9.在面向对象软件的集成测试中,关于程序的系统测试,说法错误的是_。(分数:2.00)A.面向对象系统测试的主要目标是测试开发出来的软件是否是问题空间的一个合理解B.对于系统测试而言,面向对象软件与传统结构化软件并没有本质区别C.面向对象软件测试技术主要有功能测试和其他系统测试D.面向对象的系统测试,与传统的面向过程的结构化软件测试方法,在类与对象这一块有着本质的区别10.如下图所示实例,为了使每个语句都执行一次,程序执行的路径应该为_。(分数:2.00)A.
5、B.C.D. 11.兼容性测试是指_。(分数:2.00)A.针对软件对其运行环境的依赖进行测试,以验证软件是否能够在所有期望的环境中运行B.测试本款软件与其他应用软件是否能在同一操作系统下同时执行C.检测软件与其他软件是否能正常进行信息的交流和传递D.以上都不对12.如上图所示实例,以下测试用例哪一组能够满足判定覆盖_。(分数:2.00)A.(a=2,b=0,x=6)、(a=1,b=0,x=1)B.(a=2,b=0,x=4)、(a=3,b=0,x=2)C.(a=2,b=2,x=2)、(a=3,b=0,x=6)D.(a=2,b=O,x=6)、(a=2,b=0,x=4)13.软件测试环境包括_。(
6、分数:2.00)A.测试设计环境B.测试实施环境C.测试管理环境D.以上全部14.关于 Web 应用软件的特点描述,错误的是_。(分数:2.00)A.基于无连接协议B.由内容驱动C.开发周期较长,演变较慢D.完全性要求较高15.软件开发过程中必须伴有质量保证活动,而软件测试又是软件质量保证的关键因素。针对下列说法正确的是_。(分数:2.00)A.发布出去的软件有质量问题,是软件测试人员的错B.软件测试技术要求不高,至少比编程容易得多C.软件测试是测试人员的事,与开发人员无关D.软件测试阶段发现的错误并不只是在编码阶段产生的,需求和设计阶段也会产生错误16.为了更好地完成极限测试,下列不属于在极
7、限测试实施中应注意的方面是_。(分数:2.00)A.单元测试用例的生成B.单元测试工具的使用C.集成测试桩模块的设计D.模拟对象的使用17.测试用例是为了测试而设计的一组数据,在测试之前应精心选择。测试用例主要用来检验程序,因此测试用例应包括_。(分数:2.00)A.测试输入数据和与之对应的输出结果B.测试输入数据和软件产生的效果C.软件的执行流程和执行结果D.软件的执行结果和结果分析18.如上图所示实例,以下测试用例哪一组能够满足判定条件覆盖_。(分数:2.00)A.(a=2,b=0,x=6)、(a=1,b=1,x=1)B.(a=8,b=7,x=114)、(a=33,b=50,x=32)C.
8、(a=29,b=20,x=25)、(a=3,b=9,x=36)D.(a=21,b=20,x=62)、(a=22,b=40,x=24)19.下列情况下会考虑使用自动测试的是_。(分数:2.00)A.对软件产品的次要部件进行测试B.所开发的软件产品的需求不稳定C.需要反复执行的测试,使用不同输入数据值进行反复测试D.由客户方组织的验收测试20.测试工作的整体目标是_。(分数:2.00)A.确定测试的任务B.确定测试所需的各种资源和投入C.预见可能出现的风险和问题以指导测试的执行D.以上全部21.软件可靠性与硬件可靠性的主要区别不包含下列中的_。(分数:2.00)A.唯一性B.物理退化C.逻辑复杂性
9、和版本更新D.使用人员的不同22.关于面向对象软件单元测试的说法,错误的是_。(分数:2.00)A.面向对象软件中可独立被测试的单元通常是一个类族B.面向对象软件中可独立被测试的单元也可能是一个独立的类C.面向对象的单元测试分为方法层次、类层次和类树层次的测试D.面向对象的单元测试与面向过程的单元测试目的相同23.下列关于测试团队的说法中,不正确的是_。(分数:2.00)A.测试团队的组织方式由测试团队的规模、具体任务和技术来决定B.如果测试团队规模较大,则测试工程师分为 3 个层次:初级测试工程师、测试工程师和资深测试工程师C.建立、组织和管理一支优秀的测试团队是做好软件测试工作的基础,也是
10、最重要的工作之一D.发现系统的缺陷是测试工作的目的,但不是测试团队工作的核心目标24.性能测试主要用于实时系统和嵌入式系统,其目标是_。(分数:2.00)A.测试各种资源在超负荷的情况下的运行情况B.检测系统可以处理目标内确定的数据容量C.度量系统的性能和预先定义的目标有多大差距D.验证系统从软件或者硬件失效中恢复的能力25.软件测试的目的是_。(分数:2.00)A.软件编写完成以后的后续工作B.寻找软件缺陷而执行程序的过程C.使软件能更好工作D.保证程序能完全正确的被执行二、B论述题/B(总题数:3,分数:120.00)以下是结构化程序设计方法的设计过程的流程图,请按要求回答问题(分数:40
11、.00)(1).请画出该系统以上交互行为的状态图。(分数:20.00)_(2).使用基本路径测试方法确定该状态图的测试路径。(分数:20.00)_以下是某 C 程序段及其功能描述,请仔细阅读程序并完成要求企业发放的奖金根据利润提成,发放规则如下:利润()低于或等于 10 万元时,奖金可提 10%;利润高于 10 万元,低于 20 万元时,低于 10 万元的部分按 10%提成,高于 10 万元的部分,可提成 7.5%;20 万到 40 万之间时,高于 20 万元的部分,可提成5%;40 万到 60 万之间时高于 40 万元的部分,可提成 3%;60 万到 100 万之间时,高于 60 万元的部分
12、,可提成 1.5%,高于 100 万元时,超过 100 万元的部分按 1%提成。从键盘输入当月利润,输入应发放奖金总数。#include#includeint main()long int gain;int prizel, prize2, prize4, prize6, prize10,prize=0;puts(“*“);puts(“* The program will solve *“);puts(“ * the problem of prize distribution * “):puts(“ *“);puts(“please input the mum of gain:“);scanf(
13、“%ld“, prizel=100000*0.1:prize2=prizel+i00000*0.075:prize4=prize2+200000*0.05:prize6=prize4+200000*0.03:prize10=prize6+400000*0.015:if(gain=100000)prize=gain*0.1:else if(gain=200000)prize=prizel+(gain-i00000)*0.075;else if(gain=400000)prize=prize2+(gain-200000)*0.05:else if(gain=600000)prize=prize4+
14、(gain-400000)*0.03:else if(gain=1000000)prize=prize6+(gain-600000)*0.015;elseprize=prize10+(gain-i000000)*0.01;printf(“The prize is:%d/n“, prize);getch();return 0;(分数:40.00)(1).画出此程序主函数的控制流程图。(分数:20.00)_(2).设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到100%。如果认为该程序的语句或分支覆盖率无法达到 100%,需说明为什么。(分数:20.00)_以下是 QESuite
15、 web Version 1.0 用户手册的相关内容,请仔细阅读并按要求回答问题 (分数:40.00)(1).下表是问题报告的文档结构,请给出问题报告的定义,并回答文档状态各个状态的含义。(分数:20.00)_(2).请回答当文档状态为“打开/再现”、“待验/修复”、“新建”状态时需要何种人员进行哪些操作。 域 名 描 述编号 是创建问题报告时由系统生成的、唯一的,且在问题报告的生命周期中保持不变的显示域简要描述 简单描述所发现的问题,不能超过 50 个字。此域必须填写文档状态 问题的报告状态,例如,新建,打开,解决,关闭等。通过操作来自动填写,为显示域创建者 创建问题报告时的用户名,自动填写
16、,在问题报告的生命周期中保持不变的显示域创建日期 创建问题报告时的日期,自动填写,在问题报告的生命周期中保持不变的显示域修改者 记录最后一次修改问题报告单用户名,自动填写修改日期 记录最后一次修改问题报告时的日期,自动填写(分数:20.00)_计算机四级软件测试工程师-11 答案解析(总分:170.00,做题时间:90 分钟)一、B选择题/B(总题数:25,分数:50.00)1.关于软件集成测试,下列说法不正确的是_。(分数:2.00)A.集成测试的对象包括任意一个软件单元集成到计算机软件系统的组装过程B.集成测试的对象包括任意一个组装得到的软件系统C.软件集成测试的目的是检验单元之间、软件单
17、元和已集成的软件系统之间的接口关系D.软件的集成测试不需要验证已集成软件系统是否符合设计要求 解析:解析 软件集成测试的目的是检验单元之间、软件单元和已集成的软件系统之间的接口关系,并验证已集成软件系统是否符合设计要求。2.一经发现并改正了程序中隐藏的缺陷,然后再重新执行以前发现这个缺陷的测试,查看此缺陷是否重现。这种测试方法被称作_。(分数:2.00)A.增量测试B.回归测试 C.大突击测试D.动态测试解析:解析 回归测试是指:一经发现并改正了程序中隐藏的缺陷,然后再重新执行以前发现这个缺陷的测试,查看此缺陷是否重现。另外,当对发现的缺陷进行修改之后,执行一系列基准测试,以确认程序的修改有没
18、有对其他部分产生干扰。这也称为是回归测试。3.下列关于面向对象中继承机制的陈述,不正确的是_。(分数:2.00)A.继承是指一种事物保留了另一种事物的全部特征,并且具有自身的独有性质B.在面向对象软件中,特殊类(子类)的对象拥有其一般类的全部属性与服务C.继承支持软件复用但是降低了软件开发效率 D.继承性决定了面向对象软件的测试必须考虑继承对测试充分性的影响解析:解析 继承是一种事物保留了另一种事物的全部特征,并且具有自身的独有性质。继承是支持软件复用、提高软件开发效率的重要原因之一,所以 C 选项是错误的,提高软件的复用率只会提高软件的开发效率。4.模块是软件中的一个单独的编译单位,而不是一
19、个单独的执行单位。所以在测试时要为模块设计两类附加模块,模拟模块的实际运行环境,这两类模块是_。(分数:2.00)A.桩模块和接口模块B.驱动模块和接口模块C.驱动模块和桩模块 D.数据模块和计算模块解析:解析 所测试模块与它相关的驱动模块和桩模块共同构成一个“测试环境”,驱动模块和桩模块通常不作为软件产品的一部分交给用户,但是为了进行单元测试必须编写。5.下列针对软件测试过程的说法,不正确的是_。(分数:2.00)A.软件测试过程是一种抽象的过程B.软件测试过程用于定义软件测试的流程和方法C.软件测试过程决定软件的质量 D.软件测试过程直接影响测试结果的准确性和有效性解析:解析 软件测试过程
20、是一种抽象的模型,用于定义软件测试的流程和方法。软件开发过程决定软件的质量,软件测试过程质量直接影响测试结果的准确性和有效性。6.用户界面一致性的测试目的是_。(分数:2.00)A.检查界面能否辅助功能的展现B.检查同一软件内界面风格是否一致C.检查软件在完成不同功能时界面的风格是否一致 D.以上都不对解析:解析 Web 应用软件对软件的美观有相当程度的要求。用户界面一致性的检测目的是为了检查软件在完成不同功能时界面风格是否一致。7.缺陷分析的常用方法有_。(分数:2.00)A.缺陷分布报告B.缺陷趋势报告C.缺陷年龄报告D.以上都是 解析:解析 软件缺陷评估是评估软件质量的重要途径之一,并且
21、在软件可靠性评估中占重要作用。通常,软件缺陷评估模型假设缺陷呈泊松分布。常见的缺陷分析方法如有:缺陷分布报告,缺陷趋势报告,缺陷年龄报告,测试结果进度报告。对于缺陷分析,常用的主要参数有:状态、优先级、严重性、起源。8.功能或性能没有实现,主要功能部分丧失,次要功能完全丧失,或致命的错误生命,这属于软件缺陷级别中的_。(分数:2.00)A.致命的缺陷(fatal)B.严重的缺陷(critical) C.一般的缺陷(major)D.微小的缺陷(minor)解析:解析 软件缺陷有四种级别,分别为:(1)致命的:致命的错误,导致系统或者应用程序崩溃、死机、系统悬挂或者造成数据丢失、主要功能完全丧失;
22、(2)严重的:功能或特性没有实现,主要功能部分丧失,次要功能完全丧失,或致命的错误声明;(3)一般的:这种级别的错误不是很严重,虽然有一些缺陷,但不影响系统和程序的基本使用,功能没有被很好地实现,没有达到预期要求;(4)微小的,无关紧要的小问题,软件仍然可以使用,不影响功能的实现9.在面向对象软件的集成测试中,关于程序的系统测试,说法错误的是_。(分数:2.00)A.面向对象系统测试的主要目标是测试开发出来的软件是否是问题空间的一个合理解B.对于系统测试而言,面向对象软件与传统结构化软件并没有本质区别C.面向对象软件测试技术主要有功能测试和其他系统测试D.面向对象的系统测试,与传统的面向过程的
23、结构化软件测试方法,在类与对象这一块有着本质的区别解析:解析 面向对象程序的系统测试的主要目标是测试开发出来的软件是否是问题空间的一个合理解,因此对于系统测试而言,面向对象软件与传统结构化软件并没有本质区别。10.如下图所示实例,为了使每个语句都执行一次,程序执行的路径应该为_。(分数:2.00)A.B.C.D. 解析:解析 语句覆盖是指选择足够的测试数据,使被测程序中每个语句至少执行一次。上述流程网中一共有四条语句。所以完全的语句覆盖顺序为 D 选项:。11.兼容性测试是指_。(分数:2.00)A.针对软件对其运行环境的依赖进行测试,以验证软件是否能够在所有期望的环境中运行 B.测试本款软件
24、与其他应用软件是否能在同一操作系统下同时执行C.检测软件与其他软件是否能正常进行信息的交流和传递D.以上都不对解析:解析 所谓兼容性测试,是指针对软件对其运行环境的依赖进行测试,以验证软件是否能够在所有期望的环境中运行。通常,兼容性测试主要考虑硬件、软件和数据三个方面。12.如上图所示实例,以下测试用例哪一组能够满足判定覆盖_。(分数:2.00)A.(a=2,b=0,x=6)、(a=1,b=0,x=1)B.(a=2,b=0,x=4)、(a=3,b=0,x=2)C.(a=2,b=2,x=2)、(a=3,b=0,x=6)D.(a=2,b=O,x=6)、(a=2,b=0,x=4) 解析:解析 判定覆
25、盖是指设计若干测试数据,使得程序中每个判定表达式的每个分支都至少执行一次(真假分支均被满足一次)。判定覆盖又称为分支覆盖。上例中 A 选项的两组测试数据的执行路径分别为1356、1246。B、C、D 选项的执行路径都为 1356。所以选项 A 符合判定覆盖的标准13.软件测试环境包括_。(分数:2.00)A.测试设计环境B.测试实施环境C.测试管理环境D.以上全部 解析:解析 测试环境包括测试设计环境、测试实施环境和测试管理环境。14.关于 Web 应用软件的特点描述,错误的是_。(分数:2.00)A.基于无连接协议B.由内容驱动C.开发周期较长,演变较慢 D.完全性要求较高解析:解析 所谓
26、Web 应用软件,就是 Browser/Server(B/S)结构的软件,其特点是基于无连接协议,内容驱动,开发周期短,演化频繁,安全性要求高,美观性要求较高。15.软件开发过程中必须伴有质量保证活动,而软件测试又是软件质量保证的关键因素。针对下列说法正确的是_。(分数:2.00)A.发布出去的软件有质量问题,是软件测试人员的错B.软件测试技术要求不高,至少比编程容易得多C.软件测试是测试人员的事,与开发人员无关D.软件测试阶段发现的错误并不只是在编码阶段产生的,需求和设计阶段也会产生错误 解析:解析 软件测试环节现在已经引起了越来越多人们的注意。但是相对于软件开发而言,对软件测试还是存在很多
27、误区。A、B、C 均为错误的认识。而 D 选项则正确地表明了测试中发现的软件错误的来源,不只在编码阶段,软件开发的各个阶段都会产生错误。16.为了更好地完成极限测试,下列不属于在极限测试实施中应注意的方面是_。(分数:2.00)A.单元测试用例的生成B.单元测试工具的使用C.集成测试桩模块的设计 D.模拟对象的使用解析:解析 极限编程采用的是一种迭代的开发方式:整个软件项目由一系列增量式开发组成,在每一轮增量式开发流程中,单元测试和验收测试都是贯穿始终的关键步骤。为了更好地完成极限测试,在实施中需要注意三个方面:单元测试用例的生成,单元测试工具的使用,模拟对象的使用。17.测试用例是为了测试而
28、设计的一组数据,在测试之前应精心选择。测试用例主要用来检验程序,因此测试用例应包括_。(分数:2.00)A.测试输入数据和与之对应的输出结果 B.测试输入数据和软件产生的效果C.软件的执行流程和执行结果D.软件的执行结果和结果分析解析:解析 测试用例主要用来检验程序,因此不仅要有测试的输入数据,而且要指明这些输人数据的预期结果。如果对测试输入数据没有给出预期的程序输出结果,那么就缺少了检验实测结果的基准,就有可能把一个似是而非的错误当成正确的结果。18.如上图所示实例,以下测试用例哪一组能够满足判定条件覆盖_。(分数:2.00)A.(a=2,b=0,x=6)、(a=1,b=1,x=1) B.(
29、a=8,b=7,x=114)、(a=33,b=50,x=32)C.(a=29,b=20,x=25)、(a=3,b=9,x=36)D.(a=21,b=20,x=62)、(a=22,b=40,x=24)解析:解析 判定/条件覆盖是指选取足够多的测试数据,使得判定表达式中的每个条件的所有可能取值至少执行一次,而且每个判定表达式的所有可能的判定结果至少执行一次。上例中 A 选项的测试用例的执行路径分别为 1356、1246。两条判定语句的真假取值分别为 T(1)T(2)T(3)T(4),F(1)F(2)F(3)F(4)。所以既满足条件覆盖又满足判定覆盖。其他选项的分析雷同。19.下列情况下会考虑使用自
30、动测试的是_。(分数:2.00)A.对软件产品的次要部件进行测试B.所开发的软件产品的需求不稳定C.需要反复执行的测试,使用不同输入数据值进行反复测试 D.由客户方组织的验收测试解析:解析 自动测试的优点就是为了解决重复的人工操作。20.测试工作的整体目标是_。(分数:2.00)A.确定测试的任务B.确定测试所需的各种资源和投入C.预见可能出现的风险和问题以指导测试的执行D.以上全部 解析:解析 测试计划的整体目标是为了确定测试的任务、所需的各种资源和投入、预见可能出现的问题和风险,以指导测试的执行,最终实现测试的目标。21.软件可靠性与硬件可靠性的主要区别不包含下列中的_。(分数:2.00)
31、A.唯一性B.物理退化C.逻辑复杂性和版本更新D.使用人员的不同 解析:解析 软件可靠性与硬件可靠性的区别主要体现在:唯一性,软件设计出来后,所有副本都是一模一样的;硬件设计出来后,每个按照设计产生的硬件都不可能完全相同。物理退化,一个正确的硬件器件会因为物理退化在某时刻失效,但正确的软件则不会因为物理退化而发生失效。逻辑复杂性,软件具有复杂的内部逻辑,而硬件的内部逻辑则相对简单。版本更新,硬件的版本更新通常很慢,而软件的版本更新比较频繁。22.关于面向对象软件单元测试的说法,错误的是_。(分数:2.00)A.面向对象软件中可独立被测试的单元通常是一个类族B.面向对象软件中可独立被测试的单元也
32、可能是一个独立的类C.面向对象的单元测试分为方法层次、类层次和类树层次的测试D.面向对象的单元测试与面向过程的单元测试目的相同 解析:解析 A、B、C 选项中关于面向对象软件单元测试的陈述都是正确的,面向对象软件的测试主要包括两方面的内容:检查分析结果是否符合相应面向对象分析方法的要求;检查分析结果是否可以满足软件要求。与面向过程的测试有着不同的测试目的。23.下列关于测试团队的说法中,不正确的是_。(分数:2.00)A.测试团队的组织方式由测试团队的规模、具体任务和技术来决定B.如果测试团队规模较大,则测试工程师分为 3 个层次:初级测试工程师、测试工程师和资深测试工程师C.建立、组织和管理
33、一支优秀的测试团队是做好软件测试工作的基础,也是最重要的工作之一D.发现系统的缺陷是测试工作的目的,但不是测试团队工作的核心目标 解析:解析 建立、组织和管理一支优秀的测试团队是做好软件测试工作的基础,也是最重要的工作之一。A、B、C 选项中对测试团队的说法都是正确的。测试的目的是发现系统的缺陷,那发现系统的缺陷必然是测试人员的核心目标。24.性能测试主要用于实时系统和嵌入式系统,其目标是_。(分数:2.00)A.测试各种资源在超负荷的情况下的运行情况B.检测系统可以处理目标内确定的数据容量C.度量系统的性能和预先定义的目标有多大差距 D.验证系统从软件或者硬件失效中恢复的能力解析:解析 性能
34、测试主要用于实时系统和嵌入式系统,性能测试是指测试软件在集成系统中的运行性能。其目标是度量系统的性能和预先定义的目标有多大差距。性能测试必须要有工具支持。常用的测试用例设计方法有规范导出法。25.软件测试的目的是_。(分数:2.00)A.软件编写完成以后的后续工作B.寻找软件缺陷而执行程序的过程 C.使软件能更好工作D.保证程序能完全正确的被执行解析:解析 软件测试的目的是为了尽可能地发现软件的缺陷,而不是证明软件是正确的。从否定测试的角度来说测试是为了发现错误而执行的一个程序或系统的过程。二、B论述题/B(总题数:3,分数:120.00)以下是结构化程序设计方法的设计过程的流程图,请按要求回
35、答问题(分数:40.00)(1).请画出该系统以上交互行为的状态图。(分数:20.00)_正确答案:()解析:其状态图如下图所示,其中各结点及各支路的条件省略。 (2).使用基本路径测试方法确定该状态图的测试路径。(分数:20.00)_正确答案:()解析:由状态图可以看出:程序中有 2 个判定结点,故该程序的环路复杂度 V(G)=3,所以可以确定 3 条独立的测试路径,即: Path1:SOS1S2S5S7S8 Path2:SOS3S4S5S7S8 Path3:S0S1S2S5S7S1S2S5S7S8以下是某 C 程序段及其功能描述,请仔细阅读程序并完成要求企业发放的奖金根据利润提成,发放规则
36、如下:利润()低于或等于 10 万元时,奖金可提 10%;利润高于 10 万元,低于 20 万元时,低于 10 万元的部分按 10%提成,高于 10 万元的部分,可提成 7.5%;20 万到 40 万之间时,高于 20 万元的部分,可提成5%;40 万到 60 万之间时高于 40 万元的部分,可提成 3%;60 万到 100 万之间时,高于 60 万元的部分,可提成 1.5%,高于 100 万元时,超过 100 万元的部分按 1%提成。从键盘输入当月利润,输入应发放奖金总数。#include#includeint main()long int gain;int prizel, prize2,
37、prize4, prize6, prize10,prize=0;puts(“*“);puts(“* The program will solve *“);puts(“ * the problem of prize distribution * “):puts(“ *“);puts(“please input the mum of gain:“);scanf(“%ld“, prizel=100000*0.1:prize2=prizel+i00000*0.075:prize4=prize2+200000*0.05:prize6=prize4+200000*0.03:prize10=prize6+4
38、00000*0.015:if(gain=100000)prize=gain*0.1:else if(gain=200000)prize=prizel+(gain-i00000)*0.075;else if(gain=400000)prize=prize2+(gain-200000)*0.05:else if(gain=600000)prize=prize4+(gain-400000)*0.03:else if(gain=1000000)prize=prize6+(gain-600000)*0.015;elseprize=prize10+(gain-i000000)*0.01;printf(“T
39、he prize is:%d/n“, prize);getch();return 0;(分数:40.00)(1).画出此程序主函数的控制流程图。(分数:20.00)_正确答案:()解析:函数的控制流程图如下: (2).设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到100%。如果认为该程序的语句或分支覆盖率无法达到 100%,需说明为什么。(分数:20.00)_正确答案:()解析:为了使该程序满足分支覆盖和语句覆盖,应该设计测试用例,使其覆盖每一种情况。用例设计如下:Gain=20000,180000,350000,560000,970000,1200000。以下是 QESu
40、ite web Version 1.0 用户手册的相关内容,请仔细阅读并按要求回答问题 (分数:40.00)(1).下表是问题报告的文档结构,请给出问题报告的定义,并回答文档状态各个状态的含义。(分数:20.00)_正确答案:()解析:问题报告是追踪问题的主要文档类型。每一个问题报告记录了某一功能区域中发现的一个问题,以及它从被发现直到被解决或者被关闭的整个处理过程。 QEsuite web Version 1.0 中的软件问题生命周期定义: 新建测试中新报告的软件问题 打开软件问题已被确认并分配给相关开发工程师处理 关闭确认为无效的软件问题 待验工程师已完成修正,等待测试人员验证 解决软件问
41、题已被修复(2).请回答当文档状态为“打开/再现”、“待验/修复”、“新建”状态时需要何种人员进行哪些操作。 域 名 描 述编号 是创建问题报告时由系统生成的、唯一的,且在问题报告的生命周期中保持不变的显示域简要描述 简单描述所发现的问题,不能超过 50 个字。此域必须填写文档状态 问题的报告状态,例如,新建,打开,解决,关闭等。通过操作来自动填写,为显示域创建者 创建问题报告时的用户名,自动填写,在问题报告的生命周期中保持不变的显示域创建日期 创建问题报告时的日期,自动填写,在问题报告的生命周期中保持不变的显示域修改者 记录最后一次修改问题报告单用户名,自动填写修改日期 记录最后一次修改问题报告时的日期,自动填写(分数:20.00)_正确答案:()解析:软件问题的主状态有:“新建”、“打开”、“待验”、“解决”和“关闭”, 其中“新建”、“打开”、“待验”为软件问题的活动状态,“关闭”和“解决”为软件问题的非活动状态。 软件问题报告处于“打开/再现”状态,表示软件问题已被确认,需要相关的开发工程师来处理;软件问题报告处于“待验/修复”状态,表示软件问题已经被开发工程师完成了修正,需要等待测试人员验证;软件问题报告处于“新建”状态,表示需要测试人员测试新报告的软件问题。