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

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

buf_c[i]<7||buf_c[i]>14;i>=32;
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判定覆盖:设计足够的测试用例,使得使程序中的每个判定至少都获得一次“真值”或“假值”。又称分支覆盖:使程序中的每一个取“真”分支和取“假”分支至少经历一次
本题中涉及到判定的点的条件项分别为:buf_len>512;buf_len==0;i<total_bytes;buf_c[i]==’\0’;buf_c[i]<7||buf_c[i]>14;i>=32;
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

问题:1.2   (6分)
请画出上述程序的控制流图,并计算其控制流图的环路复杂度v(G)

V(g)=8

控制流图是描述程序控制流的一种图示方法。其基本符号有圆圈和箭线:圆圈为控制流图中的一个结点,表示一个或多个无分支的语句;带箭头的线段称为边或连接,表示控制流。基本结构如下所示:

本题由于在//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所示。

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

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

(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)。

(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

测试编号1:依据题干含义,当C、A、B全为零的时候,应该输出为0,也就是覆盖1,2,3,8等有效等价类
测试编号2:覆盖1、2、3、4等价类输出为1,且A为20000/100=200点,所以乘机次数应该大于等于20次
测试编号3:覆盖1、2、3、5等价类输出为2,且乘机次数为15,所以点数应该为大于等于150点的数值,所A应该大于等于15000的数值
测试编号4:覆盖1、2、3、6等价类输出为3,且A为10000/100=100点,所以乘机次数应该大于等于10且小于15
测试编号5:C为7、B为0、预期输出为4,所以乘机点数应该大于等于70点,所以A应为大于等于7000的数值,覆盖 1、2、3、7等价类
测试编号6:覆盖9、2、3,即C为非整数
测试编号7:覆盖10、2、3,即应为无效输入,没有对应的输出 即N/A

问题:2.3   (2分)
对于本案例的黑盒测试来说,以上测试方法有哪些不足?

1)无法体现出C、A/B之间的制约关系,比如当满足A/B(转换后对应的点数满足),但不满足C(乘机次数)的情况
2)没有考虑手机端的情况,题干中B的数值都为0

本题中由于存在多条件的制约情况,如输出1时,需要乘机次数C和点数A/B都符合特定的要求,无法很好的体现出条件之间的制约情况,比如点数符合对应档次要求,但乘机次数未达到要求的情况;另外测试时没有对手机端进行测试

三、阅读下列说明,回答问题1至问题3。
【说明】
某公司欲开发一款二手车物流系统,以有效提升物流成交效率。该系统的主要功能是:
(1) 订单管理:帮买顾问看到有买车线索后,会打电话询问买家是不是需要物流,若需要,帮买顾问就将这个线索发起为订单,帮助买家来找承运商。
(2)线路管理与推荐:对承运商的线路进行管理。根据运输方式的不同,线路分为三种,即包车线路、固定线路、竞价体系,其中包车线路和固定线路是合约制。接入订单系统会根据订单的内容选择合适的承运商。即:有新订单时,若符合固定线路和包车线路,系统自动分配给合约承运商;若不符合合约,系统将订单需求信息推送给各承运商,承运商对订单进行竞拍出价。
(3)合约管理:根据公司与承运商确定的合约,对合约内容进行设置。
(4)基础信息管理:包括帮买顾问(这部分缺失)

问题:3.1   (6分)
系统前端APP需支持不同品牌的不同系统平台,设计兼容性测试矩阵,以对系统的兼容性进行测试。

题干中明确要求APP是针对不同品牌的不同系统,也就是一个品牌会涉及多种不同的系统,同时需要测试多种品牌,所以在设计兼容矩阵的时候,应该为:

问题: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指数,并说明本系统是否达到要求。

Apdex 定义了应用响应时间的最优门槛为 T,另外根据应用响应时间结合 T 定义了三种不同的性能表现:
Satisfied(满意):应用响应时间低于或等于 T(T 由性能评估人员根据预期性能要求确定),比如 T 为 1.5s,则一个耗时 1s 的响应结果则可以认为是 satisfied 的。
Tolerating(可容忍):应用响应时间大于 T,但同时小于或等于 4T。假设应用设定的 T 值为 1s,则 4 * 1 = 4 秒极为应用响应时间的容忍上限。
Frustrated(烦躁期):应用响应时间大于 4T
Apdext= (Satisfied Count + Tolerating Count / 2) / Total Samples
本题为:(185+20/2)/(185+20+10)=0.9070 >=0.9 所以符合要求

四、阅读下列说明,回答问题1至问题3。
【说明】
某汽车维修公司的工时计算模块每天定时根据系统登记的维修信息统计维修工的工时工资。维修工分为学徒、普通维修工和高级维修工三种,三种维修工有不同的时薪标准。
图4-1是该模块的类图,图中属性和操作前的“+”、“#”和“-”分别表示公有成员、保护成员和私有成员。

其中:
(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之间是什么关系?
(2)类seniorEngineer重 新实现了类Engineer的方法calReward (),这是面向对象的什么机制?

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

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

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

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

(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所示

请在下列选项中,为图5.1中的空(1) ~ (3)选择正确的描述内容。(1) 处对应_____ (2)处对应_____,(3)处对应_____
(1) A.反馈格式是否正确 B.反馈长度是否正确
C.反馈类型是否正确 D.反馈内容是否正确
(2) A.标记错误信息 B.错误信息处理
C.错误信息纠正 D.错误信息报告
(3) A.信息存入内存 B.信息存入文件
C.信息存入数据库 D.倍息存入软件

(1)D
(2)B
(3)C

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

问题:5.2    (6分)
软件的结构覆盖率是度量测试完整性的一种手段。也是度量测试有效性的一种手段,在帐入式软件白盒测试过程中。通常以语句覆盖率、分支覆盖率和MC/DC覆盖率作为度量指标。
在实现题目说明中第(1) 、(2) 条功能时,设计人员采用了下列算法:

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

(1)3
(2)3
(3)4

语句覆盖(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个测试用例,如下图:

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

(1)报告反馈类型不同
(2)报告信息内容不正确
(3)错误的
(4)典型类型3信息

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

  1. 软考 | 2019年下半年 软件设计师 下午试卷

    试题一 阅读下列说明和图,回答问题 1 至问题 4. [说明] 某公司欲开发一款二手车物流系统,以有效提升物流成交效率.该系统的主要功能是: (1)订单管理:系统抓取线索,将车辆交易系统的交易信息抓取 ...

  2. 2015 年下半年 网络管理员 下午试卷

    全国计算机技术与软件专业技术资格(水平)考试 2015 年下半年 网络管理员 下午试卷 (考试时间 14 : 00-16 : 30 共 150 分钟) 试题一(共 20 分) 阅读以下说明,回答下列问 ...

  3. 2019年下半年软件设计师下午试题

    [试题一] 1.二手车物流系统的数据流图 阅读下列说明和图,回答问题1至问题4. [说明] 某公司欲开发一款二手车物流系统,以有效提升物流成交效率.该系统的主要功能是: (1)订单管理:系统抓取线索, ...

  4. 2022年下半年软件评测师考试真题一些回忆

    到处找估分找不到答案,回忆一下真题吧,过去了这些天记得的也不多了.欢迎讨论. (括号里是我的答案,不是标准答案) 1.CPU中的运算器里不包含什么?(我选的寄存器) 2.决定CPU运算速度的?(时钟频 ...

  5. 2012年下半年软件评测师上午试题

    1.在CPU中,______不仅要保证指令的正确执行,还要能够处理异常事件. A.运算器 B.控制器 C.寄存器组 D.内部总线 答案:B 解析:CPU是硬件系统的核心,用于数据的加工处理,完成各种算 ...

  6. 软考 | 2009年下半年 软件设计师 下午试卷

    试题一 现准备为某银行开发一个信用卡管理系统CCMS,该系统的基本功能为: 信用卡申请.非信用卡客户填写信用卡申请表,说明所要申请的信用卡类型及申请者的基本信息,提交CCMS.如果信用卡申请被银行接受 ...

  7. 软考 | 2018年下半年 软件设计师 下午试卷

    试题一 [说明] 某房产中介连锁企业欲开发一个基于Web的房屋中介信息系统,以有效管理房源和客户,提高成交率.该系统的主要功能是: 房源采集与管理.系统自动采集外部网站的潜在房源信息,保存为潜在房源. ...

  8. 软考 | 2016年下半年 软件设计师 下午试卷

    试题一 [说明] 某证券交易所为了方便提供证券交易服务,欲开发一证券交易平台,该平台的主要功能如下: (1)开户.根据客户服务助理提交的开户信息,进行开户,并将客户信息存入客户记录中,账户信息(余额等 ...

  9. 全国计算机技术与软件专业技术资格(水平)考试2022 年下半年网络规划设计师下午试卷Ⅰ

    试题一: 案例一  某单位网站受到攻击,首页被非法篡改.经安全专业机构调查,该网站有一个两年前被人非法 上传的后门程序,本次攻击就是因为其他攻击者发现该后门程序并利用其实施非法篡改. 案例二  网站管 ...

  10. 2019浙江C语言二级答案,2019年下半年二级C语言试题及答案

    机遇总是有的,如果把握不住,不要怨天忧人,原因只是自己不够优秀:不要把时间当垃圾处理,唯有珍惜光阴.努力刷二级C语言试题,才能提升生命的质量. 1)若有以下语句:typedef struct S{ i ...

最新文章

  1. SQLServer学习-- SQLServer
  2. AttributeError:module“seaborn” has no attribute “lineplot”
  3. 读取MySQL初始化配置_MySQL 初始化配置
  4. 什么是机房三维(3D)监控系统,什么是机房可视化动力环境监控系统?
  5. 英文简历的几种常见形式
  6. 意大利归还中国文物;翟天临咪蒙成考公务员题目;携程回应五一机票涨价;腾讯未成年人网络保护体系上线;这就是今天的大新闻...
  7. java整数的因式分解_如何在Java中找到整数的质数-因式分解
  8. 前端学习(1434):为什么学习vue
  9. 如何提高 Java 中锁的性能
  10. idea module重命名后去掉后面带着的原来的名字
  11. 小米android手机怎么刷机,小米4手机怎么刷机 小米4刷机图文教程
  12. DeepLearning花书阅读记录(1)
  13. tcp图片13包java怎么接收_13. TCP协议中的动态数据传输:应对小数据包
  14. 扫地机器人朋友圈文案_匠龙扫地机器人广告片创意脚本文案
  15. windows下清除文件批处理命令
  16. 深圳区块链企业在江岸区设区域总部
  17. AUSU F6A系列笔记本装xp遇到的问题
  18. Redis集群生产环境搭建,主从搭建,动态增删步骤
  19. Nuke Essential Training Nuke基本训练 Lynda课程中文字幕
  20. 济宁网络诈骗立案_在节日期间避免网络犯罪和诈骗

热门文章

  1. 见证历史!张益唐完成111页“零点猜想”论文!自称比孪生素数猜想意义更大...
  2. request.getSession.setAttribute和request.setAttribute区别
  3. iis站点https绑定
  4. linux shell3 --文件处理 grep sed
  5. SkeyeWebPlayer免费网页RTSP/RTMP/FLV/HLS/H265/M3U8直播点播播放器-页面动态多播放器添加代码示例
  6. 自考总结——(第四次)
  7. 智慧渔业时代的深远海养殖平台控制系统
  8. 倍轻松难“轻松”:市值累计蒸发50亿元,相对接近腰斩
  9. 2021HW | 04/12 第四天总结
  10. C语言之判断奇数偶数