软件测试技术基础学习之测试覆盖率

发表于:2010-12-22来源:作者:点击数: 标签:软件测试覆盖率学习基础技术
软件测试技术基础学习之测试覆盖率 软件测试 在测试方法中粗略的介绍了几种测试方法。其中, 白盒测试 的动态分析方法中提到逻辑覆盖率测试有:语句覆盖、分支覆盖/判定覆盖、条件覆盖、条件—判定覆盖和路径覆盖。这里将详细阐述逻辑覆盖率测试。 准备知识

  软件测试技术基础学习之测试覆盖率   软件测试

  在测试方法中粗略的介绍了几种测试方法。其中,白盒测试的动态分析方法中提到逻辑覆盖率测试有:语句覆盖、分支覆盖/判定覆盖、条件覆盖、条件—判定覆盖和路径覆盖。这里将详细阐述逻辑覆盖率测试。

  准备知识

  可执行语句:可执行的一项操作;

  真、假分支:Ture、False

  操作数(Opreand)、操作符(Operator):

  操作数:常量(整数、十六进制数、八进制数、实数、字符、字符串)、变量(简单类型、数组类型、记录类型、指针类型、联合等);

  操作符:单一操作符、二进制操作符、条件操作符、赋值操作符等。

  覆盖率

  概念:覆盖率是度量测试完整性的一个手段,是测试有效性的一个度量。

  计算公式:

  覆盖率=(至少被执行一次的item数)/item总数

  目的:评估测试的有效性,找出弱点,有目的的补充用例

  缺点:测试成本随着覆盖率的提高而增加。(在一般的测试中有个指标)

  分类:

  ● 逻辑覆盖率(Logical Coverage),也叫代码覆盖率(Code Coverage)或结构化覆盖率,属于白盒测试的范畴。

  ○ 语句覆盖(Statement Coverage)率:程序中可执行语句被测试的比例。

  ◆ 语句覆盖率=(至少被执行一次的可执行语句的数量)/(可执行语句的总数)

  ◆ 它最简单的覆盖,适合用于自动化测试;

  ◆ 几乎所有的测试都能实现语句覆盖率100%,所以它不是测试完整性好的度量。

  ○ 判定覆盖(Decision Coverage)率/分支覆盖(Branch Coverage)率:程序中真、假分支被测试占的比例。

  ◆ 判定覆盖率=(判定结果被评价的次数)/(判定结果的总数)

  ◆ 它直接针对代码,容易被理解,实现判定覆盖率100%是可能的;

  ◆ 优于语句覆盖,但对于复合条件,两个或多个条件项的组合可能导致只有特定的分支被测到。

原文转自:http://www.ltesting.net