浅谈白盒测试

白盒测试又称结构测试,这种方法把测试对象看作一个透明的盒子,测试人员根据程序内部的逻辑结构及有关信息设计测试用例,检查程序中所有逻辑路径是否按预定的要求正确地工作。

白盒测试主要用于对程序模块的测试,包括:

.保证一个模块中的所有独立路径至少执行一次
·对所有逻辑值均需测试 true 和 false
·在上下边界及可操作范围内运行所有循环
·检查内部数据结构以确保其有效性

白盒测试方法主要有逻辑覆盖测试、基本路径测试、数据流测试和循环测试。

一.逻辑覆盖测试是一种基本的白盒测试方法,主要考察使用测试数据运行被测程序时对程序逻辑的覆盖程度。通常希望用最少的测试用例来满足所需的覆盖标准。主要的覆盖标准有:语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖和路径覆盖。

1.语句覆盖是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每个可执行语句都执行一次。

2.判定覆盖是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每个判定的所有可能结果都至少出现一次。(即每个判定都要有true和false)。

3.条件覆盖是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每个判定中每个条件的所有可能结果都至少出现一次。条件覆盖通常比判定覆盖强,但有时虽然每个条件的所有可能结果都出现过,但判定表达式的某些结果并未出现。

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

5.条件组合覆盖是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每个判定中的条件结果的所有可能组合都至少出现一次,这里的条件组合是指每个判定中的条件结果的所有可能组合,而不是整个程序的所有条件结果的所有组合。条件组合覆盖是上述5种覆盖中标准最强的一种,满足条件组合覆盖的测试用例一定满足判定覆盖、条件覆盖、语句覆盖和判定/条件覆盖。

6.路径覆盖是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每条可能执行到的路径都至少经过一次(如果程序中包含回路,则每条回路至少经过一次)。路径覆盖也是比较强的一种覆盖标准,但它未必能覆盖判定中条件结果的所有可能。

 二.基本路径覆盖

该方法是首先根据程序或设计图画出控制流图,并计算其区域数,然后确定一组独立的程序执行路径,最后为每一条基本路径设计一个测试用例。要注意的是,设计图的判定中不包含复合条件,如果包含复合条件就必须先将其转换成等价的简单条件设计图。

三.数据流测试

该方法就是根据程序中的变量的定义即赋值和引用位置来选择测试用例,以发现变量赋值和引用方面的错误。

四.循环测试

循环分为四种:简单循环、嵌套循环、串接循环和非结构循环。

原文地址:https://www.cnblogs.com/oucyun/p/3194614.html