下半年软件评测师考试真题及答案下午卷.docx
《下半年软件评测师考试真题及答案下午卷.docx》由会员分享,可在线阅读,更多相关《下半年软件评测师考试真题及答案下午卷.docx(23页珍藏版)》请在冰豆网上搜索。
下半年软件评测师考试真题及答案下午卷
2016下半年软件评测师考试真题及答案-下午卷
试题一
阅读下列C程序,回答问题1至问题3,将解答填入答题纸的对应栏内。
【C程序】
intcount(intx,intz){
inty=0;
while(x>0){//l
if(x==1)//2
y=7;//3
else{//4
y=x+z+4;
if(y=7||y=21)//5,6
x=1;//7
}
x--;//8
}
returny;//9
}
【问题1】(3分)
请针对上述C程序给出满足100%DC(判定覆盖)所需的逻辑条件。
【问题2】(7分)
请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。
【问题3】(5分)
请给出问题2中控制流图的线性无关路径。
答案:
【问题1】
x>0;x<=0
x==1;x!
=1
y==7或者y==21;y!
=7且y!
=21
【问题2】
V(g)=5
【问题3】
1:
1,9
2:
1,2,3,8,1,9
3:
1,2,4,5,7,8,1,9
4:
1,2,4,5,6,7,8,1,9
5:
1,2,4,5,6,8,1,9
解析:
【问题1】
解析:
本题中的判定有x>0;x==1;y=7||y=21;三个判定点,所以要符合100%判定覆盖的要求,就需要使得每个判定结果的真假值都出现1次,即:
x>0;x<=0;x==1;x!
=1;y==7或者y==21;y!
=7且y!
=21
【问题2】
解析:
控制流图是描述程序控制流的一种图示方法。
其基本符号有圆圈和箭线:
圆圈为控制流图中的一个结点,表示一个或多个无分支的语句;带箭头的线段称为边或连接,表示控制流。
基本结构如下所示:
控制流程图的环路复杂性V(G)等于:
(1)控制流程图中的区域个数。
(2)边数-结点数+2。
(3)判定数+1。
V(g)=5
【问题3】
线性无关路径是指包括一组以前没有处理的语句或条件的一条路径。
从控制流图来看,一条线性无关路径是至少包含有一条在其他线性无关路径中从未有过的边的路径:
1:
1,9
2:
1,2,3,8,1,9
3:
1,2,4,5,7,8,1,9
4:
1,2,4,5,6,7,8,1,9
5:
1,2,4,5,6,8,1,9
试题二
阅读下列说明,回答问题1和问题2,将解答填入答题纸的对应栏内。
【说明】
某航空公司的会员卡分为普卡、银卡、金卡和白金卡4个级别,会员每次搭乘该航空公司航班均可能获得积分,积分规则如表2-1所示。
此外,银卡及以上级别会员有额外积分奖励,奖励规则如表2-2所示。
公司开发了一个程序来计算会员每次搭乘航班历累积的积分,程序的输入包括会员级别B、舱位代码C和飞行公里数K,程序的输出为本次积分S。
其中,B和C三字母且大小写不敏感,K为正整数,S为整数(小数部分四舍五入)。
【问题1】(7分)
采用等价类型划分法对该程序进行测试,等价类表如2-3所示,请补充空
(1)-(7)
表2-3等价类表
输入条件
有效等价类
编号
无效等价类
编号
会员等级B
F
1
非字母
12
S
2
非单个字母
13
G
3
(5)
14
(1)
4
舱位代码C
F
5
非字母
15
(2)
6
(6)
16
(3)
7
R/B/H/K/L/M/W
8
Q/X/U/E
9
P/S/G/O/J/V/N/T
10
飞行公里数K
(4)
11
非整数
17
(7)
18
【问题2】(13分)
根据以上等价类表设计的测试用例如表24所示,请补充空
(1)~(13)。
表2-4
编号
输入
覆盖等价类(编号)
预期输出S
B
C
K
1
F
F
500
1,5,11
(1)
2
S
Z
(2)
2,6,11
825
3
G
A
500
(3)
781
4
P
(4)
500
4,8,11
750
5
(5)
Q
500
1,9,11
250
6
F
P
500
1,10,11
(6)
7
(7)
P
500
12,10,11
N/A
8
(8)
F
500
13,5,11
N/A
9
A
Z
500
14,6,11
N/A
10
S
(9)
500
2,15,11
N/A
11
S
(10)
500
2,16,11
N/A
12
S
Q
(11)
2,9,17
(12)
13
S
P
(13)
2,10,18
N/A
答案:
【问题1】
1:
P2:
Z/C3:
A/D/I/Y4:
正整数
5:
非FSGP的字母6:
非规定仓位的字母7:
非正数
【问题2】
按照相关的规则进行计算:
1:
10002:
5003:
3,7,11
4:
R/B/H/K/L/M/W(有效等价类,一个测试用例可以覆盖多个有效类)
5:
F6:
07:
9
8:
GG9:
310:
X
11:
300.312:
N/A
13:
-200/0(无有效等价类,一个测试用例只能覆盖1个有效类)
解析:
【问题1】
等价类划分原则:
在输入条件规定了取值范围或值的个数的情况下,可以确定一个有效等价类和两个无效等价类
在输入条件规定了输入值得集合或者规定了“必须如何”的条件的情况下,可以确立一个有效等价类和一个无效等价类
在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类
在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确定n个有效等价类和一个无效等价类
在规定了输入数据必须遵守的规则的情况下,可确定一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)
在确知已划分的等价类中,各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步地划分为更小的等价类
本题中会员等级的有效等价类应为:
表格中指定的类:
FSGP,由于每个等级是单独处理,所以有4个等价类,无效等价类:
应有非FSGP之内的字母,非字母,非单个字母等。
结合起来所以1为P;5为非FSGP的字母;对于飞行公理K,应是一个正整数,所以有效等价类为正整数,无效等价类为非整数,和非正整数;因此:
4为正整数;7为非正整数。
对于仓位代码C,结合表格来看,R和B/H/K/L/M/W放在一个有效等价类中,说明,出题的意思是仓位代码按照不同积分的程度分类(0,50%,100%,125%,150%,200%),即六个有效等价类,无效等价类应为:
非字母和不在列表之内的字母。
因此:
2为Z/C3为A/D/I/Y6为非规定仓位的字母。
试题三
阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
某证券交易所为了方便提供证券交易服务,欲开发一个基于Web的证券交易平台。
其主要功能包括客户开户,记录查询、存取款、股票交易等。
客户信息包括姓名、Email(必填且唯一)、地址等;股票交易信息包括股票代码(6位数字编码的字符串)、交易数量(100的整数倍)、买/卖价格(单位:
元,精确到分)。
系统要支持:
(1)在特定时朝内3000个用户并发时,主要功能的处理能力至少要达到128个请求/秒,平均数据量2KB/请求;
(2)页面中采用表单实现客户信息、交易信息等的提交与交互,系统前端采用HTML5实现。
【问题1】(4分)
在对此平台进行非功能测试时,需要测试哪些方面?
【问题2】(5分)
在满足系统要支持的
(1)时,计算系统的通信吞吐量。
【问题3】(3分)
表单输入测试需要测试哪几个方面?
【问题4】(8分)
(1)针对股票代码:
111111、数量:
10万、当前价格:
6.00,设计4个股票交易的测试输入。
(2)设计2个客户开户的测试输入,以测试是否存在XSS、SQL注入。
答案:
【问题1】
性能测试、安全性测试、兼容性测试、易用性测试
【问题2】
3000*128*2KB=750MB
【问题3】
每个字段的验证
字段的缺省值
表单中的输入
【问题4】
1:
111111,10万,6(正确输入)
2:
1222,10万,6(代码错误)
3:
111111,0万,6(数量错误)
4:
111111,10万,0(价格错误)
21:
姓名:
张三or1=1--Email:
q123@地址:
xxxxxxx
22:
姓名:
张三Email:
q123@地址:
xxxxxxx
解析:
(1)本题中有3条件,应该设计一个测试用例覆盖3个有效等价类;然后针对每个条件的无效等价类各设计一个测试用例.
(2)针对客户信息包括姓名、Email(必填且唯一)、地址,等输入,任意挑选一个输入文本框,在保障SQL能运行的前提下,输入带有注入式攻击和XSS攻击的特征内容即可。
试题四
阅读下列说明,回答问题1至问题5,将解答写在答题纸的对应栏内。
【说明】
图4-1是银行卡应用的部分类图,图中属性和操作前的“+”和“一”分别表示公有成员和私有成员。
银行卡Account有两种类型,借记卡SavingAccount和信用卡CreditAccount。
图4-1银行卡应用的部分类图
(1)借记卡和信用卡都有卡号accountNumber和余额balance两个属性。
借记卡的余额是正常余额,信用卡的余额是目前未还的金额,如果没有未还的金额,则为0;有开户setUp、取款withdraw、查询余额getBalance和销户close四个方法。
借记卡取钱时,要求取钱金额不能超过余额;而信用卡取钱金额不能超过信用额度,因此需要在子类中实现该方法。
(2)借记卡可以存钱deposit。
(3)信用卡有信用额度creditLimit属性,可以查询信用额度getCreditLimit、修改信用额度updateCreditLimit和还款retumCredit。
现拟采用面向对象的方法进行测试。
【问题1】(3分)
面向对象单元测试的主要对象是什么?
【问题2】(4分)
在继承关系上,若某方法在测试父类时已经测试过,那么在什么情况下在子类中也需要测试?
【问题3】(4分)
要测试方法deposit()时,还需要调用什么方法?
给出测试序列。
【问题4】(6分)
方法withdraw在基类Account中定义,但在两个子类中有不同的实现。
这是面向对象的什么机制?
这种情况在测试时如何进行?
【问题5】(3分)
给出类SavingAccount的最小测试序列。
答案:
【问题1】
是针对程序的函数、过程或完成某以特定功能的程序块。
【问题2】
1:
继承类的成员函数在子类中做了改动
2:
成员函数调用了改动过的成员函数的部分
【问题3】
getBalance()
先测试getBalance()再测试deposit()
【问题4】
多态
只需要在原有的测试分析和基础上增加对测试用例中输入数据的类型的考虑;先测试基类,然后再分别依据输入数据设计不同的测试用例。
【问题5】
先测试Account类,然后测试SavingAccount类
试题五
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某嵌入式控劁软件通过采集传感器数值来计算输出控制率,为了提高数据采集的可靠性,使用三余度采集方法进行三个通道的数据采集。
1.三余度通道数据采集及处理要求:
(1)三通道采集值In_U[0]、In_U[1]、In_U[2]的正常范围为[一3.0,3.O]V,且任意两通道间差值不大于0.5V;
(2)如果某通道采集值超过正常范围或者因为通道采集值造成与其它通道差值大于0.5V,则该通道数据不满足要求;
(3)如果三通道值均满足要求,则取三通道中差值较小的两通道数据的平均值;
(4)如果仅有一个通道数据不满足采集要求,取满足要求的两个通道数据的平均值;
(5)如果多于一个通道数据不满足采集要求,取安全值0V。
2.对采集数值计算控制率的具体处理算法如下:
(1)如果依据采集数据计算的控制率C1与目前实际控制率C0差值不大于0.01则使用本周期计算控制率C1进行输出控制,否则使用目前实际控制率C0输出控制.不上报传感器故障;
(2)如果连续3个周期计算的控制率C1与目前实际控制率C0差值大于0.01,则上报传感器三级故障,连续超差计数清零,使用目前实际控制率C0输出控制;如果已经连续3个周期控制率超差,并上报三级故障,但第4个周期计算的控制率C1与目前实际控制率C0差值不大于0.01,则清除三级故障上报;
(3)如果累计大于等于10个周期计算的控制率C1与目前实际控制率C0差值大于0.01,则上报传感器二级故障,使用目前实际控制率输出控制;
(4)如果累计大于等于100个周期计算的控制率C1与目前实际控制率C0差大于0.01,则上报传感器一级故障,并清除二级故障,并切断输出控制(输出安全值0)
(5)如果低级故障和高级故障同时发生,则按高级故障处理。
【问题1】(9分)
为了测试采集算法,在不考虑测量误差的情况下,设计了表5-1所示的测试用例,请填写该表中的空
(1)~(6)。
表5-1测试用例
序号
输入
输出Out_A1
In_U[0]
In_U[1]
In_U[2]
预期输出(保留两位小数)
1
0.0V
0.0V
0.0V
0.0V
2
2.0V
2.3V
1.8V
(1)
3
1.5V
1.6V
1.3V
(2)
4
2.8V
2.6V
2.0V
(3)
5
-3.0V
-3.1V
-2.8V
(4)
6
2.0V
1.4V
2.6V
(5)
7
3.1V
2.8V
3.2V
(6)
【问题2】(9分)
为了测试控制率计算算法,在不考虑测量误差的情况下,设计了表5-2所示的用例,请完善其中的空
(1)~(6)。
表5-2测试用例
序号
前置条件
输入
输出(预期结果)
控制率超差连续计数
控制率超差累计计数
计算控制率C1
实际控制率C0
输出控制率
上报故障
1
0
0
1.632
1.638
1.632
无
2
0
0
1.465
1.454
(1)
无
3
(2)
6
2.358
2.369
2.369
三级故障
4
1
(3)
1.569
1.557
1.557
二级故障
5
2
9
2.221
2.234
2.234
(4)
6
0
99
1.835
1.822
(5)
一级故障
7
2
99
2.346
2.357
0
(6)
【问题3】(2分)
测试人员在设计测试用例进行采集算法测试时,发现本项目的三余度采集值的具体处理算法存在l处缺陷,请指出此处缺陷。
答案:
【问题1】
1:
1.92:
1.553:
2.7
4:
-2.905:
06:
0
【问题2】
1:
1.4542:
23:
9
4:
二级故障5:
06:
一级故障
【问题3】
缺陷:
当三个通道的数据只差不超过0.5,而且两两之间的差值有两个相等时,存在取值问题。
如:
测试数据为:
2.0&nbsnbsp;2.22.4这时,存在取值问题,是取2.1还是2.3?
解析:
【问题1】
(1)信道之差不大于0.5,所以三个信道都满足要求,按规则(3)处理,即取1.8和2.0的平均值
(2)信道之差不大于0.5,所以三个信道都满足要求,按规则(3)处理,即取1.5和1.6的平均值
(3)信道之差2.8与2.0直接大于0.5,2.6与2.0之间大于0.5,所以2.0不符合要求,按规则(4)处理,即取2.6和2.8的平均值
(4)信道之差不大于0.5,-3.1超过【-3.0,3.0】的范围,不满足要求,按规则(4)处理,即取-3.0和-2.8的平均值
(5)由于任意两个信道之间的差值都超过0.5,所以所有信道都不符合要求,按规则(5)处理,即取值为0
(6)由于3.1和3.2都超过【-3.0,3.0】的范围,按规则(5)处理,即取值为0
【问题2】
(1)按照规则1,1.465-1.454=0.011大于0.01,所以应该为实际控制率
(2)是三级故障,三级故障要求连续3个周期,所以前置条件应该为2
(3)是二级故障,二级故障要求累计10个周期,所以前置条件应该为9
(4)前置累计次数已经达到9,在加上本次,就连续次数达到10,所以应该为二级故障
(5)是一级故障,一级故障的输出值为0
(6)由于输出值为0,应属于一级故障
附赠资料:
2022年计算机软件水平考试高频考点
《系统架构设计师》
一、考虑用户的观点
当您为智能客户端应用程序确定合适的性能目标时,您应该仔细考虑用户的观点。
对于智能客户端应用程序而言,性能与可用性和用户感受有关。
例如,只要用户能够继续工作并且获得有关操作进度的足够反馈,用户就可以接受漫长的操作。
在确定要求时,将应用程序的功能分解为多个使用情景或使用案例通常是有用的。
您应该识别对于实现特定性能目标而言关键且必需的使用案例和情景。
应该将许多使用案例所共有且经常执行的任务设计得具有较高性能。
同样,如果任务要求用户全神贯注并且不允许用户从其切换以执行其他任务,则需要提供优化的且有效的用户体验。
如果任务不太经常使用且不会阻止用户执行其他任务,则可能无须进行大量调整。
对于您识别的每个性能敏感型任务,您都应该精确地定义用户的操作以及应用程序的响应方式。
您还应该确定每个任务使用的网络和客户端资源或组件。
该信息将影响性能目标,并且将驱动对性能进行度量的测试。
可用性研究提供了非常有价值的信息源,并且可能大大影响性能目标的定义。
正式的可用性研究在确定用户如何执行他们的工作、哪些使用情景是共有的以及哪些不是共有的、用户经常执行哪些任务以及从性能观点看来应用程序的哪些特征是重要的等方面可能非常有用。
如果您要生成新的应用程序,您应该考虑提供应用程序的原型或模型,以便可以执行基本的可用性测试。
二、考虑应用程序的操作环境
对应用程序的操作环境进行评估是很重要的,因为这可能对应用程序施加必须在您制定的性能目标中予以反映的约束。
位于网络上的服务可能对您的应用程序施加性能约束。
例如,您可能需要与您无法控制的Web服务进行交互。
在这种情况下,需要确定该服务的性能,并且确定这是否将对客户端应用程序的性能产生影响。
您还应该确定任何相关服务和组件的性能如何随着时间的变化而变化。
某些系统会经受相当稳定的使用,而其他系统则会在一天或一周的特定时间经受变动极大的使用。
这些区别可能在关键时间对应用程序的性能造成不利影响。
例如,提供应用程序部署和更新服务的服务可能会在星期一早上9点缓慢响应,因为所有用户都在此时升级到应用程序的最新版本。
另外,还需要准确地对所有相关系统和组件的性能进行建模,以便可以在严格模拟应用程序的实际部署环境的环境中测试您的应用程序。
对于每个系统,您都应该确定性能概况以及最低、平均和最高性能特征。
然后,您可以在定义应用程序的性能要求时根据需要使用该数据。
您还应该仔细考虑用于运行应用程序的硬件。
您将需要确定在处理器、内存、图形功能等方面的目标硬件配置,或者至少确定一个如果得不到满足则无法保证性能的最低配置。
通常,应用程序的业务操作环境将规定一些更为苛刻的性能要求。
例如,执行实时股票交易的应用程序将需要执行这些交易并及时显示所有相关数据。
三、使用分页和惰性加载
在大多数情况下,您应该仅在需要时检索或显示数据。
如果您的应用程序需要检索和显示大量信息,则您应该考虑将数据分解到多个页面中,并且一次显示一页数据。
这可以使用户界面具有更高的性能,因为它无须显示大量数据。
此外,这可以提高应用程序的可用性,因为用户不会同时面对大量数据,并且可以更加容易地导航以查找他或她需要的确切数据。
例如,如果您的应用程序显示来自大型产品目录的产品数据,则您可以按照字母顺序显示这些项,并且将所有以“A”开头的产品显示在一个页面上,将所有以“B”开头的产品显示在下一个页面上。
然后,您可以让用户直接导航到适当的页面,以便他或她无须浏览所有页面就可以获得他或她需要的数据。
以这种方式将数据分页还使您可以根据需要获取后台的数据。
例如,您可能只需要获取第一页信息以便显示并且让用户与其进行交互。
然后,您可以获取后台中的、已经准备好供用户使用的下一页数据。
该技术在与数据缓存技术结合使用时可能特别有效。
您还可以通过使用惰性加载技术来提高智能客户端应用程序的性能。
您无须立即加载可能在将来某个时刻需要的数据或资源,而是可以根据需要加载它们。
您可以在构建大型列表或树结构时使用惰性加载来提高用户界面的性能。
在此情况下,您可以在用户需要看到数据时(例如,在用户展开树节点时)加载它。
《系统集成项目管理工程师》
一、企业信息化
企业信息化就是利用现代信息技术来实现企业经营战略、行为规范和业务流程。
企业信息化结构:
产品/服务层,作业层,管理层,决策层。
企业信息化就是在企业作业、管理、决策的各个层面,科学计划、过程控制、事物处理、经营管理的各个领域,引进和使用现代化信息技术,全面改革管理体制和机制,从而大幅度提高企业工作效率、市场竞争能力和经济效益。
二、企业资源规划(ERP)
ERP:
EnterpriseResourceplanning,一般来说,ERP是一个以财务会计为核心的信息系统,用来识别和规划企业资源,对采购、生产、成本、库存、销售、运输、财务、人力资源等进行规划和优化,从而达到最佳资源组合,使企业利润最大化。
从计算机技术的角度来看,ERP系统是一种软件工具,是一套复杂的信息管理系统。
ERP系统综合运用数据库、面向对象、图形用户界面(GUI)和网络通信等计算机技术,实现系统化的企业管理。
ERP系统特点:
ERP是统一的集成系统;ERP是面向业务流程的系统;ERP是是模块化可配置的;ERP是开放的系统。
ERP系统功能:
财会管理;生产控制管理;物流管理;人力资源管理等。
三、供应链管理(SCM)
供应链的概念:
传统概念认为供应链描述的是企业间的采购、供应关系,这种关系仅局限于制造商和供应商之间的关系,忽略了与外部供应链成员的联系。
现代供应链概念增加了三个要点:
关于核心企业、关于战略伙伴关系、关于增值链。
供应链的结构:
供应链是一个范围很大的企业结构模式,包含了所有参与的节点企业,从原材料开始,经过各个环节,直到最终用户。
供应链管理:
是一种集成的管理思想和方法,是在满足服务水平要求的同时,为了使系统成本达到最低而采用的将供应商、制造商、仓库和商店有效的结合成一体来生产商品,有效的控制和管理各种信息流、资金流和物流,并把正确数量的商品在正确的时间配送到正确的地点的一套管理方法。
供应链管理分类:
(1)按供应链管理的对象分:
企业供应链、产品供应链、基于供应链契约的供应链;
(2)按网状结构分:
V型供应链、A