试卷详情

2019年下半年(下午)《软件评测师》真题

开始做题

试卷预览

问答题

【C程序】

中级软件评测师,历年真题,2019年下半年(下午)《软件评测师》真题

【问题1】(6分)

请针对上述C程序给出满足100%DC (判定覆盖)所需的逻辑条件。

【问题2】 (6分)

请画出上述程序的控制流图,并计算其控制流图的环路复杂度v(G)。

【问题3】(8分)

请给出问题2中控制流图的线性无关路径。

查看答案开始考试

正确答案:

本题解析:

【问题1】

buf_len>512;buf_len<=512

buf_len==0;buf_len!=0

i<total_bytes;i>=total_bytes

buf_c[i]==’\0’; buf_c[i]!=’\0’

buf_c[i]<7||buf_c[i]>14;buf_c[i]>=7&&buf_c[i]<=14

i>=32;i<32

【问题2】

中级软件评测师,历年真题,2019年下半年(下午)《软件评测师》真题

V(g)=8

【问题3】

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…)

或者与之等价的答案。

问答题

某汽车维修公司的工时计算模块每天定时根据系统登记的维修信息统计维修工的工时工资。维修工分为学徒、普通维修工和高级维修工三种,三种维修工有不同的时薪标准。

图4-1是该模块的类图,图中属性和操作前的“+”、“#”和“-”分别表示公有成员、保护成员和私有成员。

中级软件评测师,历年真题,2019年下半年(下午)《软件评测师》真题

图4-1类图

其中:

(1) 类Engineer表示普通维修工。

(2)类studentEngineer和seniorEngineer都重新实现了类Engineer的方法calReward () 。

(3)方法calReward () 根据每个维修工每天的工时数(workTime)、时薪(hourSalary)来计算当天的工时工资。

(4)方法getReward () 调用方法calReward () 获取工时工资并打印显示。

(5) 类Svstem中的方法statReward () 中首先调用了该类的方法load (),获取本系统工程师列表,然后调用了类Engineer中的方法calReward () 。现拟采用面向对象的方法进行测试。

【问题1】(4分)

(1)图4-1所示的类图中,类System和Engineer之间是什么关系

(2)类seniorEngineer重新实现了类Engineer的方法calReward (), 这 是面向对象的什么机制

【问题2】 (6分)

类seniorEngineer中的方法calReward () 和类stud entEngineer中的方法getReward ()是否需要重新测试

【问题3】 (10分)

(1)请结合题干说明中的描述,给出测试类Engineer方法calReward () 时的测试序列。

(2)请给出图4-1中各个类的测试顺序。

(3)从面向对象特性考虑,测试类System中方法statReward () 时应注意什么

查看答案开始考试

正确答案:

本题解析:

【问题1】

关联关系

多态机制

【问题2】

seniorEngineer中的方法calReWard()重写了,需要重新测试;

studentEngineer中的方法getReward()调用了改动过的成员函数,需要重新测试

【问题3】

(1)Engineer()-setWorkTime()-calReward()-getReward()(注意本题时薪属于属性,不是方法/函数,后面getReward()可以不写)

(2)Engineer-seniorEngineer-studentEngineer-system(或者Engineer-studentEngineer -seniorEngineer -system)

(3)在测试System中statReward()方法时涉及基类Engineer、子类studentEngineer、seniorEngineer中的calReward()方法,即需要分别对各类的calReward()方法设计测试用例进行测试。

问答题

某公司欲开发一款二手车物流系统,以有效提升物流成交效率。该系统的主要功能是:

(1) 订单管理:帮买顾问看到有买车线索后,会打电话询问买家是不是需要物流,若需要,帮买顾问就将这个线索发起为订单,帮助买家来找承运商。

(2)线路管理与推荐:对承运商的线路进行管理。根据运输方式的不同,线路分为三种,即包车线路、固定线路、竞价体系,其中包车线路和固定线路是合约制。接入订单系统会根据订单的内容选择合适的承运商。即: 有新订单时,若符合固定线路和包车线路,系统自动分配给合约承运商;若不符合合约,系统将订单需求信息推送给各承运商,承运商对订单进行竞拍出价。

(3)合约管理:根据公司与承运商确定的合约,对合约内容进行设置。

(4)基础信息管理:包括帮买顾问(这部分缺失)

【问题1】 (6分)

系统前端APP需支持不同品牌的不同系统平台,设计兼容性测试矩阵,以对系统的兼容性进行测试。

【问题2】(8分)

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

【问题3】(6分)

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

中级软件评测师,历年真题,2019年下半年(下午)《软件评测师》真题

查看答案开始考试

正确答案:

本题解析:

【问题1】

中级软件评测师,历年真题,2019年下半年(下午)《软件评测师》真题

【问题2】

50000,1(功能正常)

50000.1,1(竞拍价输入异常,非整数)

50000,1.1(可接受的浮动比例异常,非整数)

50000,--(SQL注入式攻击,或Xss攻击测试用例任选一个)

【问题3】

(185+20/2)/(185+20+10)=0.9070 >=0.9 所以符合要求

问答题

在某嵌入式智能服务机器人的软件设计中,为了更好地记录机器人的个体信息和机器人的工作信息,为智能服务机器人设计了信息数据库。数据库主要完成收集智能服务机器人反馈信息的作用,记录所有机器人的所有工作记录,以方便使用者对机器人的管理和对机器人状态的掌握,并且在机器人发生运行故障时,可以根据数据库存储的信息分析产生故障的原因。数据库收集智能服务机器人反馈信息的流程如下:

服务器端接收反馈信息。

(1)第一次解析判断反馈信息类型是否正确,若正确执行(2),否则执行(3);

(2)第二次解析判断反馈信息内容是否正确,若正确执行(4),否则执行(3);

(3)调用错误信息处理函数后执行(4) ;

(4)将反馈信息存入数据库。

【问题1】(6分)

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

中级软件评测师,历年真题,2019年下半年(下午)《软件评测师》真题

图5-1

请在下列选项中,为图5.1中的空(1)~(3)选择正确的描述内容。(1)处对应_____ (2)处对应_____,(3)处对应_____

(1) A.反馈格式是否正确 B.反馈长度是否正确

C.反馈类型是否正确 D.反馈内容是否正确

(2) A.标记错误信息 B.错误信息处理

C.错误信息纠正 D.错误信息报告

(3) A.信息存入内存 B.信息存入文件

C.信息存入数据库 D.倍息存入软件

【问题2】(6分)

软件的结构覆盖率是度量测试完整性的一种手段。也是度量测试有效性的一种手段,在嵌入式软件白盒测试过程中。通常以语句覆盖率、分支覆盖率和MC/DC覆盖率作为度量指标。

在实现题目说明中第(1) 、(2) 条功能时,设计人员采用了下列算法:

中级软件评测师,历年真题,2019年下半年(下午)《软件评测师》真题

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

中级软件评测师,历年真题,2019年下半年(下午)《软件评测师》真题

【问题3】(8分)

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

中级软件评测师,历年真题,2019年下半年(下午)《软件评测师》真题

查看答案开始考试

正确答案:

本题解析:

【问题1】

依据题干说明(1)(2)(3)(4)的描述,(1)处应该为:判定反馈内容是否正确;(2)处应该为:执行错误信息处理函数;(3)信息存入数据库

【问题2】

语句覆盖(SC):设计足够的测试用例,使得被测试程序中每条语句至少执行一次。

判定覆盖(DC):设计足够的测试用例,使得程序中的每个判定至少都获得一次“真值”或“假值”;又称分支覆盖:使程序中的每一个取“真”分支和取“假”分支至少经历一次。

修正判定条件覆盖(MCDC):设计足够的测试用例,使得每一程序模块的入口和出口点都要考虑至少被调用一次,每个程序的判定到所有可能的结果值要至少转换一次;程序的判定被分解为通过逻辑操作符(and or)连接的bool条件,每个条件判定的结果值是独立的。

本题中是两个if…else…的嵌套结构:

语句覆盖和判定覆盖:当第1层if为真时就不会覆盖假,所以假部分需要一个测试用例覆盖,当第1层if判定为真时可以覆盖第2层if判定为真的结构或者第2层if判定为假的结构,所以当要覆盖第2层判定,需要2个测试用例,所以综合起来至少需要3个测试用例来达到语句覆盖的要求和判定覆盖的要求。

MC/DC覆盖:

由于是嵌套结构,满足第一个判定的测试用例为:(TT)(FT)(TF);第2个判定为T,F,,由于第一个判定为T后会涉及到第2个判定,所以综合起来需要4个测试用例,如下表:

中级软件评测师,历年真题,2019年下半年(下午)《软件评测师》真题

【问题3】

结合题干描述。

【问题1】

(1)D

(2)B

(3)C

【问题2】

(1)3

(2)3

(3)4

【问题3】

(1)报告反馈类型不同

(2)报告信息内容不正确

(3)错误的

(4)典型类型3信息

问答题

某航空公司进行促销活动,会员在指定日期范围内搭乘航班将获得定奖励,奖励分为4个档次,由乘机次数和点数共同决定,如表2- 1所示。其中点数跟票面价格和购票渠道有关,规则如表2-2所示。

中级软件评测师,历年真题,2019年下半年(下午)《软件评测师》真题

航空公司开发了一个程序来计算会员在该促销活动后的奖励,程序的输入包括会员在活动期间的乘机次数C、官网购票金额A (单位:元)和手机客户端购票金额B(单位:元),程序的输出为本次活动奖励档次L。其中,C、A、B为非负整数,L为0~5之间的整数(0表示无奖励)。

【问题1】 (4分)

采用等价类划分法对该程序进行测试(同时对输入输出进行等价类划分), 等价类表如表2-3所示,请补充表2-3中的空(1) ~ (4)。

中级软件评测师,历年真题,2019年下半年(下午)《软件评测师》真题

【问题2】 (9分)

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

中级软件评测师,历年真题,2019年下半年(下午)《软件评测师》真题

【问题3】(2分)

对于本案例的黑盒测试来说,以上测试方法有哪些不足

查看答案开始考试

正确答案:

本题解析:

【问题1】

(1)非负整数

(2)4

(3)0

(4)负整数

【问题2】

(1)1、2、3、8

(2)0

(3)20(大于等于20的等价答案)

(4)15000(大于等于15000的等价答案)

(5)10(大于等于10且小于15的等价答案)

(6)7000(大于等于15000的等价答案)

(7)1、2、3、7

(8)1.1(非整数的等价答案)

(9)N/A

【问题3】

1)无法体现出C、A/B之间的制约关系,比如当满足A/B(转换后对应的点数满足),但不满足C(乘机次数)的情况

2)没有考虑手机端的情况,题干中B的数值都为0

其他考生还关注了更多 +