软件测试中,最常听到“黑盒测试”与“白盒测试”,它们是软件测试中最基本的测试方法。
那么究竟何为“黑盒”,何为“白盒”呢?
黑盒测试:
也称功能测试、数据驱动测试,它将被测软件看作一个打不开的黑盒,主要根据功能需求设计测试用例,进行测试。
概念:黑盒测试是从一种从软件外部对软件实施的测试,也称功能测试或基于规格说明的测试。其基本观点是:任何程序都可以看作是从输入定义域到输出值域的映射,这种观点将被测程序看作一个打不开的黑盒,黑盒里面的内容(实现)是完全不知道的,只知道软件要做什么。因无法看到盒子中的内容,所以不知道软件是如何实现的,也不关心黑盒里面的结构,只关心软件的输入数据和输出结果。
检测软件功能能否按照需求规格说明书的规定正常工作,是否有功能遗漏;
检测是否有人机交互错误,是否有数据结构和外部数据库访问错误,是否能恰当地接收数据并保持外部信息(如数据库或文件)等的完整性;
检测行为、性能等特性是否满足要求等; 检测程序初始化和终止方面的错误等。
优点:
① 与软件具体实现无关,如果软件实现发生了变化,测试用例仍可用;
② 设计黑盒测试用例可以和软件实现同时进行,因此可压缩项目总开发时间。
黑盒测试常用方法
等价类划分
边界值分析
因果图
决策表分析