(共15分)
一、阅读下列C程序,回答问题1至问题3,将解答填入答题纸的对应栏内。
本问题考查白盒测试用例设计方法:判定覆盖法。
判定覆盖指设计足够的测试用例,使得被测程序中每个判定表达式至少获得一次“真”值和“假”值,从而使程序的每一个分支至少都通过一次。本题中程序有3个判定,所以满足判定覆盖一共需要6个逻辑条件。
问题:1.2 (8分)
请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。
控制流图如下,环路复杂度V(G)=4
(1) P
(2) 1
(3) 4,5
(4) 最多保留两位小数的正浮点数
(5) 除M/G/P之外的单个字母
(6) 小于1的整数
(7) 非正的浮点数
本问题考查等价类划分法中等价类表的构造。
等价类划分法的等价类表是把程序的输入域按规则划分为若干子集。
本题中L,C由多个输入值构成,并且需要对每个(或者每组)输入值分别处理,按规则可以划分为n个有效等价类(每个或者每组值确定一个有效等价类)和一个无效等价类(所有不允许输入值的集合)。
对L来说,分成3个有效等价类(L分别取M、G、P)和1个无效等价类(其他情况),而这个无效等价类又可以进一步细分为非字母、非单个字母以及除M/G/P之外其他字母。
对C来说,分成4个有效等价类(C分别取1、2或3、4或5、6)和1个无效等价类(其他情况),而这个无效等价类又可以进一步细分为非整数、小于1的整数以及大于6的整数。
对A来说,规定了输入值集合必须满足的条件(即最多两位小数的正浮点数),根据规则可以划分为1个有效等价类(最多两位小数的正浮点数)和3个无效等价类(非浮点数,非正的浮点数,多于两位小数的正浮点数)。
问题:2.2 (13分)
根据以上等价类表设计的测试用例如下表所示,请补充表2-4中空(1)-(13)。
本题考查Web应用测试相关知识。Web应用测试除了类似传统软件系统测试的性能测试、压力测试等之外,还需要测试页面、链接、浏览器、表单和可用性等多个方面,由于对Web应用访问的大众化特点,对安全性尤其要重视。
此类题目要求考生阅读题目对现实问题的描述,根据对问题的分析,回答测试有关的问题。本题目说明和问题中,除了功能背景之外,给出了HTML5、兼容性、应用性能指数的概念等技术点。
本问题考查Web应用兼容性测试的内容。本题给出系统前端采用HTML5加以实现,使用户可以通过电脑和不同移动设备的浏览器进行正确访问。而Web应用用户所使用环境的不确定性,使得Web应用需要在包括移动端在内不同平台的不同浏览器上正确显示,并且所有JavaScript、AJAX脚本和认证功能正常工作,兼容性测试更为重要。兼容性测试矩阵是进行兼容性测试的有效工具,针对该应用需支持的不同移动设备进行操作系统平台和浏览器的兼容性测试。包括移动操作系统Windows Phone、iOS和Android等,与其上可以使用的浏览器移动版IE、UCWEB、Google Chrome、Android browser和Safari等进行结合,构建兼容性二维矩阵,行列分别表示操作系统平台和浏览器。测试时分别在单元格记录操作系统和浏览器组合的测试情况。
问题:3.2 (8分)
客户交易时,前端采用表单提交价格(正整数,单位:元)和中介费比例(0到1之间的小数,保留小数点后2位),针对这一功能设计4个测试用例。
测试一:1234567,0.05(说明:分别为任何正整数、0到1之间且保留2位小数的数值);
测试二:1234567.5,0.12(说明:分别为任何非正整数、0到1之间且保留2位小数的数值);
测试三:1234567,1.18(说明:分别为任何正整数、不满足“0到1之间且保留2位小数的数值”);
测试四:体现安全性的测试输入:其中任意输入域包含任何HTML,如:<HTML>,或任何脚本如:<SCRIPT>,或SQL功能符 ,如:‘,OR、’–、2018 OR‘1’=‘1’等,以测试XSS脚本和使SQL改变为不符合设计意图的用例。
本问题考查Web应用功能测试的测试用例设计。针对本系统中的价格和中介费比例设计测试用例。测试的输入包括不同情况、安全性方面的SQL注入和XSS跨站攻击等。题目约定输入价格为正整数,中介费比例为0到1之间的小数,且保留2为小数。对输入不同情况,可以采用等价类划分或边界值分析发等设计测试输入。
等价类划分法是把所有可能的输入数据,即程序的输入域划分为若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。边界值分析法通常作为对等价类划分法的补充,更多地选取每一等价类的边界上以及两侧的情况设计测试用例。
根据等价类划分原则,测试输入应该考虑价格和中介费比例是否合法的不同组合。
第一类:针对价格和中介费比例均合法的情况。输入价格为正整数、中介费比例在0到1之间的保留2位小数的数值的组合。
第二类:针对非法的价格和合法的中介费的情况。输入价格为非正整数,中介费比例在0到1之间的保留2位小数的数值的组合。
第三类:针对合法的价格和非法的中介费的情况。输入价格为正整数,中介费比例不满足在0到1之间的保留2位小数的数值的组合。
第四类:体现安全性的测试输入,即输入的内容中输入某些功能符 可能会传到后台引进行数据库操作或作为新页面的显示内容,而引起安全性方面的问题。因此,需要在测试用例设计的时候考虑XSS或SQL注入等安全性方面的问题,以尽早发现。本系统测试时,设计测试如:对任一字段设计包含HTML或SQL功能符 ,包含如<HTML>或任何脚本<SCRIPT>等标签,检查结果是否造成问题。
问题:3.3 (6分)
采用性能测试工具在对系统性能测试时,采用Apdex(应用性能指数)对用户使用该系统的性能满意度进行度量,系统需要满足的Apdex指数为0.85以上。
Apdex量化时,对应的用户满意度分为三个区间,通过响应时间阈值(Threshold)T来划分,Apdex的用户满意度区间如下:
满意:(0,T],让用户感到很愉快
容忍:(T,4T],慢了一点,但还可以接受,继续这一应用过程
失望:高于4T,太慢了,受不了,用户决定放弃这个应用
Apdex的计算入如下:
Apdex= (满意的样本数+容忍的样本数/2)/总样本数
针对用户功能,本系统设定T=2秒,记录响应时间,统计样本数量,2秒以下记录数4000,2~8秒记录数1000,大于8秒500。
请计算本系统的Apdex指数,并说明本系统是否到达要求
Apdex指数=(满意:小于T的样本数+容忍:TT的样本数/2)/总样本数
=(4000+1000/2)/5500
=0.818
0.818小于0.85,所以该系统的用户满意度没有达到要求。
本问题考查Web应用性能性测试的内容,面向 会用户的应用,用户满意度是一个Web应用成功与否的关键。
针对用户功能,本系统设定T=2秒,记录响应时间,统计样本数量,2秒以下记录数4000,2秒记录数1000,大于8秒500。采用Apdex(应用性能指数)对用户使用房屋中介系统的满意度进行度量,系统需要满足的Apdex指数为0.85以上。在上述条件下计算Apdex指数,判定是否达到给定的要求。
Apdex量化时把最终用户的体验和应用性能联系在了一起,对应用户满意度通过响应时间数值T来划分为如下三个区间:
满意:(0,T]让用户感到很愉快;
容忍:(T,4T]慢了一点,但还可以接受,继续这一应用过程;
失望:大于4T,太慢了,受不了了,用户决定放弃这个应用。
Apdex的计算如下:
Apdex=(小于T的样本数+TT的样本数/2)/总样本数
在题目所给的测试数据条件下,T=2,小于T的样本数为4000,大于T且小于等于4T的样本数为1000,大于4T的样本数为500,用这些数据对Apdex加以计算:
Apdex指数=(满意:小于T的样本数+容忍:TT的样本数/2)/总样本数
=(4000+1000/2)/(4000+1000+500)
=0.818
0.818小于0.85,所以该系统的用户满意度没有达到要求。
(共20分)
四、阅读下列说明,回答问题1至问题4,将解答写在答题纸的对应栏内。
【说明】
某软件的积分计算模块每天定时根据用户发布的文章数、文章阅读数来统计用户所获取的积分,用户分为普通用户和专家用户,两类用户具有不同的积分系数。
图4-1是该模块的类图,图中属性和操作前的“+”、“#”和“-”分别表示公有成员、保护成员和私有成员。
(1) 4
(2) 8
(3) 12
本题考查软件测试的一些基本方法在测试实践中的应用。在软件测试过程中,测试人员通过对软件设计和算法的理解,运用测试概念和方法进行基于需求的测试用例设计,不仅需要选择恰当的测试用例设计方法,而且需要保证测试用例的充分性。
此题目要求考生认真阅读题目所给的软件需求和算法信息,结合嵌入式软件测试的测试用例设计要求,在此嵌入式软件测试中进行实际应用。
本问题主要考查对语句覆盖、条件覆盖和MC/DC覆盖概念的掌握以及应用。
语句覆盖要求设计适当数量的测试用例,运行被测程序,使得程序中每一条语句至少被运行一遍,语句覆盖在测试中主要发现错误语句。
条件覆盖要求设计适当数量的测试用例,运行被测程序,使得每个判断中的每个条件的可能取值至少满足一次。
修正判定条件覆盖(MC/DC)要求设计适当数量的测试用例,保证在一个程序中每一种输入输出至少出现一次,在程序中的每一个条件必须产生所有可能的输出结果至少一次,并且每个判断中的每个条件必须能够独立影响一个判断的输出,即在其他条件不变的前提下仅改变这个条件的值,而使判断结果改变。
按照上述语句覆盖要求,语句覆盖就要使得问题1中的所有语句执行一次。问题1中共有四个语句块,由于问题1中程序片段实现第6条功能,即当一个油箱和一个发动机同时故障时的情况,这个前提条件导致问题1中四个语句块不可能同时执行两个或两个以上,每次只能执行一个,故为了使问题1中的四个语句块都执行一次,就最少需要4个测试用例来覆盖。
按照上述条件覆盖要求,条件覆盖要使得每个判断中的每个条件的可能取值至少满足一次。对问题1中的四个判断进行分析,每个判断有两个条件,如果每个判断中的两个条件同时取真或同时取假,则就可以保证条件覆盖的要求,故每个判断最少需要2个测试用例就可满足条件覆盖要求,四个判断最少就需要8个测试用例来满足条件覆盖要求。
按照上述MC/DC覆盖要求,即每个判断中的每个条件必须能够独立影响一个判断的输出。对问题1中的四个判断进行分析,每个判断有两个条件,两个条件共有四种组合,即TT(TRUE和TRUE)、TF(TRUE和FALSE)、FT(FALSE和TRUE)和FF(FALSE和FALSE)。但是由于每个判断均为逻辑与条件,当前一个条件为FALSE时,其整个判断值为FALSE,后一个条件的真或假均不能独立影响整个判断的输出,所以只需要TT、TF和FX(X表示后一个条件为TRUE或FALSE都可以)三种情况就可以,故每个判断至少需要3个测试用例满足MC/DC覆盖要求,总共四个判断至少需要12个测试测试用例来满足MC/DC覆盖要求。
问题:5.2 (12分)
为了测试此软件功能,测试人员设计了表5-2所示的测试用例,请填写该表中的空(1)12)。
为了测试某飞行器供油阀控制软件的功能,就要依据题目说明中对某飞行器供油阀控制软件的具体功能描述,进行测试用例的设计。此题考查测试用例的设计,不仅包括输入数据的设计,还包括前置条件(例如剩油量)及预期输出的设计(例如给发动机供油的邮箱和上 故障情况),条件较多,需要综合考虑。
序 1,前置条件中两个油箱BL、BR剩余油量均为200,左、右油箱BL、BR与左、右发动机EL、ER均无故障,依据第1条设计说明,输出控制左油箱向左发动机故供油,右油箱BR向右发动机ER供油,不上 故障。
序 2,前置条件中两个油箱BL、BR剩余油量均为200,左油箱BL故障,右油箱BR与左、右发动机EL、ER均无故障,依据第2条设计说明,输出控制右油箱BR分别向左、右发动机供油,并上 二级故障——左油箱故障。
序 3,前置条件中两个油箱BL、BR剩余油量均为200,右油箱BR故障,左油箱BL与左、右发动机EL、ER均无故障,依据第3条设计说明,输出控制左油箱BL分别向左、右发动机EL和ER供油,并上 二级故障——右油箱故障。
序 4,前置条件中两个油箱BL、BR剩余油量均为200,左右油箱剩油量之差等于0L,左发动机EL故障,左、右油箱BL、BR与右发动机ER均无故障,依据第4条设计说明,输出控制左发动机EL断油,右油箱BR向右发动机ER供油,并上 一级故障——左发动机故障。
序 5,前置条件中两个油箱BL、BR剩余油量均为200,左右油箱剩油量之差等于0L,右发动机ER故障,左、右油箱BL、BR与左发动机EL均无故障,依据第5条设计说明,输出控制右发动机ER断油,左油箱BL向左发动机EL供油,并上 一级故障——右发动机故障。
序 6,前置条件中左油箱BL油量未知,BR剩余油量均为180,左右油箱剩油量之差未知,右发动机ER故障,左、右油箱BL、BR与左发动机EL均无故障,输出控制右发动机ER断油,右油箱BR向左发动机EL供油,并上 一级故障——右发动机故障,依据第5条设计说明,得到这样的输出控制,需要左右油箱剩油量之差大于等于50L,所以这时左油箱的剩余油量为任意小于(180-50)的整数,即任意小于130的整数。
序 7,前置条件中左油箱BL剩余油量为90,BR剩余油量未知,左右油箱剩油量之差未知,右发动机ER故障,左、右油箱BL、BR与左发动机EL均无故障,输出控制右发动机ER断油,左油箱队向左发动机故供油,并上 一级故障——右发动机故障,依据第5条设计说明,得到这样的输出控制,需要左右油箱剩油量之差小于50L,所以这时左油箱的剩余油量为(90-50)至(90+50)之间的整数,即任意大于40且小于130的整数。
序 8,前置条件中两个油箱BL、BR剩余油量均为200,左右油箱剩油量之差等于0L,左油箱BL与左发动机EL均故障,右油箱BR与右发动机ER均无故障,依据第6条设计说明,输出控制故障发动机(左发动机EL断油,无故障的油箱(右油箱BR)为无故障发动机(右发动机ER)供油,并上 一级故障——故障油箱(左油箱BL)和故障发动机(左发动机EL)。
序 9,前置条件中两个油箱BL、BR剩余油量均为200,左右油箱剩油量之差等于0L,右油箱BR与右发动机ER均故障,左油箱BL与左发动机EL均无故障,依据第6条设计说明,输出控制故障发动机(右发动机ER)断油,无故障的油箱(左油箱BL)为无故障发动机(左发动机EL)供油,并上 一级故障——故障油箱(右油箱BR)和故障发动机(右发动机ER)。
序 10,前置条件中两个油箱BL、BR剩余油量均为200,左右油箱剩油量之差等于0L,右油箱BR与左发动机EL均故障,左油箱BL与右发动机ER均无故障,依据第6条设计说明,输出控制故障发动机(左发动机EL)断油,无故障的油箱(左油箱BL)为无故障发动机(右发动机ER)供油,并上 一级故障——故障油箱(右油箱BR)和故障发动机(左发动机EL)。
序 11,前置条件中两个油箱BL、BR剩余油量均为200,左右油箱剩油量之差等于0L,左油箱BL与右发动机ER均故障,右油箱BR与左发动机EL均无故障,依据第6条设计说明,输出控制故障发动机(右发动机ER)断油,无故障的油箱(右油箱BR)为无故障发动机(左发动机EL)供油,并上 一级故障——故障油箱(左油箱BL)和故障发动机(右发动机ER)。
序 12,前置条件中两个油箱BL、BR剩余油量均为200,左右油箱剩油量之差等于0L,左、右油箱BL、BR均故障,左、右发动机EL、ER均无故障,依据第7条设计说明,输出控制左、右发动机EL、ER均断油,并上 特级故障——两侧油箱均故障。
序 13,前置条件中两个油箱BL、BR剩余油量均为200,左右油箱剩油量之差等于0L,左、右油箱BL,BR均无故障,左发动机EL故障,右发动机ER未知,但是输出控制左、右发动机EL、ER均断油,并上 特级故障,依据第7条设计说明,只有当两个油箱或两个发动机同时故障或存在更多故障时,才会得到如此的控制,故推断右发动机ER一定故障。
序 14,前置条件中两个油箱BL、BR剩余油量均为200,左右油箱剩油量之差等于0L,左油箱BL故障,左、右发动机EL、ER均故障,只有右油箱BR无故障,依据第7条和第8条设计说明,输出控制左、右发动机EL、ER均断油,并上 特级故障——两侧发动机均故障。左油箱故障的二级故障和两侧发动机均故障的特级故障同时发生,只上 特级故障。
问题:5.3 (2分)
常见的黑盒测试的测试用例设计方法包括等价类划分、决策表、因果图、边界值分析等。测试人员在针对本题设计测试用例时,使用哪种测试用例设计方法最恰当。
等价类划分。
软件测试人员在基于需求设计测试用例的过程中,通常需要使用一些黑盒测试方法,黑盒测试方法一般包括功能分解、等价类划分、边界值分析、判定表、因果图、随机测试、猜错法和正交试验法等。就本题而言,由于设计说明中是依据故障数目来进行说明的,从无故障、一个故障、两个故障到多个故障进行软件设计说明,所以采用以故障数目进行等价类划分来设计测试用例方法最恰当。

文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览33877 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!