多语言展示
当前在线:1436今日阅读:176今日分享:34

逻辑驱动覆盖测试

逻辑驱动覆盖测试是动态白盒测试的一种,下面以一个程序实例简要介绍一下逻辑驱动覆盖测试的六种方法
工具/原料

电脑

逻辑驱动覆盖测试分类

逻辑驱动覆盖测试分为六种,如图所示

一个程序实例
1

Public void foo(int a, int b, int x) {         if (A > 1 && B = = 0 ) {                   X = X/A ;          }          if (A = = 2 || X > 1 ) {                    X = X + 1;          }}图中存在4条路径L1:s->a-> c -> b ->e->d   L2:s -> a -> b-> d                L3:   s -> a -> b-> e->d         L4:   s-> a -> c -> b -> d

2

语句覆盖:语句覆盖就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。语句覆盖率也被称为行为覆盖率、段覆盖率或基本块覆盖率。语句覆盖率 = 至少被执行一次的语句数量/可执行的语句总数

3

判定覆盖:设计若干个测试用例,运行被测程序,使得程序中每个判断的真、假分支至少执行一次。判定覆盖又称为分支覆盖。以上面的程序为例,如果设计两组测试用例,使它们能通过路径L1和L2, 或通过路径L3和L4,即可达到判定覆盖标准。判定覆盖率 = 判定结果被评价的次数 / 判定结果结果的总数

4

条件覆盖:设计若干个测试用例,运行被测程序,使得程序中每个判断的每个条件的真假取值至少执行一次。条件覆盖率 = 条件操作数值至少被求值一次的数量 / 条件操作数值的总数

5

判定-条件覆盖:判定-条件覆盖就是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判定的所有可能取值至少执行一次。

6

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

7

路径覆盖:路径覆盖就是设计足够的测试用例,覆盖程序中所有可能的路径。路径覆盖率 =至少被执行到一次的路径数/总的路径数

小结

上述6种测试方法,每一种方法都有优缺点和局限性。从实际应用来看,语句覆盖、判定覆盖和路径覆盖应用最多,往往对测试人员设计的测试用例有如下要求: 语句覆盖率100% 判定覆盖率85%以上 路径覆盖率80%以上   至于其他覆盖测试则用得不多。

推荐信息