2019年下半年《软件评测师》下午试卷及答案

一、阅读下列C程序,回答问题1至问题3。

本题由于在//8 //12后都存在break语句,导致执行//8 //12后程序结构会发生改变。
控制流程图的环路复杂性 V(G)等于:
(1)控制流程图中的区域个数。
(2)边数-结点数+2。
(3)判定数+1。
V(g)=8

问题:1.3   (8分)
请给出问题2中控制流图的线性无关路径。

1)1、2、4、5、13
2)1、3、4、5、13
3)1、3、4、6、13 (1、2、4、6、13)
4)1、3、4、6、7、8、13 (1、2、4、6、7、8、13)
5)1、3、4、6、7、9、11、12、13 (1、2、4、6、7、9、11、12、13)
6)1、3、4、6、7、9、10、11、12、13 (1、2、4、6、7、9、10、11、12、13)
7)1、3、4、6、7、9、10、6… (1、2、4、6、7、9、10、6…)
8)1、3、4、6、7、9、10、11、6… (1、2、4、6、7、9、10、11、6…)
或者与之等价的答案

线性无关路径是指包括一组以前没有处理的语句或条件的一条路径。从控制流图来看,一条线性无关路径是至少包含有一条在其他线性无关路径中从未有过的边的路径:
本题由于主干有分支,所以线性无关路径可能有多种组合。

二、阅读下列说明,回答问题1至问题3。
【说明】
某航空公司进行促销活动,会员在指定日明范围内搭乘航班将获得定奖励,奖励分为4个档次,由乘机次数和点数共同决定,如表2-1所示。其中点数果票面价格和购票渠道有关,规则如表2-2所示。

(1)非负整数
(2)4
(3)0
(4)负整数

划分等价类的6条原则:
(1)在输入条件规定了取值范围或值的个数的情况下,可以确立一个有效等价类和两个无效等价类
(2)在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可以确立一个有效等价类和一个无效等价类
(3)在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类
(4)在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类
(5)在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)
(6)在确知已划分的等价类中,各元素在程序处理中的方式不同的情况下,则再将该等价类进一步地划分为更小的等价类
题干中明确:C、A、B为非负整数,结合乘机次数的无效等价了,A、B的有效等价类(1)处应该填写非负整数
题干中明确:C、A、B为非负整数,L为0~5之间的整数(结合题干分析,应该是0~4之间整数),而且每一种是单独处理的,再结合问题【2】的测试用例表的测试编 1和4,所以,(2)(3)应该填写4、0
题干中明确:C、A、B为非负整数,结合前面两个无效等价,(4)处应该填写负整数

问题:2.2    (9分)
根据以上等价类表设计的测试用例如表2-4 所示,请补充表24中的空(1)~(9)。

问题:3.2   (8分)
承运商进行竞价时,前端需提交竞拍价格(整数, 单位:元)数和可接受浮动比例(整数),针对这一功能设计4个测试用例。

要求设计 竞拍价(整数)、可接受的浮动比例(整数)设计4个测试用例,
50000,1(功能正常)
50000.1,1(竞拍价输入异常,非整数)
50000,1.1(可接受的浮动比例异常,非整数)
50000,–(SQL注入式攻击,或Xss攻击测试用例任选一个)

问题:3.3   (6分)
承运商竞拍部分的性能要求最高。采用性能测试工具在以系统竞拍功能为主进行性能测试时,采用Apdex (应用性能指数)对用户使用该系统的性能满意度进行度量,系统需要满足Apdex指数为0.9以上。测试数据如表3-1所示,请计算本系统的Apdex指数,并说明本系统是否达到要求。

其中:
(1) 类Engineer表示普通维修工。
(2)类studentEngineer和seniorEngineer都重新实现了类Engineer的方法calReward () 。
(3)方法calReward () 根据每个维修工每天的工时数(workTime)、时薪(hourSalary)来计算当天的工时工资。
(4)方法getReward () 调用方法calReward () 获取工时工资并打印显示。
(5) 类Svstem中的方法statReward () 中首先调用了该类的方法load (),获取本系统工程师列表,然后调用了类Engineer中的方法calReward () 。现拟采用面向对象的方法进行测试。

问题:4.1   (4分)
(1)图4-1所示的类图中,类System和Engineer之间是什么关系br>(2)类seniorEngineer重 新实现了类Engineer的方法calReward (),这是面向对象的什么机制/p>

(1)关联关系
(2)多态机制

问题:4.2   (6分)
类seniorEngineer中的方法calReward () 和类stud entEngineer中的方法getReward ()是否需要重新测试/p>

对父类中已经测试过的成员函数,有两种情况需要在子类中重新测试:(1)继承的成员函数在子类中做了改动;(2)成员函数调用了改动过的成员函数的部分。
本题中seniorEngineer中的方法calReWard()重写了,需要重新测试;
题干中(说明4)明确了getReward()方法要调用calReward()方法,而calReward()是重写了的,所以studentEngineer中的方法getReward()属于调用了改动过的成员函数,需要重新测试

问题:4.3   (10分)
(1)请结合题干说明中的描述,给出测试类Engineer方法calReward () 时的测试序列。
(2)请给出图4-1中各个类的测试顺序。
(3)从面向对象特性考虑,测试类System中方法statReward () 时应注意什么/p>

(1)依据说明3中的描述,再结合本题中时薪(hourSalary)是属性,所测试序列如下:
Engineer()-setWorkTime()-calReward()-getReward()(注意本题时薪属于属性,不是方法/函数,后面getReward()可以不写)
(2)由于senioEngineer和studentEngineer是Engineer的子类,sysytem要调用Engineer中的方法,所以类的测试顺序为:Engineer-seniorEngineer-studentEngineer-system(或者Engineer-studentEngineer -seniorEngineer -system)
(3)在测试System中statReward()方法时需要基类Engineer、子类studentEngineer、seniorEngineer中的calReward()方法,即需要分别对各类的calReward()方法设计测试用例进行测试。

五、阅读下列说明,回答问题1至问题3。
【说明】
在某嵌入式智能服务机器人的软件设计中,为了更好地记录机器人的个体信息和机器人的工作信息,为智能服务机器人设计了信息数据库。数据库主要完成收集智能服务机器人反馈信息的作用,记录所有机器人的所有工作记录,以方便使用者对机器人的管理和对机器人状态的掌握,并且在机器人发生运行故障时,可以根据数据库存储的信息分析产生故障的原因。数据库收集智能服务机器人反馈信息的流程如下:
服务器端接收反馈信息。
(1)第一次解析判断反馈信息类型是否正确,若正确执行(2),否则执行(3);
(2)第二次解析判断反馈信息内容是否正确,若正确执行(4),否则执行(3);
(3)调用错误信息处理函数后执行(4) ;
(4)将反馈信息存入数据库。

问题:5.1    (6分)
在本软件测试过程中,测试人员为了设计测试用例,根据题目中的说明,画出了机器人反馈信息收集软件流程图,如图5.1所示

请指出对上述算法达到100%语句覆盖、100%分支覆盖和100%MC/DC覆盖所需的最少测试用例数目

问题:5.3   (8分)
为了测试软件功能,测试人员设计了表5- -2所示的测试用例,请填写该表中的空(1) ~ (4)。

2019年下半年《软件评测师》下午试卷及答案

文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览34476 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年9月8日
下一篇 2020年9月8日

相关推荐