一、[材料型]问答题
阅读下列C程序,回答问题1至问题3,将解答填入答题纸的对应栏内。(20分)

1、【问题1】请针对上述C程序给出满足100%判定覆盖所需的逻辑条件。 (6分)
参考答案:请看解析
阅读下列C程序,回答问题1至问题3,将解答填入答题纸的对应栏内。(20分)

2、【问题2】请画出上述程序的控制流图,并计算其控制流图的环路复杂度(圈复杂度)V(G)。(6分)
参考答案:请看解析
阅读下列C程序,回答问题1至问题3,将解答填入答题纸的对应栏内。(20分)

3、【问题3】请给出问题2中控制流图的线性无关路径。(8分)
参考答案:请看解析
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。(15分)
【说明】某商场进行促销活动,消费满5000元后赠送总值10000元的代金券,可以在后续消费中使用。代金券包括300元20张、100元20张以及50元40张。其中300元和100元代金券只可用于线下消费抵扣,50元代金券只可用于线上商城消费抵扣。代金券使用规则为:线下购买品类1每满1200元可使用300元代金券1张,每满400可使用100元代金券1张;线下购买品类2每满600元可使用300元代金券1张,每满200元可使用100元代金券1张;线上购买品类1每满300元可使用50元代金券1张,品类2每满150元可使用50元代金券1张。活动规则详见表2-1。

商场开发了一个小程序来自动抵扣顾客代金券并计算最终所需实际支付金额,程序的输入包括300元代金券数量A,100元代金券数量B,50元代金券数量C,品类1消费金额D,品类2消费金额E,购买渠道F。程序的输出包括300元代金券剩余数量G,100元代金券剩余数量H,50元代金券剩余数量I,所需实际支付金额J。其中,A、B、G、H为整数且取值在0到20之间,C和I为整数且取值在0到40之间,D、E、J为非负整数,F为0或者1(0表示线下,1表示线上)。
4、【问题1】采用等价类划分法对该程序进行测试,等价类表如表2-2所示,请补充表2-2中空(1)~(6)。 (6分)

参考答案:
(1)大于等于0小于等于20的整数
(2)大于等于0小于等于40的整数
(3)非负整数
(4)1
(5)大于40的整数
(6)0和1以外的整数
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。(15分)
【说明】某商场进行促销活动,消费满5000元后赠送总值10000元的代金券,可以在后续消费中使用。代金券包括300元20张、100元20张以及50元40张。其中300元和100元代金券只可用于线下消费抵扣,50元代金券只可用于线上商城消费抵扣。代金券使用规则为:线下购买品类1每满1200元可使用300元代金券1张,每满400可使用100元代金券1张;线下购买品类2每满600元可使用300元代金券1张,每满200元可使用100元代金券1张;线上购买品类1每满300元可使用50元代金券1张,品类2每满150元可使用50元代金券1张。活动规则详见表2-1。

商场开发了一个小程序来自动抵扣顾客代金券并计算最终所需实际支付金额,程序的输入包括300元代金券数量A,100元代金券数量B,50元代金券数量C,品类1消费金额D,品类2消费金额E,购买渠道F。程序的输出包括300元代金券剩余数量G,100元代金券剩余数量H,50元代金券剩余数量I,所需实际支付金额J。其中,A、B、G、H为整数且取值在0到20之间,C和I为整数且取值在0到40之间,D、E、J为非负整数,F为0或者1(0表示线下,1表示线上)。
5、【问题2】根据以上等价类表设计的测试用例如表2-3所示,请补充表2-3中空(1) ~ (7)。 (7分)

参考答案:
(1)1,2,3,4,5,6
(2)0
(3)0
(4)1
(5)0
(6)test(任意的非整数)
(7)50(任意大于40的整数)
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。(15分)
【说明】某商场进行促销活动,消费满5000元后赠送总值10000元的代金券,可以在后续消费中使用。代金券包括300元20张、100元20张以及50元40张。其中300元和100元代金券只可用于线下消费抵扣,50元代金券只可用于线上商城消费抵扣。代金券使用规则为:线下购买品类1每满1200元可使用300元代金券1张,每满400可使用100元代金券1张;线下购买品类2每满600元可使用300元代金券1张,每满200元可使用100元代金券1张;线上购买品类1每满300元可使用50元代金券1张,品类2每满150元可使用50元代金券1张。活动规则详见表2-1。

商场开发了一个小程序来自动抵扣顾客代金券并计算最终所需实际支付金额,程序的输入包括300元代金券数量A,100元代金券数量B,50元代金券数量C,品类1消费金额D,品类2消费金额E,购买渠道F。程序的输出包括300元代金券剩余数量G,100元代金券剩余数量H,50元代金券剩余数量I,所需实际支付金额J。其中,A、B、G、H为整数且取值在0到20之间,C和I为整数且取值在0到40之间,D、E、J为非负整数,F为0或者1(0表示线下,1表示线上)。
6、【问题3】对于本案例采用的基于规格说明的测试来说,以上测试方法有哪些不足? (2分)
参考答案:(1)没有考虑边界值的设计;
(2)没有考虑输入、输出之间的制约关系。例如消费品类D和E之间不存在同时为0的情况。
(3)A、B、C的取值设计不充分,覆盖度不够。
(4)D、E的输入值不合理,没有考虑正常消费的数值设计。
(5)预期输出设计不充分,很多正常输出数值都没有覆盖到。
……
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。(20分)
【说明】某现代农业种植基地为进一步提升农作物种植过程的智能化,欲开发智慧农业平台,支持全流程智能管理的种植生产,实现农业种植精准化、管理可视化以及决策智能化。系统基于分层架构设计,服务层和业务逻辑层基于Spring Boot开发,表示层基于Web开发,可通过大屏幕显示器和手机端进行访问。平台主要功能是:
(1)专业人员对农作物、环境等监测数据的监控处理规则进行维护。
(2) 通过传感器采集农作物和环境等连续监测数据。
(3) 对监测信息进行分析和异常情况判定,并进行可视化展示和控制决策。
(4) 专业人员查看监测信息和分析结果,并进行手动远程控制。
7、【问题1】(7分)
(1) 针对农业系统用户的特点,平台需要满足易用性要求,易用性测试包括哪几个方面?
(2) 要求对后端API接口进行有效的安全性测试,安全性测试主要针对哪些漏洞?
参考答案:(1)可辨识性、易学性、易操作性、用户差错防御性、用户界面舒适性、易访问性、易用性的依从性。
(2)SQL注入、信息泄漏、身份认证、访问控制、明文传输等。
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。(20分)
【说明】某现代农业种植基地为进一步提升农作物种植过程的智能化,欲开发智慧农业平台,支持全流程智能管理的种植生产,实现农业种植精准化、管理可视化以及决策智能化。系统基于分层架构设计,服务层和业务逻辑层基于Spring Boot开发,表示层基于Web开发,可通过大屏幕显示器和手机端进行访问。平台主要功能是:
(1)专业人员对农作物、环境等监测数据的监控处理规则进行维护。
(2) 通过传感器采集农作物和环境等连续监测数据。
(3) 对监测信息进行分析和异常情况判定,并进行可视化展示和控制决策。
(4) 专业人员查看监测信息和分析结果,并进行手动远程控制。
8、【问题2】系统支持大屏幕显示器和手机端网页访问,为进行兼容性测试设计测试矩阵。(5分)
参考答案:
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。(20分)
【说明】某现代农业种植基地为进一步提升农作物种植过程的智能化,欲开发智慧农业平台,支持全流程智能管理的种植生产,实现农业种植精准化、管理可视化以及决策智能化。系统基于分层架构设计,服务层和业务逻辑层基于Spring Boot开发,表示层基于Web开发,可通过大屏幕显示器和手机端进行访问。平台主要功能是:
(1)专业人员对农作物、环境等监测数据的监控处理规则进行维护。
(2) 通过传感器采集农作物和环境等连续监测数据。
(3) 对监测信息进行分析和异常情况判定,并进行可视化展示和控制决策。
(4) 专业人员查看监测信息和分析结果,并进行手动远程控制。
9、【问题3】(8分)性能测试时,采用Apdex(应用性能指数)对用户使用该系统的性能满意度进行度量,系统的Apdex指数需要满足期望要求为0.9以上。测试数据表如表3-1所示。请计算本系统的Apdex指数,并说明本系统是否达到要求。

参考答案:
Apdex=(满意的样本数+容忍的样本数/2)/总样本数=(7150+450/2)/(7150+450+400)≈0.9219。
由于0.9219大于0.9,所以本系统达到了期望要求。
阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。(20分)
【说明】某在线购物平台的计费子系统提供购物车管理、账户信息管理和结算管理功能,主要功能如下:
(1)购物车管理:可展示特定用户已选购商品的列表,包含商品的名称、单价、数量等基本信息;并提供选购商品的增、删、改、查等基本管理操作。
(2)账户信息管理:可展示特定用户的收货地址、持有的优惠券、账户余额等基本信息。
(3)结算管理:可从购物车中选取商品进行结算,依据商品单价、数量及选择的优惠券计算所需支付的货款总额。
系统面向全国用户服务,并以微服务的分布式架构部署于某公有云平台,采用公有云提供的分布式数据库和分布式文件系统进行数据存储。
10、【问题1】 (3分)请列举系统部署采用分布式架构部署的三大优点。
参考答案:
(1)支持大量并发用户;
(2)容错和灾备能力;
(3)可灵活扩展。
阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。(20分)
【说明】某在线购物平台的计费子系统提供购物车管理、账户信息管理和结算管理功能,主要功能如下:
(1)购物车管理:可展示特定用户已选购商品的列表,包含商品的名称、单价、数量等基本信息;并提供选购商品的增、删、改、查等基本管理操作。
(2)账户信息管理:可展示特定用户的收货地址、持有的优惠券、账户余额等基本信息。
(3)结算管理:可从购物车中选取商品进行结算,依据商品单价、数量及选择的优惠券计算所需支付的货款总额。
系统面向全国用户服务,并以微服务的分布式架构部署于某公有云平台,采用公有云提供的分布式数据库和分布式文件系统进行数据存储。
11、【问题2】 (6分)
(1)系统的存储的可扩展性是否需要测试?请简要说明原因。
(2)系统的存储访问接口是否需要测试?请简要说明原因。
参考答案:(1)不需要。其存储是由公有云提供,存储的可扩展性由公有云负责管理,所以无须进一步测试。
(2)需要。存储访问接口为系统新开发的接口,需要进行测试。
阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。(20分)
【说明】某在线购物平台的计费子系统提供购物车管理、账户信息管理和结算管理功能,主要功能如下:
(1)购物车管理:可展示特定用户已选购商品的列表,包含商品的名称、单价、数量等基本信息;并提供选购商品的增、删、改、查等基本管理操作。
(2)账户信息管理:可展示特定用户的收货地址、持有的优惠券、账户余额等基本信息。
(3)结算管理:可从购物车中选取商品进行结算,依据商品单价、数量及选择的优惠券计算所需支付的货款总额。
系统面向全国用户服务,并以微服务的分布式架构部署于某公有云平台,采用公有云提供的分布式数据库和分布式文件系统进行数据存储。
12、【问题3】 (5分)为保证系统功能的正确性,测试人员对购物车管理、账户信息管理和结算管理分别进行了单元测试和接口测试,并准备进行整个购物平台系统的系统集成测试,在此之前,还应进行什么测试?在测试中,将某商品的单价从10元修改为11元,与此同时,甲乙两个用户分别在北京和上海两地,在不使用任何优惠券的情况下,对包含3个该商品的订单进行结算操作,甲看到的总价为30元,乙看到的总价为33元。这个错误说明系统设计时存在什么缺陷?
参考答案:
(1)要进行各个子系统的系统测试。
(2)数据一致性的相关缺陷。
阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。(20分)
【说明】某在线购物平台的计费子系统提供购物车管理、账户信息管理和结算管理功能,主要功能如下:
(1)购物车管理:可展示特定用户已选购商品的列表,包含商品的名称、单价、数量等基本信息;并提供选购商品的增、删、改、查等基本管理操作。
(2)账户信息管理:可展示特定用户的收货地址、持有的优惠券、账户余额等基本信息。
(3)结算管理:可从购物车中选取商品进行结算,依据商品单价、数量及选择的优惠券计算所需支付的货款总额。
系统面向全国用户服务,并以微服务的分布式架构部署于某公有云平台,采用公有云提供的分布式数据库和分布式文件系统进行数据存储。
13、【问题4】 (6分)为测试系统的功能性,测试人员进行以下测试:
(1)在北京地区搭建测试系统,对系统的结算管理模块的功能进行测试,但未测试其他两个模块。
(2)在上海地区搭建不同硬件配置的测试系统,对系统的购物车管理模块的功能进行测试,但未测试其他两个模块。
以上测试方案是否存在问题?如存在问题,请简要说明原因。
参考答案:• 存在问题。分布式架构系统需要支持大量的用户或业务的同时进行,需要考虑并发和互斥的问题。在不同的地方测试不同的模块,无法体现出分布式架构系统的并发与互斥方面的问题。
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。(20分)
【说明】微内核架构的软件内核相对较小,主要功能和业务逻辑都通过插件实现。某国产通信芯片操作系统使用了微内核架构,其插件与核心系统通过命令方式实现通信。
其通信功能中,获取命令函数主要完成命令获取及通过校验和判断是否为合法命令,如果为合法命令,则函数返回命令字前4字节,否则返回错误码。命令最大长度为16个字节,命令格式为:

具体函数实现如图所示:
14、【问题1】 (6分)在题目给定的函数中,根据函数描述功能,请找出存在的一处逻辑错误,并改正。
参考答案:
逻辑错误:if((cmdLen ==0 ) & (cmdLen > MAXCMD )) { /*长度合法性检查*/
return -1;
}
应该正为:if((cmdLen ==0 ) || (cmdLen > MAXCMD )) { /*长度合法性检查*/
return -1;
}
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。(20分)
【说明】微内核架构的软件内核相对较小,主要功能和业务逻辑都通过插件实现。某国产通信芯片操作系统使用了微内核架构,其插件与核心系统通过命令方式实现通信。
其通信功能中,获取命令函数主要完成命令获取及通过校验和判断是否为合法命令,如果为合法命令,则函数返回命令字前4字节,否则返回错误码。命令最大长度为16个字节,命令格式为:

具体函数实现如图所示:
15、【问题2】(8分)为测试软件功能,设计了表5-1所示的测试用例,请补充该表中的空(1)~(4)。

参考答案:
(1)-1
(2)0X00AB000C
(3)0X00000011
(4)-2
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。(20分)
【说明】微内核架构的软件内核相对较小,主要功能和业务逻辑都通过插件实现。某国产通信芯片操作系统使用了微内核架构,其插件与核心系统通过命令方式实现通信。
其通信功能中,获取命令函数主要完成命令获取及通过校验和判断是否为合法命令,如果为合法命令,则函数返回命令字前4字节,否则返回错误码。命令最大长度为16个字节,命令格式为:

具体函数实现如图所示:
16、• 【问题3】 (6分)软件的测试覆盖项是度量基于结构测试充分性的一种手段,也是度量测试有效性的一种手段。在软件基于结构测试过程中,通常以语句测试覆盖项、分支测试覆盖项和修正条件判定测试覆盖项作为测试是否充分的度量指标。
• 请补充表5-2中空(1)~(3),指出对上述算法达到100%语句测试覆盖项、100%分支测试覆盖项和100%修正条件判定测试覆盖项所需的最少测试用例数目。

参考答案:• (1)3 (2)3 (3)4
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!