2024年4月16日发(作者:)

白盒测试

白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测

试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是

否都能按预定要求正确工作。 这一方法是把测试对象看作一个打开的盒子,测试人员依据

程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在

不同点检查程序的状态,确定实际的状态是否与预期的状态一致。

1

概述

白盒测试[1]又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试

是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒

子内部的东西以及里面是如何运作的。"白盒"法全面了解程序内部逻辑结构、对所有逻辑路

径进行测试。"白盒"法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结

构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。

采用什么方法对软件进行测试呢?常用的软件测试方法有两大类:静态测试方法和动态

测试方法。其中软件的静态测试不要求在计算机上实际执行所测程序,主要以一些人工的模

拟技术对软件进行分析和测试;而软件的动态测试是通过输入一组预先按照一定的测试准则

构造的实例数据来动态运行程序,而达到发现程序错误的过程。在动态分析技术中,最重要

的技术是路径和分支测试。下面要介绍的六种覆盖测试方法属于动态分析方法。

测试方法

白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、

基本路径测试法、域测试、符号测试、路径覆盖和程序变异。

白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句

覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。

六种覆盖标准:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路

径覆盖发现错误的能力呈由弱至强的变化。语句覆盖每条语句至少执行一次。判定覆盖每个

判定的每个分支至少执行一次。条件覆盖每个判定的每个条件应取到各种可能的值。判定/

条件覆盖同时满足判定覆盖条件覆盖。条件组合覆盖每个判定中各条件的每一种组合至少出

现一次。路径覆盖使程序中每一条可能的路径至少执行一次。

要求

1.保证一个模块中的所有独立路径至少被使用一次;

2.对所有逻辑值均需测试 true 和 false;

3.在上下边界及可操作范围内运行所有循环;

4.检查内部数据结构以确保其有效性。

目的

通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试;在程序不同地方设

立检查点,检查程序的状态,以确定实际运行状态与预期状态是否一致。

特点

依据软件设计说明书进行测试、对程序内部细节的严密检验、针对特定条件设计测试用

例、对软件的逻辑路径进行覆盖测试。

实施步骤

1.测试计划阶段:根据需求说明书,制定测试 进度。

2.测试设计阶段:依据程序设计说明书,按照一定规范化的方法进行软件结构划分和设

计测试用例。

3.测试执行阶段:输入测试用例,得到测试结果。

4.测试总结阶段:对比测试的结果和代码的预期结果,分析错误原因,找到并解决错误。

优缺点

1. 优点

·迫使测试人员去仔细思考软件的实现

·可以检测代码中的每条分支和路径