白盒测试详解

    xiaoxiao2021-03-25  319

    通常把测试数据和预期的输出结果称为测试用例。

    (一)逻辑覆盖

    是对一系列测试过程的总称,这组测试过程逐渐进行越来越完整的通路测试。

    1.语句覆盖

    语句覆盖的含义是,选择足够多的测试数据,使被测程序中每个语句至少执行一次。语句覆盖是很弱的逻辑覆盖标准

    2.判定覆盖

    又叫分支覆盖,它的含义是,不仅每个语句必须至少执行一次,而且每个判定的每种可能的结果都应该至少执行一次,也就是每个判定的每个分支都至少执行一次。判定覆盖比语句覆盖强,但是对程序逻辑的覆盖程度仍然不高

    3.条件覆盖

    含义是,不仅每个语句至少执行一次,而且使判定表达式中的每个条件都取到各种可能的结果。条件覆盖通常比判定覆盖强,但满足条件覆盖的测试数据不一定满足判定覆盖。

    4.判定/条件覆盖

    是一种能同时满足判定覆盖和条件覆盖的逻辑覆盖,它的含义是,选取足够多的测试数据,使得判定表达式中的每个条件都取到各种可能的值,而且每个判定表达式也都取到各种可能的结果。

    5.条件组合覆盖

    是更强的逻辑覆盖标准,它要求选取足够多的测试数据,使得每个判定表达式中条件的各种可能组合都至少出现一次。满足条件组合覆盖标准的测试数据,也一定满足判定覆盖、条件覆盖和判定/条件覆盖标准。因此,条件组合覆盖是前述几种覆盖标准中最强的。但是,满足条件组合覆盖标准的测试数据并不一定能使程序中的每条路径都执行到。

    4.点覆盖

    图论中点覆盖的定义如下:如果连通图G的子图G′是连通的,而且包含G的所有结点,则称G′是G的点覆盖。点覆盖标准和语句覆盖标准是相同的。

    5.边覆盖和路径覆盖

    图论中边覆盖的定义是:如果连通图G的子图G″是连通的,而且包含G的所有边,则称G″是G的边覆盖。为了满足边覆盖的测试标准,要求选取足够多测试数据,使得程序执行路径至少经过流图中每条边一次。通常边覆盖和判定覆盖是一致的。  路径覆盖的含义是,选取足够多测试数据,使程序的每条可能路径都至少执行一次(如果程序图中有环,则要求每个环至少经过一次)。

    (二)控制结构测试

    1.基本路径测试

    是Tom McCabe提出的一种白盒测试技术。使用基本路径测试设计测试用例时,首先计算程序的环形复杂度,并用该复杂度为指南定义执行路径的基本集合,从该基本集合导出的测试用例可以保证程序中的每条语句至少执行一次,而且每个条件在执行时都将分别取真、假两种值。

    2.条件测试

    条件测试方法着重测试程序中的每个条件。条件测试策略有两个优点: ①容易度量条件的测试覆盖率; ②程序内条件的测试覆盖率可指导附加测试的设计。 条件测试的目的不仅是检测程序条件中的错误,而且是检测程序中的其他错误。如果程序P的测试集能有效地检测P中条件的错误,则它很可能也可以有效地检测P中的其他错误。

    3.循环测试

    循环测试是一种白盒测试技术,它专注于测试循环结构的有效性。在结构化的程序中通常只有3种循环,即简单循环、串接循环和嵌套循环。

    转载请注明原文地址: https://ju.6miu.com/read-13677.html

    最新回复(0)