2014下半年软件评测师下午试题分析与解答
Posted 互联网小队
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2014下半年软件评测师下午试题分析与解答相关的知识,希望对你有一定的参考价值。
试题一(共20分)
【问题1】(6分)
本问题考察判定覆盖法
使得被测程序中每个判定表达式至少获得一次真值和假值,从而使程序的每一个分支至少通过一次
程序有6个判定,所以满足判断覆盖一共需要12个逻辑条件
目前理解6个判定是6个if else,每个if else 至少获得一次真值和假值
把每个的if走一遍,还有else走一遍
编号 | 条件 | 备注 |
---|---|---|
1 | month >= 1 && month <= 12 | 一次真,使程序的每一个分支至少通过一次 |
2 | month < 1 | month > 12 | else,一次假,使程序的每一个分支至少通过一次 |
3 | month == 2 | 一次真,使程序的每一个分支至少通过一次 |
4 | month != 2 && (month >= 1 && month <= 12) | else,一次假,使程序的每一个分支至少通过一次 |
5 | year % 4 == 0 && month == 2 | 一次真,使程序的每一个分支至少通过一次 |
6 | year % 4 != 0 && month == 2 | else,一次假,使程序的每一个分支至少通过一次 |
7 | year % 100 ==0 && month == 2 | 一次真,容易错,month == 2是一个常量 |
8 | year % 100 != 0 && year % 4 = 0 && month == 2 | else,一次假,使程序的每一个分支至少通过一次 |
9 | year % 400 = 0 && month == 2 | 一次真,容易错,month == 2是一个常量 |
10 | year % 400 != 0 & & year % 100 == 0 && month =2 | else,一次假,使程序的每一个分支至少通过一次 |
11 | month4||month6|month9|month11 | 一次真,使程序的每一个分支至少通过一次 |
12 | (month!=4 & & month!=-6 && month!=-9 && month!=11) && (month >= 1 & & month <= 12) | else,一次假,使程序的每一个分支至少通过一次 |
【问题2】(9分)
考察基本路径法
根据代码绘制控制流图、计算环路复杂度V(G)
控制流图是描述程序控制流的图示方式,由节点和定向边构成,节点代表基本块,定向边代表控制流的方向
如果条件表达式是符合条件,两个条件拆开就是两条判断语句
复合条件是&&关系,拆开后在流图上就是沿左子树往下
复合条件是||关系,拆开后在流图上就是沿右子树往下
程序的环路复杂度等于控制流图中判定节点的个数加1
**控制流图=节点+定向边
节点根据程序块按顺序排下来,根据每个分支写节点
判断节点=if+if+if+if+if+else+else+else+if+else
控制流图的判定节点个数为10,所以环路复杂度V(G)=判定节点+1=11
【问题3】(5分)
考察基本路径法
根据控制流图和环路复杂度给出线性无关路径
线性无关路径指包含一组以前没有处理的语句或条件的路径
程序的环路复杂度等于线性无关路径的条数,应该有11条线性无关路径
1、1-2-19
2、1-2-3-19
3、1-2-3-4-12-13-14-15-16-18-19
4、1-2-3-4-12-13-14-15-16-17-19
5、1-2-3-4-12-13-14-15-17-19
6、1-2-3-4-12-13-14-17-19
7、1-2-3-4-12-13-17-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】(6分)
考察等价类划分法
是把程序的输入域按规则划分为若干子集,然后从每个子集选取一个具有代表性的数据作为测试用例
本题规定了C是【1,100】
划分1个有效等价类【1,100】,2个无效等价类小于1、大于100
对C取不同值有不同的处理,上述有效等价类进一步细分4个等价类
【1,10】、【11,20】、【21,30】、【31,100】
总共就是4个有效等价类和2个无效等价类
设计用例时从6个等价类任选代表数据即可
【1,10】、【11,20】、【21,30】、【31,100】、小于1、大于100
序号 | 输入C | 输出P |
---|---|---|
1 | 0 | N/A |
2 | 200 | N/A |
3 | 5 | 150 |
4 | 15 | 435 |
5 | 25 | 695 |
6 | 35 | 930 |
【问题2】(6分)
考查边界值分析法
作为等价类划分法的一种补充,是把等价类上的边界值作为测试用例的一种测试方法
等价类:【1,10】、【11,20】、【21,30】、【31,100】、小于1、大于100
边界值:1,10,11,20,21,30,31,100
在每个等价类中再取1个任意值(这个容易漏掉)
序号 | 输入C | 输出P |
---|---|---|
1 | 1 | 30 |
2 | 5(任意(1,10)的数) | 150 |
3 | 10 | 300 |
4 | 11 | 327 |
5 | 15 | 435 |
6 | 20 | 570 |
7 | 21 | 595 |
8 | 25 | 695 |
9 | 30 | 820 |
10 | 31 | 842 |
11 | 35 | 930 |
12 | 100 | 2360 |
【问题3】(3分)
除了等价类划分法和边界值分析法
还有错误推测发、因果图法、判定表驱动法、正交试验法、功能图法
试题三(共20分)三选二
【问题1】(6分)
考查XSS攻击
XSS(跨站点脚本攻击)是一种注入式攻击,主要通过恶意脚本进行攻击,任何脚本如
2)<b οnmοuseοver=alert(“Hi”)>Click
防止的主要手段是对功能符号进行编码转义
【问题2】(3分)
图形测试的主要检查点如下:
1)颜色饱和度和对比度是否合适
2)需求突出的链接的颜色是否容易识别
3)是否正确加载所有图形
【问题3】(5分)
页面测试可以从以下几个方面进行:
1)页面的一致性
2)在每个页面上是否设计友好的用户界面和直观的导航系统
3)是否考虑多种浏览器的需求
4)是否建立了页面文件的命名体系
5)是否充分考虑了合适的页面布局技术,如层叠样式表、表格和帧结构等
【问题4】(6分)
设计如下测试【设计类似如下用例即可,其中包含sql功能符号使sql变为不符合设计意图即可】
status: ‘fulfilled’ – , OrderID: ‘2014’ OR ‘1’ = ‘1’
采用传递参数的形式,Java的JDBC驱动自动会将其按照相应的类型处理,功能符号会进行转义,因此,该sql语句使安全的
试题四(共20分)三选二
【问题1】(8分)
【问题2】(6分)
【问题3】(6分)
试题五(共20分)三选二
【问题1】(4分)
【问题2】(8分)
【问题3】(6分)
【问题4】(2分)
以上是关于2014下半年软件评测师下午试题分析与解答的主要内容,如果未能解决你的问题,请参考以下文章