更新时间:2022-06-09 来源:黑马程序员 浏览量:

今天的软件测试培训课程,我们讲解一下判定-条件覆盖。判定-条件覆盖(Condition/DecisionCoverage)要求设计足够多的测试用例,使得判定语句中所有条件的可能取值至少出现一次,同时,所有判定语句的可能结果也至少出现一次。例如,对于判定语句IF(a>1 AND c<1),该判定语句有a>1、c<1两个条件,则在设计测试用例时,要保证a>1、c<1两个条件取“真”“假”值至少一次,同时,判定语句if(a>1 AND c<1)取“真”“假”值也至少出现一次。这就是判定-条件覆盖,它弥补了判定覆盖和条件覆盖的不足之处。
根据判定-条件覆盖原则,以图3-1及其程序为例设计判定-条件覆盖测试用例,如表3-4所示。

表3-4判定-条件覆盖测试用例
在表3-4中,条件1是指判定语句“IF x>0 AND y<0”,条件2是指判定语句“IF x>2 ORz>0”,条件判定的值0表示“假”,1表示“真”。表3-4中的3个测试用例满足了所有条件可能取值至少出现一次,以及所有判定语句可能结果也至少出现一次的要求。
相比于条件覆盖、判定覆盖,判定-条件覆盖弥补了两者的不足之处,但是由于判定-条件覆盖没有考虑判定语句与条件判断的组合情况,其覆盖范围并没有比条件覆盖更全面,判定-条件覆盖也没有覆盖acd路径,因此判定-条件覆盖仍旧存在遗漏测试的情况。
黑马程序员 AI 运维|大厂师资 + 全程服务,3.5 个月实现零基础高薪就业
2026-04-09黑马程序员 AI 运维|10 大就业方向 + 90%+ 就业率,解锁高薪职业路径
2026-04-09黑马程序员 AI 运维|10 大企业级项目实战,毕业即具备独立运维能力
2026-04-09黑马程序员 AI 运维|10 大技术阶段 + 10 大实战项目,从 Linux 到 AI 大模型运维全掌握
2026-04-09黑马程序员 AI 运维|云原生 + 大模型 + 信创三位一体,培养企业紧缺复合型运维人才
2026-04-09黑马程序员AI测试|上市品牌背书,实战赋能,助力冲击年薪30万+
2026-04-09