下半年下午 软件测评师 试题及答案与解析全国软考真题.docx
- 文档编号:9987080
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:20
- 大小:1.03MB
下半年下午 软件测评师 试题及答案与解析全国软考真题.docx
《下半年下午 软件测评师 试题及答案与解析全国软考真题.docx》由会员分享,可在线阅读,更多相关《下半年下午 软件测评师 试题及答案与解析全国软考真题.docx(20页珍藏版)》请在冰豆网上搜索。
下半年下午软件测评师试题及答案与解析全国软考真题
2014年下半年下午软件测评师考试试题-
案例分析-答案与解析
试题一(共15分)
【说明】
阅读下列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】
请针对上述C程序给出满足100%DC(判定覆盖)所需的逻辑条件。
【答案解析】
试题分析】
判定覆盖指设计足够的测试用例,使得被测程序中每个判定表达式至少获得一次“真”值和“假”值,从而使程序的每一个分支至少都通过一次。
本题中程序有6个判定,所以满足判定覆盖一共需要12个逻辑条件。
【问题2】
请画出上述程序的控制流图,并计算其环路复杂度V(G)。
【答案解析】
【试题分析】
涉及到的知识点包括根据代码绘制控制流图、计算环路复杂度。
控制流图是描述程序控制流的一种图示方式,它由节点和定向边构成。
控制流图的节点代表一个基本块,定向边代表控制流的方向。
其中要特别注意的是,如果判断中的条件表达式是复合条件,即条件表达式是由一个或多个逻辑运算符连接的逻辑表达式,则需要改变复合条件的判断为一系列之单个条件的嵌套判断。
本题程序中,if(month>=1&&month<=12)这条判断语句中的判定由两个条件组成,因此在画控制流图的时候需要拆开成两条判断语句。
同理,if(month=4||month=6||month=9||month=11)这条判断语句中的判定由4个条件组成,因此在画控制流图的时候需要拆开成4条判断语句。
这里需要注意的是,如果复合条件之间是“&&”的关系,则拆开后反应在控制流图上是沿左子树往下,反之如果条件之间是“||”的关系,则在控制流图上是沿右子树往下。
程序的环路复杂度等于控制流图中判定节点的个数加1,本题控制流图中判定节点个数为10,所以V(G)=11。
【问题3】
请给出问题2中控制流图的线性无关路径。
【答案解析】
【试题分析】
本问题考查白盒测试用例设计方法中的基本路径法。
涉及到的知识点是根据控制流图和环路复杂度给出线性无关路径。
线性无关路径是指包含一组以前没有处理的语句或条件的路径。
从控制流图上来看,一条线性无关路径是至少包含一条在其他线性无关路径中从未有过的边的路径。
程序的环路复杂度等于线性无关路径的条数,所以本题中应该有11条线性无关路径。
试题二(共15分)
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某商店为购买不同数量商品的顾客报出不同的价格,其报价规则如表2-1所示。
如买11件需要支付10*30+1*27=327元,买35件需要支付10*30+10*27+10*25+5*22=930元
现在该商家开发一个软件,输入为商品数C(1<=C<=100),输出为因付的价钱P。
【问题1】
请采用等价类划分法为该软件设计测试用例(不考虑C为非整数的情况).
【答案解析】
【试题分析】
本题考查黑盒测试法及应用。
本问题考查黑盒测试用例设计方法之等价类划分法。
等价类划分法是把程序的输入域按规则划分为若干子集,然后从每个子集中选取一具有代表性的数据作为测试用例。
本题中规定了C的取值范围(1<=C<=100),按规则可以划分为一个有效等价类{C|l<=C<=100}和两个无效等价类{C|C<1}、{C|C>100}。
表2-1中对C取不同值有不同的处理,因此上述有效等价类还可以进一步细分为4个等价类{C|1<=C<=10}、{C|11<=C<=20}、{C|21<=C<=30}.{C|31<=C<=100}。
这样一共得到6个等价类,包括4个有效等价类{C|1<=C<=10}、{C|11<=C<=20}、{C|21<=C<=30}{C|31<=C<=100}和两个无效等价类{C|C<1}、{C|C>100}.设计用例时从这6个等价类中任选一个代表数据即可。
【问题2】
请采用边界值分析法为该软件设计测试用例(不考虑健壮性测试,既不考虑C不在1到100之间或者是非整数的情况).
【答案解析】
【试题分析】
边界值分析法作为等价类划分法的一种补充,是把等价类上的边界取值作为测试用例的一种测试方法。
题目中要求不考虑健壮性测试,也就是说不用考虑无效等价类的边界取值,剩下4个等价类中有1、10、11、20、21、30、31、100这8个边界值,然后每个等价类中再取1个任意值,一共得到12个边界值的测试用例。
【问题3】
列举除了等价类划分法和边界值分析法以外的三种常见的黑盒测试用例设计方法。
【答案解析】
错误推测法,因果图法,判定表驱动法,正交试验法,功能图法。
【试题分析】
黑盒测试方法除了等价类划分法和边界值分析法之外,还包括错误推测法,因果图法,判定表驱动法,正交试验法,功能图法等。
试题三(共20分)
阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
某大型披萨加工和销售商为了有效管理披萨的生产和销售情况,欲开发一套基于Web的信息系统。
其主要功能为销售、生产控制、采购、运送、存储和财务管理等。
系统采用JavaEE平台开发,页面中采用表单实现数据的提交与交互,使用图形(Graphics)以提升展示效果。
【问题1】
设计两个表单项输入测试用例,以测试XSS(跨站点脚本)攻击。
系统设计时可以采用哪些技术手段防止此类攻击。
【答案解析】
XSS(跨站点脚本攻击)是一种注入式攻击,主要通过恶意脚本进行攻击,任何脚本如
(2) ')>clickme! 防止的主要手段是对功能符号进行编码(转义)。 【试题分析】 此类题目要求考生阅读题目对现实问题的描述,根据对问题的分析,回答测试有关的问题。 本题目说明中除了功能背景之外,给出了几个技术点,即采用JavaEE平台,页面中采用表单实现数据的提交与交互,使用图形(Graphics)以提升展示效果。 本问题考查Web应用安全性测试的XSS攻击。 XSS攻击测试是Web应用安全性测试的主要内容之一。 许多Web应用系统在某些情况下,接收页面上传的内容,并入新页面,作为新页面的内容。 例如,在新闻网用户可以对新闻进行评论,用户可以输入如下带有HTML标记的内容: 在用户提交之后,标记将提交到服务器上,并在有新用户访问新的页面中显示,此时用户所看到的网页中包含以上标记的部分元素可能是: 从用户的角度看,该网页中就出现了弹出窗口提示,显示"HelloWorld! ”。 如下图所示: 即: 用户输入的内容已经被浏览器成功执行。 再如输入如下内容: 在用户提交之后,后续再访问时,用户所看到的网页中包含以上标记的部分元素可能是: 即新用户所看到网页中显示“Clickme! ”。 当用户鼠标移过此文字时,就会弹出窗口(左侧为Chrome弹出,右侧为IE9直接给出的提示窗口,多次鼠标滑过操作Chrome提示窗口多了一行浏览器对阻止这类代码的创建新窗口的选项,firefox类似): 而如果这类代码都可以执行,就存在被真正恶意攻击者攻击的可能,而且可能造成各类安全问题。 所以网站提交代码中的任何脚本、页面功能符号都不应该被直接接受作为功能符号在后续使用。 本题目说明中采用表单实现数据提交与交互,在提交数据时,对数据的内容中包含的特殊内容要进行测试。 在测试用例时,要考虑HTML标记符、脚本。 所以测试用例的设计主要考虑
copyright@ 2008-2022 冰点文档网站版权所有
经营许可证编号:鄂ICP备2022015515号-1