功能测试既可以是白盒测试也可以是黑盒测试。其实很简单,这取决于测试者是否了解被测试软件的内部结构。
先说最重要的,黑盒测试关注的是软件的功能,不考虑内部代码逻辑。比如,去年我们跑的那个项目,大概3000量级的功能点,我们就是通过黑盒测试来验证每个功能是否按照预期工作。
另外一点,白盒测试则深入到软件的内部逻辑,测试者需要了解代码结构。比如,有个细节挺关键的,在测试一个复杂的金融系统时,我一开始也以为必须用白盒测试来确保每个函数都经过验证。但后来发现不对,有些功能交互过于复杂,白盒测试反而效率低下。
等等,还有个事,有时候黑盒测试和白盒测试不是完全独立的,实际操作中,两者可能会结合起来使用。这个点很多人没注意,我觉得值得试试。
最后提醒一个容易踩的坑,不要过分依赖单一类型的测试。功能测试是确保软件质量的重要环节,但过分依赖某一种测试方法可能会忽略掉其他潜在的问题。
先说最重要的,黑盒测试关注的是软件的功能,不考虑内部代码逻辑。比如,去年我们跑的那个项目,大概3000量级的功能点,我们就是通过黑盒测试来验证每个功能是否按照预期工作。
另外一点,白盒测试则深入到软件的内部逻辑,测试者需要了解代码结构。比如,有个细节挺关键的,在测试一个复杂的金融系统时,我一开始也以为必须用白盒测试来确保每个函数都经过验证。但后来发现不对,有些功能交互过于复杂,白盒测试反而效率低下。
等等,还有个事,有时候黑盒测试和白盒测试不是完全独立的,实际操作中,两者可能会结合起来使用。这个点很多人没注意,我觉得值得试试。
最后提醒一个容易踩的坑,不要过分依赖单一类型的测试。功能测试是确保软件质量的重要环节,但过分依赖某一种测试方法可能会忽略掉其他潜在的问题。