五、阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】 某飞行器供油阀控制软件通过控制左右两边的油

来源:www.zcjsj8.com   发布时间2020-10-21
 

五、阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某飞行器供油阀控制软件通过控制左右两边的油箱BL、BR向左右发动机EL、ER供油,既要保证飞行器的安全飞行,又要保证飞行器的平衡,该软件主要完成的功能如下:
(1) 无故障情况下,控制左油箱BL向左发动机EL供油,右油箱BR向右发动机ER供油,不上报故障;
(2) 当左油箱BL故障时,控制右油箱BR分别向左、右发动机EL和ER供油,并上报二级故障——左油箱故障;
(3) 当右油箱BR故障时,控制左油箱BL分别向左、右发动机EL和ER供油,并上报二级故障——右油箱故障;
(4) 当左发动机EL故障时,根据左右油箱的剩油量决定(如果左右油箱剩油量之差大于等于50L,则使用剩油量多的油箱供油,否则同侧优先供油)左油箱BL还是右油箱BR向右发动机ER供油,并上报一级故障——左发动机故障;
(5) 当右发动机ER故障时,根据左右油箱的剩油量决定(如果左右油箱剩油量之差大于等于50L,则使用剩油量多的油箱供油,否则同侧优先供油)左油箱BL还是右油箱BR向左发动机EL供油,并上报一级故障——右发动机故障;
(6) 当一个油箱和一个发动机同时故障时,则无故障的油箱为无故障发动机供油,并上报一级故障——故障油箱和发动机所处位置;
(7) 当两个油箱或两个发动机同时故障或存在更多故障时,则应进行双发断油控制,并上报特级故障——两侧油箱或两侧发动机故障;
(8) 故障级别从低级到高级依次为二级故障、一级故障和特级故障,如果低级故障和高级故障同时发生,则只上报最高级别故障。

问题:5.1   (6分)
覆盖率是度量测试完整性的一个手段,也是度量测试有效性的一个手段。在嵌入式软件白盒测试过程中,通常以语句覆盖率、条件覆盖率和MC/DC覆盖率作为度量指标。在实现第6条功能时,设计人员采用了下列算法:


请指出对上述算法达到100%语句覆盖、100%条件覆盖和100%MC/DC覆盖所需的最少测试用例数目,填写表5-1中的空(1)?(3)。


(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分)
常见的黑盒测试的测试用例设计方法包括等价类划分、决策表、因果图、边界值分析等。测试人员在针对本题设计测试用例时,使用哪种测试用例设计方法最恰当。


等价类划分。

软件测试人员在基于需求设计测试用例的过程中,通常需要使用一些黑盒测试方法,黑盒测试方法一般包括功能分解、等价类划分、边界值分析、判定表、因果图、随机测试、猜错法和正交试验法等。就本题而言,由于设计说明中是依据故障数目来进行说明的,从无故障、一个故障、两个故障到多个故障进行软件设计说明,所以采用以故障数目进行等价类划分来设计测试用例方法最恰当。



  本文网址:http://www.zcjsj8.com/ceping/1208.html