版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2020年下半年软件评测师考试软件测试应用技术下午真题(总分:49.95,做题时间:150分钟)一、案例分析(总题数:5,分数:50.00)1.阅读下列C程序,回答下面问题。
【C程序】
inttbbase64_decode(char*ib,intin,char*ob,inton){
//1
externinttb_arrayn(char[]);
staticchartable[]={
0x3e,0xff,0xff,0xff,0x3f,0x34,0x35,0x36
,
0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0xff
,
0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x01
,
0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09
,
0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11
,
0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19
,
0xff,0xff,0xff,0xff,0xff,0xff,0xla,0x1b
,
0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23
,
0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b
,
0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33
};
inti=0;
intv=0;
char*op=ob;
inttn=tb_arrayn(table);
for(i=0;i<in&&ib[i]&&ib[i]!='=';i++){//2,3,4
intidx=ib[i]-43;
if(idx>=tn||table[idx]==0xff)
//5,6
return0;
//7
v=(v<<6)+table[idx];
if(i&3){
//8
if(op-ob<on)
//9
*op++=v>>(6-2*(i&3));
//10
}
}
return(op-ob);
//11
}
//12(分数:9.99)(1).
【问题1】
请针对上述C程序给出满足100%DC(判定覆盖)所需的逻辑条件。(分数:3.33)__________________________________________________________________________________________
正确答案:(编号条件1i<in&&ib[i]&&ib[i]!='='2i>=in||ib[i]==0||ib[i]=='='3idx>=tn||table[idx]==0xff4idx<tn&&table[idx]!=0xff5(i&3)!=06(i&3)==07op-ob<on8op-ob>=on)解析:本题考查白盒测试法及应用。本问题考查白盒测试中的判定覆盖法。判定覆盖指设计足够的测试用例,使得被测程序中每个判定表达式至少获得一次“真”值和“假”值,从而使程序的每一个分支至少都通过一次。本题中程序有4个判定,所以满足判定覆盖一共需要8个逻辑条件。(2).
【问题2】
请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。(分数:3.33)__________________________________________________________________________________________
正确答案:(控制流图如下图所示。环路复杂度V(G)=8。)解析:[考点]本题考查白盒测试法及应用。本问题考查白盒测试中的基本路径测试法。涉及的知识点包括:根据代码绘制控制流图、计算环路复杂度。控制流图是描述程序控制流的一种图示方式,它由节点和定向边构成。控制流图的节点代表一个基本块,定向边代表控制流的方向。程序的环路复杂度等于控制流图中判定节点的个数加1,本题控制流图中判定节点个数为7(需注意判定中不同条件要独立计算),所以V(G)=8。(3).
【问题3】
请给出问题2中控制流图的线性无关路径。(分数:3.33)__________________________________________________________________________________________
正确答案:(线性无关路径:(1)1-2-11-12(2)1-2-3-11-12(3)1-2-3-4-11-12(4)1-2-3-4-5-7-12(5)1-2-3-4-5-6-7-12(6)1-2-3-4-5-6-8-2...(7)1-2-3-4-5-6-8-9-2...(8)1-2-3-4-5-6-8-9-10-2...)解析:[考点]本题考查白盒测试法及应用。本问题考查白盒测试用例设计方法中的基本路径法。涉及的知识点包括:根据控制流图和环路复杂度给出线性无关路径。线性无关路径是指包含一组以前没有处理的语句或条件的路径。从控制流图上来看,一条线性无关路径是至少包含一条在其他线性无关路径中从未有过的边的路径。程序的环路复杂度等于线性无关路径的条数,所以本题中应该有8条线性无关路径。2.阅读下列说明,回答下面问题。
【说明】
为了有效控制疫情,需要记录所有人最后一次出行的信息。其中:
(1)类Travel记录了一次旅行的基本信息,包括出发地(Source)、目的地(Des)、15日内是否有境外旅行史(OverSeas)和15日内是否去过高风险疫区(HighDanArea)。
(2)类HighTrain和AirPlane分别表示高铁旅行和飞机旅行,这两个类继承了类Travel的属性和方法。HighTrain定义了自己的属性车厢号(CaseNo)和座位号(SeatNo)。AirPlane定义了自己的属性座位号(SeatNo)。
(3)函数checklso调用Travel的相关方法读取旅行者的出发地、目的地以及15日内是否有境外和高风险区域的信息,判断该旅行者是否需要被隔离。
现拟采用面向对象的方法进行测试。(分数:9.99)(1).
【问题1】
(1)面向对象的测试分为哪几个阶段?
(2)类Person和Travel之间是什么关系?
(3)该关系是否影响测试?(分数:3.33)__________________________________________________________________________________________
正确答案:((1)面向对象分析的测试,面向对象设计的测试,面向对象编程的测试,面向对象单元测试,面向对象集成测试,面向对象确认和系统测试。(2)关联关系。(3)影响测试。)解析:(1)此题考查面向对象测试的基本概念。面向对象的测试阶段分为:面向对象分析的测试,面向对象设计的测试,面向对象编程的测试,面向对象单元测试,面向对象集成测试,面向对象确认和系统测试。(2)此题考查面向对象类与类之间的关系。类Person中调用了类Travel作为其成员变量,故Person与Travel之间为关联关系,并且为单向关联关系,因为不存在类Travel调用类Person作为其成员变量。(3)此题考查关联关系对面向对象测试的影响。因为类Person中调用了类Travel作为其成员变量,Person测试成功与否与Travel有较大关系,Travel的失败将导致对Person测试的失败。(2).
【问题2】
为了更方便函数checkIso的实现,程序员在Person类中增加了属性IsIso和方法checkDan,具体实现如下:
classPerson
{
private:
TravelLastTra;
public:
boolIsIso=false;
public:
...
voidcheckDan()
{
...
}
...
}
方法checkDan中判断该旅行者是否需要被隔离,并且把结果写入IsIso,在checkIso中直接读取旅行者的IsIso属性值就可以得出结论。
(1)这种实现方法破坏了面向对象的哪种机制?
(2)这种问题的测试需要在面向对象测试的哪个阶段实施?(分数:3.33)__________________________________________________________________________________________
正确答案:((1)破坏了封装机制。(2)在面向对象编程的测试中进行。)解析:(1)此题考查面向对象的封装机制。通过方法直接修改成员属性,破坏了面向对象的封装性,当需要修改对象成员变量时,应当调用对应的set方法。(2)此题考查面向对象测试各个阶段的测试内容。因为是调用方法checkDan中判断该旅行者是否需要被隔离,并且把结果写入IsIso,所以需要在面向对象编程的测试中进行。(3).
【问题3】
请给出各个类的测试顺序。(分数:3.33)__________________________________________________________________________________________
正确答案:(Travel→HighTrain,AirPlane→Person→main)解析:[考点]此题考查面向对象单元测试的顺序。Travel与HighTrain、AirPlane是继承关系,故要先对父类进行测试,再测试HighTrain、AirPlane、Person,因为Person调用Travel作为其成员变量,故HighTrain、AirPlane在Person之前测试,最后是main。3.阅读下列说明,回答下面问题。
【说明】
某航空公司考虑到在今年特殊形势下,很多会员无法通过搭乘航班延续之前的会员等级,特推出了“回望升级”活动。对2017年1月1日至2019年12月31日三个自然年度任意连续12/24/36个月机票消费达到一定金额时,奖励会员相应等级。
活动规则为:任意连续12/24/36个月机票消费金额达到人民币2.5/4.75/6.75万元及以上,给予银卡会员等级;任意连续12/24/36个月机票消费金额达到人民币5/9.5/13.5万元及以上,给予金卡会员等级;任意连续12/24/36个月机票消费金额达到人民币15/28.5/40.5万元及以上,给予白金卡会员等级。活动规则详见表1。表1活动规则12个月24个月36个月奖励会员等级(代号)2.54.756.75银卡(S)59.513.5金卡(G)1528.540.5白金卡(P)<2.5<4.75<6.75普卡(M)此外,为了鼓励在官网和官方App购票,针对不同的购票渠道,有不同的奖惩系数。官网购票不奖励不惩罚,官方App购票消费金额按1.2倍计算,第三方购票消费金额按0.8倍计算,详见表2。表2不同购票渠道消费金额奖惩系数购票渠道渠道代码奖惩系数第三方10.8官网21官方App31.2
航空公司开发了一个程序来计算会员在该活动后的奖励等级,程序的输入包括会员在2017年1月1日至2019年12月31日中任意连续12个月最大消费金额A(单位:万元),任意连续24个月最大消费金额B(单位:万元),36个月消费金额C(单位:万元),购票渠道代码D,程序的输出为本次活动奖励等级L。其中,A、B、C为非负浮点数最多保留4位小数,D为正整数且取值为1、2、3之一,
L为字母M、S、G、P中之一。(分数:9.99)(1).
【问题1】
采用等价类划分法对该程序进行测试,等价类表如表3所示,请补充表2-3中空(1)~(4)。表3等价类输入/输出有效等价类编号无效等价类编号任意连续12个月最大
消费金额A(1)1非浮点数7负浮点数8
多于4位小数的非负浮点数9任意连续24个月最大
消费金额B最多4位小数的
非负浮点数2非浮点数10负浮点数11多于4位小数的非负浮点数1236个月消费金额C最多4位小数的
非负浮点数3非浮点数13负浮点数14(2)15购票渠道D14非整数1625(3)1736(4)18(分数:3.33)__________________________________________________________________________________________
正确答案:((1)最多4位小数的非负浮点数(2)多于4位小数的非负浮点数(3)非正整数(4)除1、2、3之外的其他正整数)解析:本问题考查等价类划分法中等价类表的构造。等价类划分法的等价类表是把程序的输入域按规则划分为若干子集。本题中A、B、C、D由多个输入值构成,并且需要对每个(或者每组)输入值分别处理,按规则可以划分为n个有效等价类(每个或者每组值确定一个有效等价类)和一个无效等价类(所有不允许输入值的集合)。对A来说,分成1个有效等价类和3个无效等价类,而这个无效等价类又可以进一步细分为非浮点数、负浮点数以及多于4位小数的非负浮点数。对B来说,分成1个有效等价类和3个无效等价类,而这个无效等价类又可以进一步细分为非浮点数、负浮点数以及多于4位小数的非负浮点数。对C来说,分成1个有效等价类和3个无效等价类,而这个无效等价类又可以进一步细分为非浮点数、负浮点数以及多于4位小数的非负浮点数。对D来说,根据规则可以划分为3个有效等价类(1,2,3)和3个无效等价类(非整数,非正整数,除1、2、3之外的其他正整数)。(2).
【问题2】
根据以上等价类表设计的测试用例如表4所示,请补充表4中空(1)~(9)。表4测试用例编号输入覆盖等价类(编号)预期输出LABCD1000N/A(1)(2)210011,2,3,4M310021,2,3,5M410031,2,3,6M5A00(3)(4)N/A6(5)00N/A8,2,3N/A7(6)00N/A9,2,3N/A80A0N/A1,10,3N/A90-10N/A1,11,3N/A1000.123450N/A1,12,3N/A1100AN/A1,2,13N/A1200-1N/A1,2,14N/A13000.12345N/A1,2,15N/A14000(7)1,2,3,16N/A15000(8)1,2,3,17N/A16000(9)1,2,3,18N/A(分数:3.33)__________________________________________________________________________________________
正确答案:((1)1,2,3(2)M(3)N/A(4)7.23(5)任意负浮点数,如-1(6)任意多于4位小数的非负浮点数,如0.12345(7)任意非整数,如A(8)任意非正整数,如0(9)除1、2、3之外的其他任意正整数,如4)解析:[考点]本问题考查等价类划分法中根据等价类表编写测试用例的能力。在编写等价类划分法的测试用例时,如果输入全部都来自有效等价类,则从每个有效等价类选取一个代表元素作为输入;如果要考虑无效等价类,则每次只选取一个无效等价类,其余输入都从有效等价类中选取。(3).
【问题3】
对于本案例的黑盒测试来说,以上测试方法有哪些不足?(分数:3.33)__________________________________________________________________________________________
正确答案:((1)没有考虑边界值;(2)没有考虑对输出进行等价类划分;(3)……)解析:[考点]本问题考查黑盒测试的测试方法的选择能力。常见的黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法、场景法等。本案例中使用了等价类划分法,但是只对输入进行了等价类划分,输出都是M,没有考虑其他输出值,因此还需要对输出进行等价类划分补充用例。此外,本案例没有考虑各等价类边界上的取值,而根据经验,错误往往发生在边界的取值上,因此还需要考虑边界值分析法补充用例。4.阅读下列说明,回答下面问题。
【说明】
某测湿仪用于测量目标物体的相对湿度。该仪器中软件主要完成A/D数据采集,并通过数学运算将数据转换为湿度值,在显示终端显示。软件主要包括主程序模块、测湿程序模块、显示程序模块、报警程序模块等。
程序的主要功能说明如下:
1.主程序模块判断是否存在按键按下的情况,如果没有按键按下,继续执行1;否则执行2。
2.如果按下键为“设置键”,则通过“+”键每次增加1或通过“-”键每次减少1,设置最高湿度报警值(默认值为70),再次按下“设置”键进行确认,并通过“+”键或“-”键设置最低湿度报警值(默认值为40),再次按下“设置”键进行确认后执行1。
3.如果按下键为“测湿”键,则读取测湿程序模块送回的目标湿度信息。
4.将读取的湿度信息与设定的最大值与最小值比较,如果大于等于最大值或小于等于最小值,则执行5;否则向显示程序模块发送显示的湿度信息,并执行6。
5.调用报警处理程序,并向显示程序模块发送报警信息。
6.显示程序模块显示湿度过高报警或湿度过低报警或者湿度信息。(分数:9.99)(1).
【问题1】
为了测试软件功能,测试人员设计了表1所示的测试用例。假定开始执行测试用例时,最高湿度和最低湿度报警值为默认值,请填写该表中的空白(1)~(8),将答案填写在答题纸的对应栏中。表1测试用例一览表序号输入输出(预期结果)1按下“设置”键后,按“-”键7次屏幕显示最高湿度报警值为(1)2接着1的操作,按下“设置”键进行确认后,
先按“+”键10次,再按下“设置”键确认屏幕显示最低湿度报警值设定为(2)3按下“测湿”键,将测湿仪置入湿度为(3)的
目标容器屏幕显示被测目标容器湿度为554按下“测湿”键,将测湿仪置入湿度为52的
目标容器屏幕显示(4)5按下“测湿”键,将测湿仪置入湿度为63的
目标容器屏幕显示(5)6按下“测湿”键,将测湿仪置入湿度为69
目标容器屏幕显示湿度过高报警信息7按下“测湿”键,将测湿仪置入湿度为(6)的
目标容器屏幕显示被测目标容器湿度为518按下“测湿”键,将测湿仪置入湿度为50的
目标容器屏幕显示(7)9按下“测湿”键,将测湿仪置入湿度低于(8)的
目标容器屏幕显示湿度过低报警信息(分数:3.33)__________________________________________________________________________________________
正确答案:((1)63(2)50(3)55(4)被测目标容器湿度为52(5)湿度过高报警信息(6)51(7)湿度过低报警信息(8)50)解析:本题主要考查软件测试的一些基本概念和方法在测试实践中的应用。在嵌入式软件测试过程中,由于大部分嵌入式软件无人机界面,测试人员不能按照界面信息对软件进行直观的理解,必须通过理解软件需求和算法,运用测试概念和方法进行基于需求的测试用例设计,同时需要根据不同软件重要度等级要求保证设计测试用例的充分性。此题目要求考生认真阅读题目所给的软件需求及算法信息,结合嵌入式软件测试的基本概念和测试用例设计要求,在此嵌入式软件测试中进行实际应用。本问题主要考查考生理解软件需求和算法信息的能力,以及运用等价类划分方法和边界值分析方法设计测试用例的能力。按照说明中对测湿仪软件的说明信息,对照表1中的已知信息和提示信息,完成表1中的问题。(1)中的输入为“按下‘设置’键后,按‘-’键7次”,根据输出的提示信息,需要使用说明信息计算出最高湿度报警设定值。根据说明中的第1条和第2条,按下设置键后,通过“-”键每次减少1,设置最高湿度报警值(默认值为70)。因为默认值为70,按键每次减少1,总共按“-”键7次,故应该减少7,默认值70减去7,为63,所以输出为“屏幕显示最高湿度报警值为63”。(2)中输入为“接着1的操作,按下‘设置’键进行确认后,先按‘+’键10次,再按下‘设置’键确认”,根据输出的提示信息,需要根据说明计算出最低湿度报警设定值。根据说明中的第1条和第2条,再次按下“设置”键进行确认,并通过“+”键或“-”键设置最低湿度报警值(默认值为40),再次按下“设置”键进行确认后执行1。因为默认值为40,按“+”键每次增加1,总共按“+”键10次,故应该增加10,默认值40增加10,为50,所以输出为“屏幕显示最低湿度报警值设定为50”。(3)中输出为“屏幕显示被测目标容器湿度为55”,根据输入的提示信息,该用例在进行测湿。根据说明中的第3条、第4条和第6条,如果按下键为“测湿”键,则读取测湿程序模块送回的目标湿度信息,如果读取的湿度信息在设定的正常湿度范围内,则显示模块进行正常湿度显示。由于输出为“屏幕显示被测目标容器湿度为55”,并且湿度55为设定的正常范围内值,可得出输入应为“按下‘测湿’键,将测湿仪置入湿度为55的目标容器”。(4)中输入为“按下‘测湿’键,将测湿仪置入湿度为52的目标容器”,根据输出的提示信息,该用例在进行测湿。根据说明中的第3条、第4条和第6条,如果按下键为“测湿”键,则读取测湿程序模块送回的目标湿度信息,如果读取的湿度信息在设定的正常湿度范围内,则显示模块进行正常湿度显示。由于输入为“按下‘测湿’键,将测湿仪置入湿度为52的目标容器”,并且湿度52为设定的正常范围内值,可得出输出为“屏幕显示被测目标容器(或物体)湿度为52”。(5)中输入为“按下‘测湿’键,将测湿仪置入湿度为63的目标容器”,根据输出的提示信息,该用例在进行测湿。根据说明中的第3条、第4条、第5条和第6条,如果按下键为“测湿”键,则读取测湿程序模块送回的目标湿度信息,如果读取的湿度信息不在设定的正常湿度范围内,则报警处理程序向显示程序模块发送报警信息,显示程序模块进行报警显示。由于输入为“按下‘测湿’键,将测湿仪置入湿度为63的目标容器”,63为设定的最高湿度边界值,根据第4条说明,边界值需要报警处理,可得出输出为“屏幕显示湿度过高报警信息”。(6)中输出为“屏幕显示被测目标容器湿度为51”,根据输入的提示信息,该用例在进行测湿。根据说明中的第3条、第4条和第6条,如果按下键为“测湿”键,则读取测湿程序模块送回的目标湿度信息,如果读取的湿度信息在设定的正常湿度范围内,则显示模块进行正常湿度显示。由于输出为“屏幕显示被测目标容器湿度为51”,并且湿度51为设定的正常范围内值,属于边界测试用例,可得出输入应为“按下‘测湿’键,将测湿仪置入湿度为51的目标容器”。(7)中输入为“按下‘测湿’键,将测湿仪置入湿度为50的目标容器”,根据输出的提示信息,该用例在进行测湿。根据说明中的第3条、第4条、第5条和第6条,如果按下键为“测湿”键,则读取测湿程序模块送回的目标湿度信息,如果读取的湿度信息不在设定的正常湿度范围内,则报警处理程序向显示程序模块发送报警信息,显示程序模块进行报警显示。由于输入为“按下‘测湿’键,将测湿仪置入湿度为50的目标容器”,50为设定的最低湿度边界值,根据第4条说明,边界值需要报警处理,可得出输出为“屏幕显示湿度过低报警信息”。(8)中输出为“屏幕显示湿度过低报警信息”,根据输入的提示信息,该用例在进行测湿。根据说明中的第3条、第4条、第5条和第6条,如果按下键为“测湿”键,则读取测湿程序模块送回的目标湿度信息,如果读取的湿度信息不在设定的正常湿度范围内,则报警处理程序向显示程序模块发送报警信息,显示程序模块进行报警显示。由于输出为“屏幕显示湿度过低报警信息”,并且本说明中设置的湿度最低边界值为50,根据第4条说明,边界值需要报警处理,同时(7)中已处理边界点50,根据测试用例设计中的边界值分析方法,本用例属于边界外测试用例,可得出输入应为“按下‘测湿’键,将测湿仪置入湿度低于50的目标容器”。(2).
【问题2】
软件的结构覆盖率是度量测试充分性的一种手段,也是度量测试有效性的一种手段。在嵌入式软件白盒测试过程中,通常以语句覆盖率、分支覆盖率和MC/DC覆盖率作为度量指标。
在实现题目说明的第4条“判断湿度是否在正常范围”的功能时,设计人员采用了下列算法:
if((目标物体湿度<高湿报警值)&&(目标物体湿度>低湿报警值))
{
显示目标物体湿度值;
}
else
{
if(目标物体湿度≥高湿报警值)
{
显示高湿报警信息;
}
else
{
显示低湿报警信息;
}
}
请完成2中的(1)~(3)空白,指出对上述算法达到100%语句覆盖、100%分支覆盖和100%MC/DC覆盖所需的最少测试用例数目。表2测试覆盖用例统计表覆盖率类型所需的最少用例数100%语句覆盖(1)100%分支覆盖(2)100%MC/DC覆盖(3)(分数:3.33)__________________________________________________________________________________________
正确答案:((1)3(2)3(3)3)解析:[考点]本题主要考查软件测试的一些基本概念和方法在测试实践中的应用。本问题主要考查对语句覆盖、分支覆盖和MC/DC覆盖概念的掌握以及实际应用。语句覆盖要求设计适当数量的测试用例,运行被测程序,使得程序中每一条语句至少被运行一遍,语句覆盖在测试中主要发现错误语句。分支覆盖要求设计适当数量的测试用例,运行被测程序,使得程序中每个真值分支和假值分支至少执行一次,分支覆盖也称判定覆盖。修正判定条件覆盖(MC/DC)要求设计适当数量的测试用例,保证在一个程序中每一种输入输出至少出现一次,在程序中的每一个条件必须产生所有可能的输出结果至少一次,并且每个判断中的每个条件必须能够独立影响一个判断的输出,即在其他条件不变的前提下仅改变这个条件的值,而使判断结果改变。按照上述语句覆盖要求,语句覆盖就要使得问题2中给定算法中所有语句执行一次,问题2中有三个语句块,如下图所示。故为了使问题2中给定算法的三个语句块各执行一次,最少需要3个测试用例来满足覆盖要求。按照上述分支覆盖要求,分支覆盖要使得程序中每个真值分支和假值分支至少执行一次。对问题2中的判断条件进行分析,有3个判断条件,需要分别取每个判断的真值分支和假值分支,即从理论上需要6个测试用例来满足覆盖要求。但是,由于第一个判断的真分支中包含了第二个判断和第三个判断的假分支,当满足第一个判断的真分支时,同时可满足第二个判断的假分支和第三个判断的假分支,可减少2个测试用例;第二个判断或第三个判断的真分支包含了第一个判断的假分支,当满足第二个或者第三个判断的真分支时,同时可满足第一个判断的假分支,可减少1个测试用例。故问题2最少需要3个测试用例来满足分支覆盖要求。按照上述MC/DC覆盖要求,即每个判断中的每个条件必须能够独立影响一个判断的输出。第一个判断有两个组合条件(设为C1,C2),最多有4种组合情况,即C1真C2真、C1真C2假、C1假C2真、C1假C2假。其中C1真C2真、C1真C2假、C1假C2真改变其中任一条件都会改变判断的结果,但C1假C2假改变任一条件后判断结果仍为假,即C1假C2假条件中的C1或C2的真或假均不能独立影响整个判断为假的输出。故最少需要3个测试用例来满足MC/DC覆盖。(3).
【问题3】
嵌入式软件中通常使用注释率来衡量程序的可维护性,嵌入式软件的注释率一般要求不小于
(1)
。
本项目在开发过程中通过测试发现了11个缺陷,在实际使用中用户反馈了1个缺陷,缺陷探测率(DDP)为
(2)
(结果保留小数点后1位)。(分数:3.33)__________________________________________________________________________________________
正确答案:((1)20%或1/5或等效解答(2)91.7%)解析:[考点]本题主要考查软件测试的一些基本概念和方法在测试实践中的应用。本问题第一个问题是嵌入式软件工程中的一个要求,为了提高软件后续的可维护性,要求嵌入式软件的注释率一般不小于代码行数的20%(或1/5,或等效数字),这样要求的目的是在后期维护软件时,能更快地理解软件语句的含义,提高软件适应性更改的效率。本问题第二个问题是一个简单的测试概念,缺陷探测率(DDP)=测试发现的软件问题/软件总的发现问题。对本题而言:缺陷探测率(DDP)=111(11+1)=91.7%。5.阅读下列说明,回答下面问题。
【说明】
为了应对疫情防控下的学生返校管理,某高校管理平台新开发紧急疫情管控系统,以有效管理师生员工的活动及身体情况。该系统提供Web和微信小程序两种不同的访问途径。系统主要功能是:
(1)专职管理人员对基础信息管理和设置。
(2)师生员工每日信息申报,返校、离校活动申报,所在位置通过定位实时获取。
(3)对各类人员的活动申请进行审批。
(4)根据相关审批结果进行门禁控制。
(5)各级管理人员可对所辖部门的人员申报情况进行查询和统计。(分数:9.99)(1).
【问题1】
(1)信息申报采用表单进行实现,输入测试需要测试哪几个方面?
(2)什么情况下表单中输入的内容可能会传到后台引起安全问题?如何设计测试用例进行输入测试?(分数:3.33)__________________________________________________________________________________________
正确答案:((1)表单输入测试需要验证:输入域、错误输入是否有错误提示、必填项和选填项。(2)Web应用系统在某些情况下,接收页面上传的内容,并作为新页面的内容,若输入的内容中包含某些功能符号,可能会传到后台引起安全问题。在测试设计时,在输入域包含HTML,如:<HTML>;或脚本,如:<SCRIPT>;或SQL功能符号,如:-、2020OR'1'='1'等。以测试是否存在XSS脚本和SQL注入等安全问题。)解析:本题考查互联网应用测试相关知识。题目说明中除了具有软件系统功能和性能外,还指出前端Web浏览器和微信小程序使用环境的不同。所以,除了包含功能、性能、压力等测试之外,还需要测试终端兼容性和可用性等方面。又由于互联网应用的受众未知性特点,用户满意度和安全性尤其要重视。此类题目要求考生阅读题目对问题的描述,根据对问题的分析,回答测试有关的问题。本题目说明和问题中,除了应用的功能之外,还要求支持前端Web和微信小程序两种访问途径的平台兼容性,采用应用性能指数度量用户对系统的满意度。本问题考查表单测试相关内容。表单(Form)提供给用户向系统输入信息,从而使系统获得用户填写的相关信息的技术途径。本系统中页面中采用表单实现信息申报的提交,进行表单测试时,需要对表单输入进行验证,对用户输入的输入域、输入的内容是否符合输入域对应的约束,包括错误输入时是否有错误提示,必填项未填时是否有应有的校验,选填项填与不填的情况,输入的内容是否会引起安全问题。表单中输入的内容在某些情况下,如输入的内容中包含某些XSS或SQL等的功能符号,可能会传到后台进行数据库操作或作为新页面的显示内容,而引起安全性方面的问题。因此,需要在测试用例设计的时候考虑XSS或SQL注入等安全性方面的测试。本系统测试时,设计测试输入中包含HTML或SQL功能符号,包含如<HTML>或任何脚本<SCRIPT>等标签,或SQL功能符号,如-、2020OR'1'='1'等,以测试是否存在XSS脚本和SQL注入等安全问题。(2).
【问题2】
系统前端采用HTML5实现,以使用户可以通过计算机和不同移动设备的浏览器进行访问。设计兼容性测试矩阵,对系统兼容性进行测试(不考虑机型)。(分数:3.33)____________________________________________________________________________________
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论