概念:
设计足够多的测试用例,使被测程序中每个判定的所有可能的条件取值组合至少执行一次。
https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注!
欢迎关注微信公众号:宝藏女孩的成长日记
如有转载,请注明出处(如不注明,盗者必究)
与其他覆盖的关系:
显然,满足“条件组合覆盖”的测试用例是一定满足语句覆盖、判定覆盖、条件覆盖和条件判定覆盖的。
条件覆盖率:
条件覆盖率=条件组合至少出现一次的数量/条件组合的总数
eg:
以上为例,案例代码中有判定两个(x>0&&y>0)(magic<0)判定,条件三个(x>0)(y>0) (magic<0) ,判定(x>0&&y>0)条件组合为4个,判定(magic<0)条件组合为2个。假如设计测试用例执行了5个条件组合,条件组合覆盖率为5/(4+2)≈83%。
测试用例:
依照上图:我们要想覆盖率为百分之百
判定条件如下:
- if(x>0&&y>0)判定:记为P1
- if(magic<0)判定:记为P2
- x>0:记为C1
- y>0:记为C2
- magic<0:记为C3
测试用例设计
从上表我们可看到C1C2满足了这四种组合,而C3只可满足真假两种组合就行,以上测试用例满足了100%的条件覆盖率。
优缺点:
优点:
多重条件覆盖准则满足判定覆盖、条件覆盖和判定/条件覆盖准则。
缺点:
1.线性地增加了测试用例的数量。
2 可能不会覆盖所有的路径,例如上图的abdf路径就没有执行。
参考:https://www.bilibili.com/video/BV1wE411379A?from=search&seid=14475425139925644892
https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注!
欢迎关注微信公众号:宝藏女孩的成长日记
如有转载,请注明出处(如不注明,盗者必究)