白盒测试中几种覆盖的区别

时间:2025-02-08 09:09:20
比较常用的逻辑覆盖测试方法有:语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖、路径覆盖。

基本路径测试:在程序控制图的基础上,通过分析控制构造的环行复杂性,导出基本可执行路径集合,从而设计测试用例的方法。设计出的测试用例要保证在测试中程序的每一个可执行语句至少执行一次。     

语句覆盖:语句覆盖就是设计足够多的测试用例,运行被测试程序,使得每一条可执行语句至少执行一次。可以说语句覆盖是最弱的逻辑覆盖准则。 

判定覆盖:也称为分支覆盖。设计足够多的测试用例,运行所测程序,使程序中每个判断的取真分支和取假分支至少执行一次;但是不能对判断条件进行检查。

条件覆盖:设计足够多的测试用例,运行所测程序,使程序中每个判断的每个条件的每个可能取值至少执行一次。

判定-条件覆盖:设计足够多的测试用例,运行所测程序,使程序中每个判断的每个条件的所有可能取值至少执行一次,并且每个可能的判断结果也至少执行一次。
判定-条件覆盖从表面来看,它测试了所有条件的取值,但是实际上某些条件掩盖了另一些条件。因此,采用判定-条件覆盖,逻辑表达式中的错误不一定能够查出来了。

条件组合覆盖:设计足够多的测试用例,运行所测程序,使程序中每个判断的所有可能的条件取值组合至少执行一次。

路径测试:就是设计足够多的测试用例,覆盖被测试对象中的所有可能路径。

基本路径测试:
       在实践中,一个不太复杂的程序,其路径可能都是一个庞大的数字,要在测试中覆盖所有的路径是不现实的。所以,只得把覆盖的路径数压缩到一定限度内。
       基本路径测试就是这样一种测试方法,它在程序控制流图的基础上,通过分析控制构造的环形复杂性,导出基本可执行路径集合,从而设计测试用例的方法。设计出的测试用例要保证在测试中程序的每一个可执行语句至少执行一次。 
基本路径测试:
步骤:
        1、绘制程序控制流图
        2、通过分析环形复杂性,计算圈复杂度,导出程序基本路径集合中的独立路径条数,这是确定程序中每个可执行语句至少执行一次所必须的测试用例数目的上界。
        3、导出测试用例:根据环形复杂性和程序结构设计用例数据输入和预期结果。
        4、准备测试用例:确保基本路径集中的每一条路径的执行。