今天谈谈灰盒测试吧。
灰盒测试,确实是介于黑盒测试和白盒测试两者之间的,可以这样理解。灰盒测试不但关注输出对于输入的正确性,而且同时也关注程序结构内部表现。但这种关注并不像白盒测试那样详细、完整,而只是通过一些表征性的现象、事件和标志等来判断内部的运行状态。有时候输出是正确的,但内部其实已经错误了,这种情况非常多。如果每次都通过白盒测试来测试,则效率会很低,因此可以采取灰盒的测试方法。
灰盒测试结合了白盒测试和盒黑盒测试的要素,它考虑了用户端、特定的系统知识和操作环境。它在系统组件的协同性环境中评价应用软件的设计。
灰盒测试由方法和工具组成,这些方法和工具取材于应用程序的内部知识和与之交互的环境,能够用于黑盒测试以增强测试效率、错误发现和错误分析的效率。
灰盒测试涉及输入和输出,但使用关于代码和程序操作等通常在测试人员视野之外的信息设计测试。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
灰盒测试借助测试工具可以同时考核两种测试通过准则,一是基于需求的覆盖率准则;二是基于代码的覆盖率准则。能够给出这两种指标,并进行分析和审查,则可以比较充分地考核测试的完整程度。