软件测试策略:黑盒测试和白盒测试
1. 基本概念
测试,是通过运行代码的方式来检验程序和需求的符合性。不管我们使用什么样的测试策略,最终都是需要运行一个个测试用例,检验合理性。个人认为,黑盒和白盒,更多是两种不同的设计测试用例的思想。
1.1 什么叫做黑盒测试?
黑盒测试,是争对功能性的测试,又叫做功能测试。
基本思想就是黑箱思想,将我们的代码模块看作一个只有输入、输出,而忽略其内部的具体实现和代码逻辑的黑匣子。通过判断输入和输出的对应关系是否合理,达到功能测试的结果。
从测试阶段来看,我们在系统的模块测试,集成测试,系统测试,验收测试这些阶段都会使用黑盒测试技术。一般测试人员都会使用黑盒测试策略来完成测试,这样可以不用阅读源代码。
1.2 什么叫做白盒测试
白盒测试是了解了代码的内部的实现,基于控制流来设计我们的测试用例。通常是使用覆盖测试的方法。具体方法我们下面会介绍。
最完备的测试应该尝试遍历代码块之间的每一条运行路径(可以理解为执行的顺序),但是这个数据往往会比较庞大,我们就基于一些理论,思想,从这些路径中筛选出最有效的一些路径来测试。这些方法,就是我们下面介绍的白盒测试的一些设计方法。
白盒测试一般在我们进行单元测试的时候使用!一般建议有程序员来完成这个测试工作,因为程序员对于程序了解更多。这样能够节省阅读代码的时间。