2023年下半年下午软件测评师试题及答案与解析
2023年下半年下午软件测评师试题及答案与解析
【试题一】(共15分)
【问题1】(3分)
请针对上述C程序给出满足100%DC(鉴定覆盖)所需的逻辑条件。
x>0:x<=0
x==l; x!=1
y==7或者y==21;y!=7且y!=21
【问题2】(7分)
请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。
【参照答案】
解析:控制流图是描述程序控制流的一种图示措施。其基本符号有圆固和箭线:圆圈为控制流图中的一种结点,表达一种或多种无分支的语句带箭头的线段称为边或连接,表达控制流。基本构造如下所示:
控制流程图的环路复杂性V(G)等于:
(1)控制流程图中的区域个数。
(2)边数-结点数+2。
(3)鉴定数+1。V(g)=5
【问题3】(5分)
请给出问题2中控制流图的线性无关途径。
【参照答案】
线性无关途径是指包括一组此前没有处理的语句或条件的一条途径。从控制流图来看,一条线性无关途径是至少包具有一条在其他线性无关途径中从未有过的边的途径:
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)
【参照答案】
1:P
2:Z/C
3:A/D/I/Y
4:正整数
5:非FSGP的字母
6:非规定仓位的字母
7:非正数
解析:等价类划分原则:
在输入条件规定了取值范围或值的个数的状况下,可以确定一种有效等价类和两个无效等价类
在输入条件规定了输入值得集合或者规定了“必须怎样”的条件的状况下,可以确立一种有效等价类和一种无效等价类
在输入条件是一种布尔量的状况下,可确定一种有效等价类和一种无效等价类
在规定了输入数据的一组值(假定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为非规定仓位的字母.
【问题2】(13分)根据以上等价类表设计的测试用例如表24所示,请补充空(1)~(13)。
试题三阅读下列阐明,回答问题1至问题4,将解答填入答题纸的对应栏内。
【阐明】某证券交易所为了以便提供证券交易服务,欲开发一种基于Web的证券交易平台。其重要功能包括客户开户,记录查询、存取款、股票交易等。客户信息包括姓名、Email(必填且唯一)、地址等:股票交易信息包括股票代码(6位数字编码的字符串)、交易数量(100的整数倍)、买/卖价格(单位:元,精确到分)。
系统要支持:(1)在特定期朝内3000个顾客并发时,重要功能的处理能力至少要到达128个祈求/秒,平均数据量2KB/祈求
(2)页面中采用表单实现客户信息、交易信息等的提交与交互,系统前端采用HTML5实现。
【问题1】(4分)在对此平台进行非功能测试时,需要测试哪些方面?
【参照答案】性能测试、安全性测试、兼容性测试、易用性测试
【问题2】(5分)
在满足系统要支持的(1)时,计算系统的通信吞吐量。
【参照答案】3000*128*2KB=750MB
【问题3】每个字段的验证
【参照答案】字段的缺省值、表单中的输入
【问题4】(8分)
(1)针对股票代码:111111、数量:10万、目前价格:6.00,设计4个股票交易的测试输入。
(2)设计2个客户开户的测试输入,以测试与否存在XSS、SQL注入。
【参照答案】
1:111111,10万,6(对的输入)
2:1222,10万,6(代码错误)
3:111111,0万,6(数量错误)
4:111111,10万,0(价格错误)
21:姓名:张三or1=1--Email:地址:xxxxxxx
22:姓名:张三Email:地址:xxxxxxx<script>alert(“测试信息”)</script>
解析:(1)本题中有3条件,应当设计一种测试用例覆盖3个有效等价类;然后针对每个条件的无效等价类各设计一种测试用例.
(2)针对客户信息包括姓名、Email(必填且唯一)、地址,等输入,任意挑选一种输入文本框,在保障SQL能运行的前提下,输入带有注入式袭击和XSS袭击的特性内容即可。
【试题四】阅读下列阐明,回答问题1至问题5,将解答写在答题纸的对应栏内。
【阐明】图4-1是银行卡应用的部分类图,图中属性和操作前的“+”和“二”分别表达公有组员和私有组员。银行卡Account有两种类型,借记卡SavingAccount和信用卡CreditAccount。
(1)借记卡和信用卡均有卡号accountNumber和余额balance两个属性。借记卡的余额是正常余额,信用卡的余额是目前未还的金额,假如没有未还的金额,则为0;有开户setUp、取款withdraw、查询余额getBalance和销户close四个措施。借记卡取钱时,规定取钱金额不能超过余额而信用卡取钱金额不能超过信用额度,因此需要在子类中实现该措施。
(2)借记卡可以存钱deposit。
(3)信用卡有信用额度creditLimit属性,可以查询信用额度getCreditLimit、修改信用额度updateCreditLimit和还款retumCredit。现拟采用面向对象的措施进行测试。
【问题1】(3分)
面向对象单元测试的重要对象是什么?
【参照答案】是针对程序的函数、过程或完毕某以特定功能的程序块。
【问题2】(4分)
在继承关系上,若某措施在测试父类时已经测试过,那么在什么状况下在子类中也需要测试?
【参照答案】
1:继承类的组员函数在子类中做了改动
2:组员函数调用了改动过的组员函数的部分
【问题3】(4分)
要测试措施depositO时,还需要调用什么措施?给出测试序列。
【参照答案】getBalance O先测试getBalance(再测试deposit()
【问题4】(6分)
措施withdraw在基类Account中定义,但在两个子类中有不一样的实现。这是面向对象的什么机制?这种状况在测试时怎样进行?
【参照答案】
多态
只需要在原有的测试分析和基础上增长对测试用例中输入数据的类型的考虑:先测试基类,然后再分别根据输入数据设计不一样的测试用例。
【问题5】(3分)
给出类SavingAccount的最小测试序列。
【参照答案】
先测试Account类,然后测试SavingAccount类试题五阅读下列阐明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【阐明】
某嵌入式控软件通过采集传感器数值来计算输出控制率,为了提高数据采集的可靠性,使用三余度采集措施进行三个通道的数据采集。
1.三余度通道数据采集及处理规定:
(1)三通道采集值In_U[0]、In_U[1]、In_U[2]的正常范围为[一3.0,3.0]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)。
【参照答案】
1:1.9 2:1.55 3:2.7 4:-2.90 5:0 6:0
解析:(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】(9分)
为了测试控制率计算算法,在不考虑测量误差的状况下,设计了表5-2所示的用例,请完善其中的空(1)~(6)。
【参照答案】
1:1.454 2:2 3:9 4:二级故障 5:0 6:一级故障
解析:(1)按照规则1,1.465-1.454=0.011不小于0.01,因此应当为实际控制率
(2)是三级故障,三级故障规定持续3个周期,所此前置条件应当为2
(3)是二级故障,二级故障规定合计10个周期,所此前置条件应当为9
(4)前置合计次数已经到达9,在加上本次,就持续次数到达10,因此应当为二级故障
(5)是一级故障,一级故障的输出值为0
(6)由于输出值为0,应属于一级故障
【问题3】(2分)
测试人员在设计测试用例进行采集算法测试时,发现本项目的三余度采集值的详细处理算法存在1处缺陷,请指出此处缺陷。
【参照答案】
缺陷:当三个通道的数据只差不超过0.5,并且两两之间的差值有两个相等时,存在取值问题。如:测试数据为:2.0&nbsnbsp;2.22.4这时,存在取值问题,是取2.1还是2.3?