题目详情

使用在汽车、飞机中嵌入式软件,由于直接影响人生命及财产安全,测试要求更为严格。语句覆盖、判定覆盖、条件覆盖和MC/DC覆盖是通常对这类软件要求。

以下是一段C语言代码,请仔细阅读,并回答相关问题:int logicTest(int x, int y){int magic=0;if(x>0 && y>0) {magic=x+y+10;}else{magic=x+y-10;}if(magic image.png 0){magic=0;}return magic;}

问题1:请根据测试要求,简要说明语句覆盖、判定覆盖、条件覆盖和MC/DC覆盖含义。

问题2:画出以上代码流程图。

问题3:请根据[说明]中C语言代码,计算满足MC/DC覆盖要求用例数量及条件取值范围

正确答案及解析

正确答案
解析

问题1:中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

问题2:中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

问题3:用例数量:3个;条件取值范围:(x>0 and y<=0)、(x<=0 and y>0)及(x>0 and y>0)

本问题考查MC/DC覆盖率判定综合运用。MC/DC与代码中逻辑运算有关。

本题代码中逻辑运算为x>0 &&y>0。根据MC/DC定义,MC/DC覆盖要求每个条件取值都有覆盖,每个判定值都有覆盖且每个条件都能独立影响判定结果。对于a&&b这样逻辑运算,真值表如下。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

对测试用例1和测试用例2,条件a不变,因为条件b不同而导致结果不同,因此条件b独立影响判定结果。

对测试用例2和测试用例3,因为条件b不变,条件a不同而导致结果不同,因此条件a独立影响判定结果。

综合以上,对逻辑运算a&&b应产生三个测试用例,包括:(True,False)、(True,True)、(False,True)。

所以本题用例数量:3个;条件取值范围:(x>0 and y<=0)、(x<=0 and y>0)及(x>0 and y>0)。

你可能感兴趣的试题

单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.V(S2)和P(S4)
  • B.P(S2)和V(S4)
  • C.P(S2)和P(S4)
  • D.V(S2)和V(S4)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.V(S1)P(S2)和V(S3)
  • B.P(S1)V(S2)和V(S3)
  • C.V(S1)V(S2)和V(S3)
  • D.P(S1)P(S2)和V(S3)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.P(S4)和V(S4)V(S5)
  • B.V(S5)和P(S4)P(S5)
  • C.V(S3)和V(S4)V(S5)
  • D.P(S3)和P(S4)V(P5)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.P(S3)和V(S4)V(S5)
  • B.V(S3)和P(S4)P(S5)
  • C.P(S3)和P(S4)P(S5)
  • D.V(S3)和V(S4)V(S5)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.P(S2)和P(S4)
  • B.P(S2)和V(S4)
  • C.V(S2)和P(S4)
  • D.V(S2)和V(S4)
查看答案

相关题库更多 +