下半年软件评测师考试真题及答案下午卷.docx
- 文档编号:16543653
- 上传时间:2023-07-14
- 格式:DOCX
- 页数:23
- 大小:354.56KB
下半年软件评测师考试真题及答案下午卷.docx
《下半年软件评测师考试真题及答案下午卷.docx》由会员分享,可在线阅读,更多相关《下半年软件评测师考试真题及答案下午卷.docx(23页珍藏版)》请在冰点文库上搜索。
下半年软件评测师考试真题及答案下午卷
2021下半年软件评测师考试真题及答案-下午卷
试题一
阅读以下C程序,答复以下问题1至问题3,将解答填入答题纸的对应栏内。
【C程序】
intGetMaxDay〔intyear,intmonth〕{
intmaxday=0;//1
if〔month>=1&&month<=12〕{//2,3
if〔month==2〕{//4
if〔year%4==0〕{//5
if〔year%100==0〕{//6
if〔year%400==0〕//7
maxday=29;//8
else//9
maxday=28;
}
else//10
maxday=29;
}
else
maxday=28;//11
}
else{//12
if〔month==4||month==6||month==9||month==11〕//13,14,15,16
maxday=30;//17
else//18
maxday=31;
}
}
returnmaxday;//19
}
【问题1】〔6分〕
请针对上述C程序给出满足100%DC〔判定覆盖〕所需的逻辑条件。
【问题2】
请画出上述程序的控制流图,并计算其环路复杂度V〔G〕。
【问题3】
请给出问题2中控制流图的线性无关路径。
答案:
【问题1】
Month>=1&&month<=12T/F
Month==2T/F
Year%4==0T/F
Year%100==0T/F
Year%400==0T/F
Month==4〔2〕〔3〕Month==6〔4〕〔5〕Month==9〔6〕〔7〕Month==11T/F
【问题2】
V〔G〕=11
【问题3】
1、2、19
1、2、3、19
1、2、3、4、12、13、17、19
1、2、3、4、12、13、14、17、19
1、2、3、4、12、13、14、15、17、19
1、2、3、4、12、13、14、15、16、17、19
1、2、3、4、12、13、14、15、16、18、19
1、2、3、4、5、11、19
1、2、3、4、5、6、10、19
1、2、3、4、5、6、7、9、19
1、2、3、4、5、6、7、8、19
解析:
【问题1】
判断覆盖:
设计足够的测试用例,使得程序中的每个判定至少都获得一次“真值〞或“假值〞,或者说使得程序中的每一个取“真〞分支和取“假〞分支至少经历一次,因此判定覆盖又称分支覆盖
对于此题中判定的条件有:
(真/假都需要成立)
Month>=1&&month<=12
Month==2
Year%4==0
Year%100==0
Year%400==0
Month==4||Month==6||Month==9||Month==11
【问题2】
控制流图是描述程序控制流的一种图示方法。
其根本符号有圆圈和箭线:
圆圈为控制流图中的一个结点,表示一个或多个无分支的语句;带箭头的线段称为边或连接,表示控制流。
根本构造如下所示:
控制流程图的环路复杂性V(G)等于:
〔1〕控制流程图中的区域个数。
〔2〕边数-结点数+2。
〔3〕判定数+1。
V〔G〕=11
【问题3】
线性无关路径是指包括一组以前没有处理的语句或条件的一条路径。
从控制流图来看,一条线性无关路径是至少包含有一条在其他线性无关路径中从未有过的边的路径:
1〕1、2、19
2〕1、2、3、19
3〕1、2、3、4、12、13、17、19
4〕1、2、3、4、12、13、14、17、19
5〕1、2、3、4、12、13、14、15、17、19
6〕1、2、3、4、12、13、14、15、16、17、19
7〕1、2、3、4、12、13、14、15、16、18、19
8〕1、2、3、4、5、11、19
9〕1、2、3、4、5、6、10、19
10〕1、2、3、4、5、6、7、9、19
11〕1、2、3、4、5、6、7、8、19
试题二〔共15分〕
阅读以下说明,答复以下问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某商店为购置不同数量商品的顾客报出不同的价格,其报价规那么如表2-1所示。
表2-1不同数量商品对应的单价
购置数量
单价〔单位:
元〕
头10件〔第1件到第10件〕
30
第二个10件〔第11件到第20件〕
27
第三个10件〔第21件到30件〕
25
超过30件
22
如买11件需要支付10*30+1*27=327元,买35件需要支付10*30+10*27+10*25+5*22=930元
现在该商家开发一个软件,输入为商品数C〔1<=C<=100〕,输出为因付的价钱P。
【问题1】
请采用等价类划分法为该软件设计测试用例〔不考虑C为非整数的情况〕.
【问题2】
请采用边界值分析法为该软件设计测试用例〔不考虑强健性测试,既不考虑C不在1到100之间或者是非整数的情况〕.
【问题3】
列举除了等价类划分法和边界值分析法以外的三种常见的黑盒测试用例设计方法。
答案:
【问题1】
测试用例1:
31~100中任意一个数
测试用例2:
101
测试用例3:
0
测试用例4:
1~10中任意一个数
测试用例5:
11~20中任意一个数
测试用例6:
21~30中任意一个数
【问题2】
(题干中不要求考虑强健性,和1~100以外的)
1、10、11、20、21、30、31、100〔5、15、25、35〕
【问题3】
错误推测法、因果图法、判断表法、正交试验法、功能图法、场景法
解析:
【问题1】
划分等价类的6条原那么:
〔1〕在输入条件规定了取值范围或值的个数的情况下,可以确立一个有效等价类和两个无效等价类
〔2〕在输入条件规定了输入值的集合或者规定了“必须如何〞的条件的情况下,可以确立一个有效等价类和一个无效等价类
〔3〕在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类
〔4〕在规定了输入数据的一组值〔假定n个〕,并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类
〔5〕在规定了输入数据必须遵守的规那么的情况下,可确立一个有效等价类〔符合规那么〕和假设干个无效等价类〔从不同角度违反规那么〕
〔6〕在确知已划分的等价类中,各元素在程序处理中的方式不同的情况下,那么再将该等价类进一步地划分为更小的等价类
此题中主要范围限制为1<=C<=100,即可以划分为两个无效和一个有效等价,但由于每一个小的等价类是单独处理的,因此需要再进一步的划分:
测试用例1:
31~100中任意一个数
测试用例2:
101
测试用例3:
0
测试用例4:
1~10中任意一个数
测试用例5:
11~20中任意一个数
测试用例6:
21~30中任意一个数
【问题2】
边界值设计测试用例,应遵循的原那么:
1〕如果输入条件规定了值得范围,那么应取刚到达这个范围的边界值,以及刚刚超过这个范围边界的值作为测试输入数据
2〕如果输入条件规定了值得个数,那么用最大个数、最小个数、比最小个数少、比最大个数多1的数作为测试数据
3〕根据规格说明的每个输出条件,使用前面的原那么1
4〕根据规格说明的每个输出条件,应用前面的原那么2
5〕如果程序的规格说明给出的输入域或输出域是有序集合,那么应选取集合的第一个元素和最后一个元素作为测试用例
6〕如果程序中使用了一个内部数据构造,那么应中选择这个内部数据构造边界上的值作为测试用例
7〕分析规格说明,找出其他可能的边界条件
依据边界值设计测试用例的原那么,测试用例应选择:
0、1、10、11、20、21、30、31、100、101
由于此题中不需考虑不在1至100之间的数,所以此题的测试用例应选择
1、10、11、20、21、30、31、100〔5、15、25、35〕
【问题3】
黑盒测试的方法有等价类划分、边界值分析、因果图法、判定表法、正交试验法、功能图法、场景法、错误推测法等
因此此题可选:
错误推测法、因果图法、判断表法、正交试验法、功能图法、场景法中的3种
试题三〔共20分〕
阅读以下说明,答复以下问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
某大型披萨加工和销售商为了有效管理披萨的生产和销售情况,欲开发一套基于Web的信息系统。
其主要功能为销售、生产控制、采购、运送、存储和财务管理等。
系统采用JavaEE平台开发,页面中采用表单实现数据的提交与交互,使用图形〔Graphics〕以提升展示效果。
【问题1】〔6分〕
设计两个表单项输入测试用例,以测试XSS〔跨站点脚本〕攻击。
系统设计时可以采用哪些技术手段防止此类攻击。
【问题2】〔3分〕
简述图形测试的主要检查点。
【问题3】〔5分〕
简述页面测试的主要方面。
【问题4】〔6分〕
系统实现时,对销售订单的更新所用的SQL语句如下:
然后通过setString〔...〕;的方式设置参数值后加以执行。
设计测试用例以测试SQL注入,并说明该实现是否能防止SQL注入。
答案:
【问题1】
用例1:
用例2:
\nt: alert('XSS');">或 防御XSS攻击方法: 验证所有输入数据,有效检测攻击;对所有输出数据进展适当的编码,以防止任何已成功注入的脚本在浏览器端运行。 防御规那么: 1.不要在允许位置插入不可信数据 2.在向HTML元素内容插入不可信数据前对HTML解码 3.在向HTML常见属性插入不可信数据前进展属性解码 4.在向HTMLJavaScriptDATAValues插入不可信数据前,进展JavaScript解码 5.在像HTML样式属性插入不可信数据前,进展CSS解码 6.在向HTMLURL属性插入不可信数据前,进展URL解码 【问题2】 图形测试主要检查点: •颜色饱和度和比照度是否适宜 •需要突出的链接的颜色是否容易识别 •是否正确加载所有的图像 【问题3】 •页面的一致性如何 •在每个页面上是否设计友好的用户界面和直观的导航系统 •是否考虑多种浏览器的需要 •是否建立了页面文件的命名体系 •是否充分考虑了适宜的页面布局技术,如层叠样式表、表格和帧构造等 【问题4】 能防止SQL注入 Pstmt.setString〔'1'or'1'='1'--,status〕 Pstmt.setString〔'2'or'1'='1',orderID〕 解析: 【问题3】 页面是信息的载体,直接表达WEB沾点的设计水平,一个好的页面因信息层次清晰而让用户一目了然;因涉及巧妙、精致美观而让用户流连忘返;因恰当使用各种元素能完成许多功能而不显拥挤。 对页面设计的测试可以从以下几个方面进展: 页面的一致性如何 在每个页面上是否设计友好的用户界面和直观的导航系统 是否考虑多种浏览器的需要 是否建立了页面文件的命名体系 是否充分考虑了适宜的页面布局技术,如层叠样式表、表格和帧构造等 【问题4】 SQL注入是黑客攻击数据库的一种常用方法,其实就是通过把SQL命令插入到Web表单或页面请求的查询字符串中提交,最终到达欺骗效劳器执行恶意的SQL命令,来到达攻击的目的。 对于此题由于将SQL语句中的输入值,使用参数方式传送,而且SQL语句进展预编译,这样由于防止注入式攻击,测试用例设计可参考: Pstmt.setString〔'1'or'1'='1'--,status〕 Pstmt.setString〔'2'or'1'='1',orderID〕 试题四〔共20分〕 阅读以下说明,答复以下问题1至问题3,将解答填入答题纸的对应栏内。 【说明】 某大型教育培训机构近期上线了在线网络学校系统,该系统拓扑构造如图4-1所示。 企业信息中心目前拟对该系统用户认证机制进展详细的平安性测试,系统注册用户分为网校学员、教师及管理员三类,其中网校学员采用用户名/口令机制进展认证,教师及管理员采用基于公钥的认证机制。 【问题1】〔8分〕 为防止针对网校学员的口令攻击,请从口令的强度、传输存储及管理等方面,说明可采取哪些平安防护措施。 相应地,对于网校学员所采用的口令认证机制进展测试时,请说明从用户名称及用户口令两个方面开展测试时应包含哪些根本的测试点。 【问题2】〔6分〕 为提高系统认证环节平安性,系统在网校教师及管理员登录认证时引入了USBKey,请说明对公钥认证客户端进展平安测试时,USBKey的功能与性能测试应包含哪些根本的测试点。 【问题3】〔6分〕 系统证书效劳器主要提供证书审核注册管理及证书认证两项功能,根据系统实际情况,目前只设置人员证书,请说明针对证书效劳器的功能与性能测试应包含哪些根本的测试点。 答案: 【问题1】 通过平安策略设置密码的最小长度,设置口令锁定,使用通信加密技术,对存储在数据库中的数据进展加密、设置访问控制等 对于用户名称的测试关键在于测试用户名称的惟一性: 1.同时存在的用户名称在不考虑大小写的状态下,不能同名 2.对于关键领域的软件产品和平安性要求较高的软件,应当同时保证使用过的的用户在用户删除或停用后,保存该用户记录,并且新用户不得与该用户同名 测试用户口令的强度和口令存储的位置和加密强度: 1.最大口令时效 2.最小口令时效 3.口令历史 4.最小口令长度 5.口令复杂度 6.加密选项 7.口令锁定 8.账户复位 【问题2】: 功能测试: •是否支持AES、RSA等常用加密算法 •是否提供外部接口以支持用户证书及私钥的导入 •是否提供外部接口支持将数据传入Key内,经过公钥/私钥计算后导出 •是否能实现USBKey插入状态实时监测,当USBKey意外拨出时是否能自动锁定用户状态 •是否使用口令进展保护 性能测试: •是否具备私钥不能导出的根本平安特性Key内加解密算法的执行效率 •是否满足系统最低要求 【问题3】: 对证书业务效劳系统的功能测试: 1.证书认证系统是否采用国际密码主管部门审批的签名算法完成签名操作,是否提供证书的签发和管理、证书撤销列表的签发和管理、证书/证书撤销列表的发布以及证书审核注册中心的设立、审核及管理等功能 2.按使用对象分类,系统是否能提供人员证书、设备证书、机构证书三种类型的证书 3.是否可以提供加密证书和签名证书 4.数字证书格式是否采用X.509V4 5.系统是否提供证书申请、身份审核、证书下载等效劳功能 6.证书申请、身份审核、证书下载等效劳是否都可采用在线或离线两种方式 7.系统是否提供证书认证策略及操作策略管理、自身证书平安管理等证书管理效劳 证书业务效劳系统性能测试: 1.检查证书业务效劳系统设计的处理性能是否具备可伸缩配置及扩展的能力 2.关键局部是否采用双机热备份和磁盘镜像 3.是否满足系统的不连续运行、在线故障修复和在线系统升级 4.是否满足需求说明中预测的最大数量用户正常访问的需求,并且,是否有3~4倍的冗余,如有必要,需要测试系统的并发压力承受能力。 解析: 【问题1】 口令攻击目前常见的方式有: 社会工程学;暴力破解;弱口令扫描;密码监听等,对于网校网站针对社会工程学方面仅能友善提醒相关人员保护密码;对于密码监听,可以采用通信加密的方式来从技术方面进展一定的保护;对于弱口令扫描,可以通过配置平安策略让用户设置一个平安密码,防止设置弱密码,增加口令破解的难度,同时设置密码锁定策略,可以有效的方式密码扫描和暴力破解;对于存储在数据库效劳器中的用户密码那么可以通过加密方式和数据库的访问控制来保证密码存储的平安 对于用户名称的测试关键在于测试用户名称的唯一性。 唯一性的表达根本基于以下两个方面: 1〕同时存在的用户在不考虑大小写的状态下,不能够同名 2〕对于关键领域的软件产品和平安性要求较高的软件,应当同时保证使用过的用户在用户删除或停用后,保存该用户记录,并且新用户不得与该用户同名 用户口令应当满足当前流行的控制模式,注意测试用户口令的强度和口令存储的位置和加密强度: 最大口令时效 最小口令时效 口令历史 最小口令长度 口令复杂度 加密选项 口令锁定 账户复位 【问题2】 功能测试: •是否支持AES、RSA等常用加密算法 •是否提供外部接口以支持用户证书及私钥的导入 •是否提供外部接口支持将数据传入Key内,经过公钥/私钥计算后导出 •是否能实现USBKey插入状态实时监测,当USBKey意外拨出时是否能自动锁定用户状态 •是否使用口令进展保护 性能测试: •是否具备私钥不能导出的根本平安特性Key内加解密算法的执行效率 •是否满足系统最低要求 【问题3】 对证书业务效劳系统的功能测试: 证书认证系统是否采用国际密码主管部门审批的签名算法完成签名操作,是否提供证书的签发和管理、证书撤销列表的签发和管理、证书/证书撤销列表的发布以及证书审核注册中心的设立、审核及管理等功能 按使用对象分类,系统是否能提供人员证书 是否可以提供加密证书和签名证书 数字证书格式是否采用X.509V4 系统是否提供证书申请、身份审核、证书下载等效劳功能 证书申请、身份审核、证书下载等效劳是否都可采用在线或离线两种方式 系统是否提供证书认证策略及操作策略管理、自身证书平安管理等证书管理效劳 证书业务效劳系统性能测试: 检查证书业务效劳系统设计的处理性能是否具备可伸缩配置及扩展的能力 关键局部是否采用双机热备份和磁盘镜像 是否满足系统的不连续运行、在线故障修复和在线系统升级 是否满足需求说明中预测的最大数量用户正常访问的需求,并且,是否有3~4倍的冗余,如有必要,需要测试系统的并发压力承受能力。 试题五〔共20分〕 阅读以下说明,答复以下问题1至问题4,将解答填入答题纸的对应栏内。 【说明】 某嵌入式刹车控制软件,应用于汽车刹车控制器,该软件需求如下: 1.模式选择: 采集模式控制离散量信号In-D1并通过模式识别信号灯显示软件当前工作模式。 在信号In-D1为低电平时进入正常工作模式〔模式识别信号灯为绿色〕,为高电平时进入维护模式〔模式识别信号灯为红色〕。 软件在正常工作模式下仅进展刹车控制和记录刹车次数,在维护模式下仅进展中央控制器指令响应。 2.刹车控制: 采用定时中断机制,以5ms为周期采集来自驻车器发出的模拟量信号In-A1以及来自刹车踏板发出的模拟量信号In-A2,并向刹车执行组件发送模拟量信号Out-A1进展刹车控制。 模拟量信号说明: 1〕In-A1、In-A2以及Out-Al信号范围均为[0.0V,10.0V],信号精度均为0.1V;2〕Out-A1信号的计算方法为: Out-Al=In-Al+0.3*ln-A2,在计算完成后需要在满足信号精度的要求下进展四舍五入及限幅处理。 3.记录刹车次数;在Out-A1大于4V时,读出非易失存储器NVRAM中保存的刹车次数记录进展加1操作,然后保存至非易失存储器NVRAM申。 4.响应中央控制器指令;接收来自中央控制器的串行口指令字In-S1,回送串行口响应字Out-Sl。 当接收的指令字错误时,软件直接丢弃该命令字,不进展任何响应。 指令字及响应字说明如表5-1所示。 【问题1】〔4分〕 在不考虑测量误差的情况下,根据所设计的输入填写表5-2中的空〔1〕~〔4〕。 表5.2 序号 输入 输出Out-A1 In-A1 In-A2 预期结果 1 0.0V 0.0V 0.0V 2 3.0V 5.2V 〔1〕 3 …… …… …… 4 5.3V 6.8V 〔2〕 5 6.9V 10.0V 9.9V 6 7.0V 10.0V 10.0V 7 7.1V 10.0V 〔3〕 8 10.0 10.0V 〔4〕 【问题2】〔8分〕 请简述本软件串行输入接口测试的测试策略及测试内容。 针对表5-1中“读取刹车次数指令〞进展鲁棒性测试时应考虑哪些情况? 【问题3】〔6分〕 某测试人员设计了如表5-3所示的操作步骤,对模式选择功能进展测试〔表中END表示用例到此完毕〕。 表5-3 前提条件 上电前置In_D1为低电平,给测试环境上电后,模式识别信号灯为绿灯 顺序号 In_D1输入 模式识别信号灯预期输出 1 高电平 红色 2 低电平 绿色 3 高电平 红色 4 END 5 为进一步提高刹车控制软件的平安性,在需求中增加了设计约束: 软件在单次运行过程中,假设进入正常工作模式,那么不得再进入维护模式。 请参照表5-3的测试用例完成表5-4,用于测试该设计约束。 表5-4 前提条件 顺序号 In_D1输入 模式识别信号灯预期输出 1 2 3 4 【问题4】〔2分〕 本工程在开发过程中通过测试发现了17个错误,后期独立测试发现了31个软件错误,在实际使用中用户反响了2个错误。 请计算缺陷探测率〔DDP〕。 答案: 【问题1】 〔1〕4.6V〔2〕7.3V〔3〕10.0V〔4〕10.0V 【问题2】 测试策略包括测试正常和异常指令的响应。 测试内容包括读取刹车次数和去除刹车次数两种指令。 对“读取刹车次数指令〞鲁棒性测试时应考虑输入接口帧头错误、指令码错误、帧长错误、帧尾错误以及整个指令长度超过4B的情况。 【问题3】 前提条件 上电前置In_D1为低电平,给测试环境上电后,模式识别信号灯为红灯 顺序号 In-D1输入 模式识别信号灯预期输出 1 低电平 绿色 2 高电平 绿色 3 END 4 【问题4】 DDP=〔17+31〕/〔17+31+2〕=96% 解析: 【问题1】 此题依据公式进展计算,注意取值范围为【0,10】 〔1〕In-A1=3In-A2=5.2Out-A1=3+5.2*0.3=4.6 〔2〕In-A1=5.3In-A2=6.8Out-A1=5.3+6.8*0.3=7.3 〔3〕In-A1=7.1In-A2=10Out-A1=7.1+10*0.3=10〔范围为0到10〕 〔4〕In-A1=10In-A2=10Out-A1=10+10*0.3=10〔范围为0到10〕 【问题2】 应进展错误数据处理,异常情况处理和非法操作处理三类测试 错误数据处理的测试方法是向指定模块人为输入非法数据,检查终端软件的反响和提示信息是否正常 异常情况处理是测试非人为因素导致的异常,检查测试终端对异常的情况处理是否正常。 终端软件异常主要测试低电的情况,使用电量15%左右的电池进入各个模块进展测试,检查电量缺乏情况下模块的工作情况,低电提醒不应该对正在进展的操作产生不良影响 非法操作处理是在模块根本功能操作的同时进展人为因素导致的终端软件异常操作,包括拔电池,同时还包括在执行中进展非法的操作,如同步
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 下半年 软件 评测 考试 答案 下午