参考答案:
【问题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】
由于题干设计说明中是依据故障数目来进行说明,从无故障、一个故障、两个故障到多个故障进行软件设计说明,所以采用以故障数目进行等价类划分来设计测试用例方法最恰当。