白盒测试方法(语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、路径覆盖)
语句覆盖
要求设计足够多的测试用例,使得程序中每条语句至少被执行一次。是白盒测试所有方法中覆盖性最弱的。
判定覆盖
被测程序中如果包含判定,通常为if语句,则需要测试用例将所有if的真假值都覆盖到。
条件覆盖
条件覆盖关注的也是if语句,顾名思义,条件覆盖要求测试用例针对判定中的每个条件的真假都覆盖到。
判定条件覆盖
是判定覆盖与条件覆盖的迭代,即被测对象的所有判定及条件的真假值至少被覆盖一次。
路径覆盖
以上四种方法都无法做到100%路径覆盖,都存在漏测的风险。路径覆盖就是期望被测对象的所有路径都能验证到,对于简单的代码而言,实现100%的路径覆盖是可能的。但如果判定较多和较多循环,覆盖所有路径几乎是不可能的或投入成本很高。有必要把覆盖路径数量压缩到一定限度内。