转贴-航空标准DO-178B的MCDC测试方法

上一篇 / 下一篇  2007-09-21 12:22:06

MC/DC(修订的条件/判定覆盖)(Modified Condition Decision Coverage)准则是一种实用的软件结构覆盖率测试准则, 已被广泛地应用于软件验证和测试过程中.

condition 和 decision 的概念:

if A or B and C then

Statement;

else

Statement2;

A,B,C都是一个条件,而(A or B and C)叫一个Decision,如果是判定覆盖的话只需两个case就能覆盖,就是让这个decision为true和false各一次就能达到即为 0 1 1 , 0 1 0

如果是MC/DC的话就得四个case,而且只比条件数目多一个而已,怎么计算的呢?

定义: 在每个判定中的每个条件都曾独立的影响判定的结果至少一次, (独立影响意思是在其他的条件不变的情况下,改变一个条件);

总结一句:每个条件对结果都独立起作用

比如A对结果起作用的话, B 必须为 false, C必须为 true -- 1 0 1 和 0 0 1, 这样结果就独立受A的值影响.

同理如果B对结果独立起作用的话,A必须为false, C必须为 true, 两种情况B为true,false各一. 即为 0 1 1 和 0 0 1

而C独立对结果起作用的话就是让(A or B) 为 true, 为了减少case, 上面的case 已经含有这样的case了,我们就取A为false,B为true, 这样c独体起作用的case为: 0 1 1 和 0 1 0

可以看出每个条件各走了一次true和false, 这样三个变量条件就会有六个case, 我们看出其中里面还有两个是重复的,

序号a b c output

A 1 1 0 1 1

2 0 0 1 0

B 3 0 1 1 1

4 0 0 1 0

C 5 0 1 1 1

6 0 1 0 0

case 2 和case 4重复, case 3 和case5 重复,这样去掉两个 剩四个case,我们发现我们的判定里面的条件数为N个, 那么这个判定就需要N+1个case,不信你试试!

TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-05-03  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 1449
  • 日志数: 4
  • 建立时间: 2006-12-05
  • 更新时间: 2008-10-23

RSS订阅

Open Toolbar