白盒测试:是通过程序的源代码进行测试而不使用用户界面。
※ 白盒测试的优点有: 1)帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。
※ 白盒测试的缺点有: 2)程序运行会有很多不同的路径,不可能测试所有的运行路径;测试基于代码,只能测试开发人 员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求;系统庞大时,测试开销 会非常大。
黑盒测试:又被称为功能测试、数据驱动测试或基于规格说明的测试,是通过使用整个软件或某种软件功能来严格地测试, 而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。
※ 黑盒测试的优点有: 1)比较简单,不需要了解程序内部的代码及实现; 2)与软件的内部实现无关; 3)从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题; 4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能; 5)在做软件自动化测试时较为方便。
※ 黑盒测试的缺点有: 1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的 30%; 2)自动化测试的复用性较低。