问题
问答题
阅读以下关于嵌入式软件测试方面的叙述,回答问题1至问题3。
甲公司是一个专业的航空软件开发公司,当前正在为某用户开发某航空嵌入式实时软件,王工是该软件开发项目的负责人。应用户要求,甲公司委托乙公司对其开发的航空软件进行第三方测试。张工是乙公司中该测试项目的负责人。
【问题2】 由于该软件是质量要求很高的航空嵌入式实时软件,在甲乙双方就签订该软件第三方测试技术协议进行磋商时,甲方要求乙方的第三方测试结构覆盖率必须达到修正的条件判定覆盖(MC/DC)。请分别简述修正的条件判定覆盖MC/DC与条件判定覆盖(C/DC)对测试用例集的要求条件,下面给出了一个含有两个判定条件的例子,请说明两种覆盖测试用例集的设计方法。 例子: IF A OR B THEN … … ELSE … … ENDIF |
答案
参考答案:
解析:(1)对于C/DC,要求测试集满足如下条件:判定中每个条件的真值与假值都至少取一次:同时判定的真值与假值也要求至少取一次。 (2)对MC/DC,要求测试集满足如下条件: 首先应满足C/DC的测试条件。 判定中每个条件的取值都必须独立地影响判定的结果,即在其他条件取值不变的前提下,仅改变这个条件的值,而使判定结果改变。 (3)两个判定例子的C/DC测试集设计方法。 满足C/DC要求的测试用例集是{TT,FF}。 说明:因为该测试用例集中,条件A与B分别取了T与F,判定A OR B,也取了 T值(当A=T,B=T时)和F值(当A=F,B=F时)。 (4)两个判定例子的MC/DC测试集设计方法。 满足MC/DC要求的测试用例集是{FF,TF,FT}。 说明:C/DC要求的测试用例集是{TT,FF}无法满足MC/DC的要求,条件A与B均没有独立地影响判定的输出结果。