白盒测试与黑盒测试二者最大的区别就是测试对象不一样。白盒测试主要针对的是程序代码逻辑;黑盒测试主要针对的是程序所展现给用户的功能。简单的说就是前者测试后台程序,后者测试前台展示的功能。
白盒测试:是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码逻辑发现内部代码在算法、溢出、路径、条件等等中的缺点或者错误,进而加以优化。
黑盒测试:是通过使用整个软件或某种软件功能来严格地测试,而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。测试人员通过输入他们的数据然后看输出的结果,从而了解软甲怎样工作。在测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收和正确的输出。