列表

详情


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

【问题1】 (6 分)
覆盖率是度量测试完整性的一个手段,也是度量测试有效性的一个手段。在嵌入式软件白盒测试过程中,通常以语句覆盖率、条件覆盖率和 MC/DC 覆盖率作为度量指标。
在实现第 6 条功能时,设计人员采用了下列算法:
if   ((BL==故障)  &&  ( EL==故障))
{BR供油ER;BL断油;EL断油;}
if   ((BL==故障)  &&  ( ER==故障))
    {BR供油EL;BL断油;ER断油;}
if   ((BR==故障)  &&  ( EL==故障))
{BL供油ER;BR断油;EL断油;}
if   ((BR==故障)  &&  ( ER==故障)) 
    {BL供油EL;BR断油;ER断油;}

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

【问题2】(12分)
为了测试此软件功能,测试人员设计了表5-2所示的测试用例,请填写该表中的空(1)~(12)。
表 5-2  


【问题3】
常见的黑盒测试的测试用例设计方法包括等价类划分、决策表、因果图、边界值分析等。测试人员在针对本题设计测试时,使用哪种测试用例设计方法最恰当?

参考答案: 【问题1】  
(1)4            (2)2               (3)4
【问题2】  
(1)BR          (2)BL           (3)BR             (4)BL               (5)100          (6)90           (7)断油
(8)BL          (9)BL          (10)BR            (11)故障          (12)特级故障
【问题3】  
等价类划分法

详细解析:

【问题1】  
对于代码条件为:
if   ((BL==故障)  &&  ( EL==故障))
{BR供油ER;BL断油;EL断油;}
if   ((BL==故障)  &&  ( ER==故障))
    {BR供油EL;BL断油;ER断油;}
if   ((BR==故障)  &&  ( EL==故障))
{BL供油ER;BR断油;EL断油;}
if   ((BR==故障)  &&  ( ER==故障)) 
    {BL供油EL;BR断油;ER断油;}
是由(BL==故障) (BR==故障) ( ER==故障) ( EL==故障)四个条件组合而成的判断。

语句覆盖:由于条件6约定,不可能同时4个条件都出现故障,所以,当一个出现故障的时候,会出现TT,TF,FT,FF的情况,所以需要4个语句才能完成语句覆盖。
条件覆盖:由于条件6约定,不可能同时4个条件都出现故障,所以,当一个出现故障的时候,会出现TT,TF,FT,FF的情况,因此可以选项 TT,TF,FT,FF 和FF,FT,TF,TT两组测试用例。
判定的条件有两个,共四组:当一组中的条件都为真时,即 TT,TF,FT,FF,由于是逻辑与运算,要满足MCDC必须每一组都出现TT的情况,所以综合起来,一共需要4组测试用例。


【问题2】
问题2的回答,要注意是的相差50L油的情况。即题干陈述中4和5的内容。
(4)当左发动机BL 故障时,根据左右油箱的剩油量决定(如果左右油箱剩油量之差大于等于 50 升,则使用剩油量多的油箱供油,否则同侧优先供油)左油箱BL 还是右油箱 BR 向右发动机 ER 供油,并上报一级故障——左发动机故障;
(5)当右发动机ER故障时,根据左右油箱的剩油量决定(如果左右油箱剩油量之差大于等于 50 升,则使用剩油量多的油箱供油,否则同侧优先供油)左油箱且还是右油箱 BR 向左发动机BL 供油,并上报一级故障——右发动机故障;
【问题3】
由于题干设计说明中是依据故障数目来进行说明,从无故障、一个故障、两个故障到多个故障进行软件设计说明,所以采用以故障数目进行等价类划分来设计测试用例方法最恰当。

上一题