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

Posted lianlianqingning

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了逻辑覆盖测试之3-1 条件与判定相关的知识,希望对你有一定的参考价值。

((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 条件与判定的主要内容,如果未能解决你的问题,请参考以下文章

逻辑覆盖

白盒测试技术-逻辑覆盖

white box白盒测试

白盒测试

软件质量保证与测试练习3

软件工程作业