大家都熟知软件测试的方法分为黑盒测试和白盒测试,其中的黑盒测试是功能测试比较简单这里就不再赘述。下面主要区分白盒测试中的几种比较容易弄混的测试方法。
软件测试中最常用的是逻辑覆盖法,所有可用的方法按覆盖程度从弱到强的顺序分为:语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖、路径覆盖。
只要搞清楚本质,其实这几种的测试方法就没那么难了。如下图
这张图有两个判断语句分支形成4条路径。分析各种覆盖所能覆盖的路径条数。
语句覆盖:每一条语句 都要执行一遍例如:ace路径执行的语句即可满足条件。
判定覆盖: 这个判定的T和F都要执行一遍也要真假都执行一遍例如:沿着路径ace和abd两条路径执行则满足条件
条件覆盖:这个要比判定覆盖的粒度更小一些,前者的粒度是判定中各种条件,例如针对这个判定的所有条件有A>1,A<=1,,B=0、B≠0下面的判定同样有四个条件。
判定条件覆盖:是既满足判定覆盖有满足条件覆盖的测试用例。
条件组合覆盖:各种条件的组合,也就是这四个条件各自真假取到一次,一共八个取值。
路径覆盖:这个覆盖程度最高,可以测试到所有的路径。ace、abe、abd、acd
以上几种覆盖的覆盖程度是递增的。应该着重区分的是条件覆盖和判定覆盖的异同点,这个已经给你在条件覆盖中重点说明。
初学者,有不当之处,欢迎指出。
原文地址:http://blog.csdn.net/u010892841/article/details/39642329