推荐等级:
发布时间: 2021-12-17 14:33
扫码用手机做题
某商店的货品价格(P)都不大于20元(且为整数),假设顾客每次付款为20元且每次限购一件商品,现有一个软件能在每位顾客购物后给出找零钱的最佳组合(找给顾客货币张数最少)。
假定此商店的找零货币面值只包括:10元(N10)、5元(N5)、1元(N1)3种。
【问题1】 (8分)
请采用等价类划分法为该软件设计测试用例(不考虑P为非整数的情况)并填入到下表中。(<<N1,2>>表示2张1元,若无输出或输出非法,则填入N/A)
【问题2】
请采用边界值分析法为该软件设计测试用例。
【问题3】
请给出采用决策表法进行测试用例设计的主要步骤。
本题解析:
【问题1】
【问题2】
20、19、16、15、14、11、10、9、6、5、4、1、0
【问题3】
确定规则个数
列出所有的条件桩和动作桩
填入条件项
填入动作项。制定初始判定表
简化。合并相似规则或者相同动作
某嵌入系统中,存在16路数据采集通道,为了提高数据采集的可靠性,对16路采集通道均采用双余度设计;为了监控采集通道是否发生故障,对各路双余度通道采集值进行了比较。只有当该通道两个余度设备采集值不均小于45时,才表示该路通道正常。设计人员设计函数mun_of_passer用于统计无故障通道数目,在改函数的设计中考虑了如下以因素:
(1)采用如下数据库结构存储通道号及采集值:
Struct Value
{ unsigned int No; //通道号,1到16
unsigned short Value1; //余度1采集值
unsigned short Value2; //余度2采集值
}
(2)当输入参数异常时,函数返回-1;
(3)若正确统计了无故障通道数目,则返回该数目;
(4)该函数需要两个输入参数,第一个参数是用于存储通道号及余度采集值的数组,第二个参数为通道总数目;
(5)调用函数sort()对存储通道号及余度采集值得的数组进行排序处理。
开发人员根据上述要求使用ANSI C对代码实现如下,(代码中每行第一个数字代表行号):
1 unsigned int num_of_passer(struct Value array[ ], unsigned int num)
2 {
3 unsigned int n =0; //循环变量
4 unsigned int counter; //无故障通道数目
5 if((array = = NULL) ||(num = = 0) ||(num > 16))
6 return-1; //当输入参数异常时,函数返回-1
7 sort(array); //对存储值的数组进行排序处理
8 for(n = 0;n < = num;n++)
9 {
10 if((array[n]. Valuel > 45)&& (array[n]. Value2 > 45))
11 counter = counter + 1;
12 }
13 return counter
14 }
【问题1】(6分)
嵌入或软件中通常使用函数扇出数的注释来衡量程序的可维护性,请计算num_of_passer的扇出数和注释率,并判断此函数扇出数和注释率是否符合嵌入式软件的一般要求。
【问题2】(8分)
请使用代码审查的方法找出该程序中所包含的至少四处错误,批出错误的行号和问题描述。
【问题3】(6分)
覆盖率是度量测试完整性的一个手段,也是度量测试有效性的一个手段。在嵌入式软件的白盒测试过程中,通常以语句覆盖率、分支覆盖率和MC/DC覆盖率作为度量指标,请分别指出对函数num_of_passer达到100%语句覆盖、100%分支覆盖和100%MC/DC覆盖所需的最少测试用例数目。
本题解析:
【问题1】
注释率:为4/14=28.6% 由于VC工程注释率要求为25%~50%,代码注释率要求为>=20%; 本题应为关键代码,注释率符合要求。
扇出数是指该模块调用了多少模块,本题中扇出数为:1 扇出一般3~4,不超过7,本题扇入 符合要求
【问题2】
【问题3】
某MOOC(慕课)教育平台欲开发一基于Web的在线作业批改系统,以实现高效的作业提交与批改并进行统计。系统页面中涉及内部的内容链接、外部参考链接以及邮件链接等。页面中采用表单实现作业题目的打分和评价,其中打分为1~5分制整数,评价为文本。
系统要支持:
(1)在特定时期内300个用户并发时,主要功能的处理能力至少要达到16个请求/秒,平均数据量16KB/请求。
(2)系统前端采用HTML5实现,以使用户可以通过不同的移动设备的浏览器进行访问。
【问题1】(4分)
针对此在线系统进行链接测试时,需要测试哪些方面
【问题2】(5分)
为了达到系统要支持的(2),设计一个兼容性测试矩阵。
【问题3】(5分)
给出计算系统的通信吞吐量的方法,并计算在满足系统要支持的(1)时系统的通信吞吐量。
【问题4】(6分)
设计 4个打分和评价的测试输入,考虑多个方面的测试,如:正确输入、错误输入、XSS、SQL注入等测试。
本题解析:
【问题1】
内部链接测试、外部连接测试、邮件链接测试、断链测试
【问题2】
【问题3】
系统的通信吞吐量=系统的并发用户数*单位时间的在线事务数(请求数)*每个请求的平均数据流=300*16*16KB=75MB
【问题4】
(1)打分为任何在1-5范围内的数字,评价为任意文本;
(2)打分为任何在1-5范围外的数字,评价为任意文本;
(3)打分和评价其中任一字段包含HTML标签,如<HTML>,<SCRIPT>等;
(4)打分和评价其中任一字段包含SQL功能符号,如包含',OR、'--、2015'OR‘1’=‘1’等。
【Java程序】
public int addAppTask(Acitivity activity,Intent intent,
TaskDescription description,Bitmap thumbnail){
Point size=getSize(); //1
final int tw=thumbnail.getWidth();
final int th=thumbmail.getHeight();
if(tw!=size.x||th!=size.y){ //2,3
Bitmap bm=Bitmap.createBitmap(size.x,size.y,thumbmail.getConfig()); //4
float scale;
float dx=0,dy=0;
if(tw*size.x>size.y*th){ //5
scale=(float)size.x/(float)th; //6
dx=(size.y-tw*scale)*0.5f;
}else{ //7
scale=(float)size.y/(float)tw;
dy=(size.x-th*scale)*0.5f;
}
Matrix matrix=new Matrix();
matrix.setScale(scale, scale);
matrix.postTranslate((int)(dx+0.5f),0);
Canvas canvas=new Canvas(bm);
canvas.drawBitmap(thumbmail,matrix,null);
canvase.serBitmap(null);
thumbnail=bm;
}
if(description==null){ //8
description =new TaskDescription(); //9
}
} //10
【问题1】(2分)
请简述基本路径测试法的概念。
【问题2】(8分)
请画出上述程序的控制流图,并计算其控制流图的环图复杂度V(G)。
【问题3】(5分)
请给出问题2中的控制流图的线性无关路径。
本题解析:
【问题1】
基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。设计出的测试用例要保证在测试中程序的每个可执行语句至少执行一次。
【问题2】
控制流图是描述程序控制流的一种图示方法。其基本符号有圆圈和箭线:圆圈为控制流图中的一个结点,表示一个或多个无分支的语句;带箭头的线段称为边或连接,表示控制流。基本结构如下所示:
控制流程图的环路复杂性 V(G)等于:
(1)控制流程图中的区域个数。
(2)边数-结点数+2。
(3)判定数+1。
V(g)=5
【问题3】
线性无关路径是指包括一组以前没有处理的语句或条件的一条路径。从控制流图来看,一条线性无关路径是至少包含有一条在其他线性无关路径中从未有过的边的路径:
1:1、2、3、8、10
2:1、2、4、5、6、8、10
3:1、2、3、4、5、6、8、10
4:1、2、4、5、7、8、10
5:1、2、3、8、9、10
(或者与之等价的)
某互联网企业开发了一个大型电子商务平台,平台主要功能是支持注册卖家与买家的在线交易。在线交易的安全性是保证平台上正常运行的重要因素,安全中心是平台上提供安全保护措施的核心系统 ,该系统的主要功能包括:
(1)密钥管理功能,包括公钥加密体系中的公钥及私钥生成与管理,会话密的协商、生成、更新及分发等。
(2)基础加解密服务,包括基于RSA、ECC及AES 等多密码算法的期本加解密服务。
(3)认证服务,提供基于PKI及用户名/口令的认证机制。
(4)授权服务,为应用提供资源及功能的授权管理和访问控制服务。
现企业测试部门拟对平台的密钥管理与加密服务系统进行安全性测试,以检验平台的安全性。
【问题1】(4分)
给出安全中心需应对的常见安全攻击手段并简要说明。
【问题2】(6分)
针对安全中心的安全性测试,可采用哪些基本的安全性测试方法
【问题3】(5分)
请分别说明针对密钥管理功能进行功能测试和性能测试各自应包含的基本测试点。
【问题4】(5分)
请分别说明针对加解密服务功能进行功能测试和性能测试各自应包含的基本测试点。
本题解析:
【问题1】
冒充:就是一个实体假装成一个不同的实体。常与主动攻击形式一起使用,特别是消息的重演与篡改。
重演:当一个消息或部分消息为了产生非授权效果而被重复时,出现重演。
消息篡改:数据所传送的内容被改变而未被发觉,并导致非授权后果。
服务拒绝:当一个实体不能执行它的正常功能,或它的动作妨碍了别的实体执行它们的正常功能的时候,便发生服务拒绝。
【问题2】
功能验证
漏洞扫描
模拟攻击试验
侦听技术
【问题3】
功能测试:
是否制定了密钥管理策略
是否具备密钥生成、密钥发送、密钥存储、密钥查询、密钥撤销、密钥恢复等基本功能
密钥库管理功能是否完善
密钥管理中心的系统、设备、数据、人员等安全管理是否严密
密钥管理中心的审计、认证、恢复、统计等系统管理是否具备
密钥管理系统与证书认证系统之间是否采用基于身份认证的安全通信协议
性能测试:
针对按实际需要配置密钥管理系统,利用企业级的并发压力测试工具测试受理点连接数、签发在用证书数目、密钥发放并发请求数是否满足基本业务需求。
测试是否具备系统所需最大量的密钥生成、存储、传送、发布、归档等密钥管理功能。
测试是否支持密钥5年(或用户要求的年限)保存期。
是否具备异地容灾备份。
是否具备可伸缩配置及扩展能力。
关键部分是否采用双机热备份和磁盘镜像。
【问题4】
功能测试:
是否具备基础加/解密服务功能。
能否为应用提供相对稳定的统一安全服务接口。
能否提供对多密码算法的支持。
随着业务量的逐渐增加,是否可以灵活地增加密码服务模块,实现性能平滑扩展,且不影响上层的应用系统。
性能测试:
RSA算法密钥长度能否达到1024~2048位,ECC算法密钥长度能否达到192位。
如果有必要进行系统速度测试,对应用层的客户端密码设备测试项:公钥密码算法签名速度、公钥密码算法验证速度、对称密钥密码算法加/解密速度,验证是否满足需求。
处理性能如公钥密码算法签名等是否具有扩展能力。
试卷分类:高级信息系统项目管理师
练习次数:0次
试卷分类:高级系统架构设计师
练习次数:0次
试卷分类:中级系统集成项目管理工程师
练习次数:0次
试卷分类:中级信息系统监理师
练习次数:0次
试卷分类:中级软件设计师
练习次数:0次
试卷分类:高级网络规划设计师
练习次数:0次
试卷分类:高级网络规划设计师
练习次数:0次
试卷分类:高级网络规划设计师
练习次数:0次
试卷分类:中级网络工程师
练习次数:0次
试卷分类:中级网络工程师
练习次数:0次