首页 > 其他 > 详细

逻辑覆盖测试之3-1 条件与判定

时间:2018-10-28 22:51:53      阅读:164      评论:0      收藏:0      [点我收藏+]

((x>5)&&(y>0))

  • 判定覆盖准则(DC):判定的 true 和 false至少各执行一次.

// {(6, 1), (1,1)}--DC
int foo(int x, int y) {
int z = y*2; \\ z=y;
if ((x>5) && (y>0)) {
z = x; }
return x*z;
}

  • 条件覆盖(CC): 每个条件的true和false至少各被执行一次

(x>5) :true and false
(y>0) :true and false

// {(6, 0), (0,1)}--CC
int foo(int x, int y) {
int z = y;
if ((x>5) && (y>0)) {
z = x; }
return x*z;
}

-----Subsume 关系

C1 蕴含 C2 (或 C2 被C1蕴含), 记为
A ≥ B:对于任意P: C1(P) ?C2(P).
DC ≥ SC
CC not ≥ SC
DC not ≥ CC, CC not ≥ DC

  • 条件判定覆盖(C/DC):同时满足DC和 CC. 

C/DC(P)=CC(P) ∩ DC(P) 

C/DC ≥ CC 

C/DC ≥ DC

//
int foo(int x, int y) {
int z = y;
if ((x>5) && (y>0)) {
z = x; }
return x*z;
}

  • 修订条件判定覆盖(MC/DC):  每个条件独立影响判定true和false各一次

MC/DC
((x>5) && (y>0))

T T T
T F F
F T F
F F F

MC/DC
Modified Condition/Decision Coverage
(MC/DC) 是C/DC得到一个增强版本.
MC/DC 是DO-178B 标准的一个重要准则
(Federal Aviation Administration)
MC/DC作为控制软件最为严格(Level A )
的逻辑测试覆盖准则

 

逻辑覆盖测试之3-1 条件与判定

原文:https://www.cnblogs.com/lianlianqingning/p/9867727.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!