黑盒测试:已知产品的功能设计规格,能够进行测试证实每一个实现了的功能是否符合要求。白盒测试:已知产品的内部工做过程,能够经过测试证实每种内部操做是否符合设计规格要求,全部内部成分是否以通过检查。白盒测试和黑盒测试是根据对软件代码的可见性,采用的测试方法;凡是针对代码自己的测试,均可以看作是白盒测试,凡是不考虑代码如何实现,只对代码能实现的功能进行的测试均可以看做黑盒测试。 一、黑盒测试 黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具备的功能,经过测试来检测每一个功能是否都能正常使用,在测试时,把程序看做一个不能打开的黑 盆子,在彻底不考虑程序内部结构和内部特性的状况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当 地接收输入数锯而产生正确的输出信息,而且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边值分析、因—果图、错误推测等,主 要用于软件确认测试。 “黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输入测试,只有把全部可能的输入都做为测试状况使 用,才能以这种方法查出程序中全部的错误。实际上测试状况有无穷多个,人们不只要测试全部合法的输入,并且还要对那些不合法可是可能的输入进行测试。 二、白盒测试 白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工做过程,可经过测试来检测产品内部动做是否按照规格说明书的规定正常进行,按照程序内部的结构 测试程序,检验程序中的每条通路是否都有能按预约要求正确工做,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。 “白盒”法全面了解程序内部逻辑结构、对全部逻辑路径进行测试。“白盒”法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程 序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即便每条路径都测试了仍然可能有错误。第一,穷举路径测试决不能查出程序违反了设计规 范,即程序自己是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。第三,穷举路径测试可能发现不了一些与数据相关的错误。