近3年软件评测师考试测练考题及答案(1)(考练题)
-
资源ID:235728474
资源大小:627.50KB
全文页数:23页
- 资源格式: DOC
下载积分:17金贝
快捷下载
账号登录下载
微信登录下载
微信扫一扫登录
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
|
下载须知 | 常见问题汇总
|
近3年软件评测师考试测练考题及答案(1)(考练题)
温故而知新,下笔如有神。近三下半年软件评测师考试专题考练2及答案-下午卷试题一阅读下列C程序,回答问题1至问题3,将解答填入答题纸的对应栏内。【C程序】int GetMaxDay( int year, int month) int maxday=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; return maxday; /19 【问题1】(6分)请针对上述C程序给出满足100%DC(判定覆盖)所需的逻辑条件。【问题2】请画出上述程序的控制流图,并计算其环路复杂度V(G)。【问题3】请给出问题2中控制流图的线性无关路径。答案:【问题1】Month>=1&&month<=12 T/FMonth=2 T/FYear%4=0 T/FYear%100=0 T/FYear%400=0 T/FMonth=4 (2)(3)Month=6 (4)(5)Month=9 (6)(7)Month=11 T/F【问题2】V(G)=11【问题3】1、2、191、2、3、191、2、3、4、12、13、17、191、2、3、4、12、13、14、17、191、2、3、4、12、13、14、15、17、191、2、3、4、12、13、14、15、16、17、191、2、3、4、12、13、14、15、16、18、191、2、3、4、5、11、191、2、3、4、5、6、10、191、2、3、4、5、6、7、9、191、2、3、4、5、6、7、8、19解析:【问题1】判断覆盖:设计足够的测试用例,使得程序中的每个判定至少都获得一次“真值”或“假值”,或者说使得程序中的每一个取“真”分支和取“假”分支至少经历一次,因此判定覆盖又称分支覆盖对于本题中判定的条件有:(真/假都需要成立)Month>=1&&month<=12Month=2Year%4=0Year%100=0Year%400=0Month=4 |Month=6|Month=9|Month=11【问题2】控制流图是描述程序控制流的一种图示方法。其基本符号有圆圈和箭线:圆圈为控制流图中的一个结点,表示一个或多个无分支的语句;带箭头的线段称为边或连接,表示控制流。基本结构如下所示:控制流程图的环路复杂性 V(G)等于:(1)控制流程图中的区域个数。(2)边数-结点数+2。(3)判定数+1。V(G)=11【问题3】线性无关路径是指包括一组以前没有处理的语句或条件的一条路径。从控制流图来看,一条线性无关路径是至少包含有一条在其他线性无关路径中从未有过的边的路径:1)1、2、192)1、2、3、193)1、2、3、4、12、13、17、194)1、2、3、4、12、13、14、17、195)1、2、3、4、12、13、14、15、17、196)1、2、3、4、12、13、14、15、16、17、197)1、2、3、4、12、13、14、15、16、18、198)1、2、3、4、5、11、199)1、2、3、4、5、6、10、1910)1、2、3、4、5、6、7、9、1911)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:31100中任意一个数测试用例2:101测试用例3:0测试用例4:110中任意一个数测试用例5:1120中任意一个数测试用例6:2130中任意一个数【问题2】(题干中不要求考虑健壮性,和1100以外的)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:31100中任意一个数测试用例2:101测试用例3:0测试用例4:110中任意一个数测试用例5:1120中任意一个数测试用例6:2130中任意一个数【问题2】边界值设计测试用例,应遵循的原则:1)如果输入条件规定了值得范围,则应取刚达到这个范围的边界值,以及刚刚超过这个范围边界的值作为测试输入数据2)如果输入条件规定了值得个数,则用最大个数、最小个数、比最小个数少、比最大个数多1的数作为测试数据3)根据规格说明的每个输出条件,使用前面的原则14)根据规格说明的每个输出条件,应用前面的原则25)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例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的信息系统。其主要功能为销售、生产控制、采购、运送、存储和财务管理等。系统采用Java EE平台开发,页面中采用表单实现数据的提交与交互,使用图形(Graphics)以提升展示效果。 【问题1】(6分)设计两个表单项输入测试用例,以测试XSS(跨站点脚本)攻击。系统设计时可以采用哪些技术手段防止此类攻击。【问题2】(3分)简述图形测试的主要检查点。【问题3】(5分) 简述页面测试的主要方面。【问题4】(6分)系统实现时,对销售订单的更新所用的SQL语句如下:然后通过setString(.);的方式设置参数值后加以执行。设计测试用例以测试SQL注入,并说明该实现是否能防止SQL注入。答案:【问题1】用例1:<script>alert('dddd')</script>用例2:< IMG SRC="javascripr nt:alert('XSS');" > 或<b onmouseover=alert('dddd')>click me</b>防御XSS攻击方法:验证所有输入数据,有效检测攻击;对所有输出数据进行适当的编码,以防止任何已成功注入的脚本在浏览器端运行。防御规则:1.不要在允许位置插入不可信数据2.在向HTML元素内容插入不可信数据前对HTML解码3.在向HTML常见属性插入不可信数据前进行属性解码4.在向HTML JavaScript DATA Values插入不可信数据前,进行JavaScript解码5.在像HTML样式属性插入不可信数据前,进行CSS解码6.在向HTML URL属性插入不可信数据前,进行URL解码【问题2】图形测试主要检查点:颜色饱和度和对比度是否合适需要突出的链接的颜色是否容易识别是否正确加载所有的图像【问题3】页面的一致性如何在每个页面上是