此方法是将白盒测试的对象看做内部逻辑结构完全可见的盒子,测试人员依据程序内部逻辑结构的相关信息来设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点、不同分支检查程序的状态,确定实际的状态是否与预期的状态一致。
白盒测试技术是软件测试的主要方法之一,白盒测试的基本概念、检查方法、测试方法、测试工具等内容是必须掌握的。
白盒测试概述
白盒测试的对象主要是源程序,是指用代码内部的分支、路径、条件,使程序设计的控制结构导出测试用例,是软件测试的主要方法之一。
一、白盒测试的基本知识
白盒测试方法分为如下两类:
1)静态测试:
测试中很重要的方法之一,它不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试。静态测试大约可以找出25%~60%的逻辑错误。
2)动态测试:
输入一组预先按照一定的测试准则设计的实例数据驱动运行程序,检查程序功能是否符合设计要求,发现程序中的错误的过程。
二、白盒测试的原则
白盒测试的原则有如下4点:
1)保证一个模块中的所有路径至少被测试一次。
2)所有逻辑值都要测试真和假两种情况。
3)检查程序的内部数据结构是否有效。
4)检查上、下边界及可操作范围内运行的所有循环。
三、白盒测试的类别、依据和流程
白盒测试的策略是首先进行静态结构分析,采用先静态后动态的组合方式,然后进行覆盖测试,利用静态测试的分析结果和动态测试的结果进一步确认已达到测试效果。白盒测试一般要考虑类别、依据和流程。
1.白盒测试的类别
白盒测试的类别具体分为以下8大类:
1)软件公用问题的测试。
2)语言测试。
3)SQL语句测试。
4)数据类型测试。
5)界面测试。
6)数值对象测试。
7)业务对象测试。
8)数据管理对象测试。
2.白盒测试的依据
白盒测试的依据有以下6点:
1)软件需求报告。
2)软件需求规格说明。
3)程序设计文档。
4)软件界面设计。
5)编码规范。
6)开发命名标准。
3.白盒测试的流程
白盒测试的流程分为界面对象测试和业务对象测试两种方式。
(1)界面对象测试
界面对象测试的流程如图1所示。
图1 界面对象测试的流程图
从图1可以看出界面对象测试流程的优点是:便于测试者从界面层直观地录入数据。
界面对象测试流程的缺点是:进行回归测试时,需要重复录入数据。
(2)业务对象测试
业务对象测试的流程如图2所示。
图2 业务对象测试的流程图
业务对象测试是从底层开始,逐一向上延伸的。从图2可以看出业务对象测试的优点是:进行回归测试时,不需要重复输入数据,且程序执行一遍就可以了。
业务对象测试的缺点是:需要给中间层编写一个测试小程序,根据程序中类的对象构造输入数据并将结果输出到控制台上。