荟萃馆

位置:首页 > 计算机 > 计算机三级

2015年计算机三级《信息管理》基础知识:白盒测试

白盒测试是根据程序的内部逻辑来设计测试用例,常用的技术是逻辑覆盖,即考察用测试数据运行被测程序时对程序逻辑的覆盖程度。主要的覆盖标准有6种:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖。

2015年计算机三级《信息管理》基础知识:白盒测试

为了提高测试的效率,应选择最少的测试用例来满足指定的覆盖标准。

 1.语句覆盖

Examda提示: 语句覆盖是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每个语句至少执行一次。

 2.判定覆盖

判定覆盖又称为分支覆盖。它是指选择足够的测试用例,使得运行这些测试用例时,每个判定的所有可能结果至少出现一次(即判定的每个分支至少经过一次)。

 3.条件覆盖

在软件设计过程中,一个判定往往由多个条件组成,判定覆盖仅考虑了判定的结果而没有考虑每个条件的可能结果。

条件覆盖是指选择足够的测试用例,使得运行这些测试用例时,判定中的每个条件的所有可能结果至少出现一次。

 4.判定/条件覆盖

判定/条件覆盖是指选择足够的测试用例。使得运行这些测试用例时,判定中每个条件的所有可能结果至少出现一次,并且每个判定本身的所有可能结果至少出现一次。

显然,满足判定/条件覆盖标准的测试用例一定也满足判定覆盖、条件覆盖和语句覆盖标准。在某些程序的测试中,如果选择得好,判定覆盖、条件覆盖和判定/条件覆盖可以使用相同的最少的测试用例。

 5.条件组合覆盖

在条件覆盖中考虑了判定中每个条件的所有可能结果,但并未考虑条件的组合情况。条件组合覆盖是指选择足够的测试用例,使得运行这些测试用例时,每个判定中条件结果的所有可能组合至少出现一次。

Examda提示: 由于条件组合覆盖使每个判定中条件结果的'所有可能组合都至少出现一次,因此判定本身的所有可能结果也一定至少出现一次,同时也使每个条件的所有可能结果至少出现一次。因此,条件组合覆盖是上述5种覆盖标准中最强的一种。然而,条件组合覆盖还不能保证程序中所有可能的路径都被覆盖。

 6.路径覆盖

路径覆盖是指选择足够的测试用例,使得运行这些测试用例时,程序的每条可能执行到的路径都至少经过一次(如果程序中有环路,则要求每条环路至少经过一次)。

路径覆盖实际上是考虑了程序中各种判定结果的所有可能组合,但它并未考虑判定中的条件结果的组合,因此它是一种比较强的覆盖标准,但并不能代替条件覆盖和条件组合覆盖。