本章主要介绍软件测试的方法,包括白盒测试、灰盒测试、黑盒测试、静态测试、动态测试、手动测试、自动测试以及用例的设计方法等。
4.1测试方法划分
按照执行阶段划分为:白盒测试、黑盒测试、灰盒测试
按照执行状态划分为:静态测试、动态测试
按照执行行为划分为:手动测试、自动测试
今天先学习白盒测试
4.2白盒测试
白盒测试(White Box Testing)又称为结构测试,逻辑驱动测试或基于代码的测试,主要检测产品内部结构是否按照规格说明书的规定正常运行。是一种测试用例的设计方法,盒子指被测试的软件,白盒意思是可视见、可以清楚盒子内部的东西,以及里面是如何运作的。因此白盒测试需要测试人员对系统内部的结构和工作原理有一个清楚的了解。图4-1为白盒测试的示意图
4.1.2白盒测试常用的技术
一般分为静态分析技术和动态分析技术
1、静态分析技术有:控制流分析、数据流分析、信息流分析、代码评审等。
1)控制流分析:将程序的流程图转换为控制流图借助算法进行控制分析
2)数据流分析:根据代码得到的数据流表进行分析,主要关注数据的定义和引用。
3)信息流分析:根据输入变量、语句的关系及输出变量三者之间关系表进行分析
4)代码评审:是在开发组内部进行,主要检测代码和设计的一致性,代码