黑盒测试vs.白盒测试vs.灰盒测试

Index 黑匣子测试 白盒测试 灰箱测试
1 这种测试不需要内部工作结构(代码)的知识。测试用例仅需要GUI(图形用户界面)。 对于这种类型的测试, 必须具备内部工作结构(软件编码)的知识。 需要部分了解内部工作结构。
2 黑盒测试也称为功能测试, 数据驱动测试和封闭盒测试。 白盒测试也称为结构测试, 透明盒测试, 基于代码的测试和透明测试。 灰盒测试也被称为半透明测试, 因为测试人员对编码的了解有限。
3 测试方法包括试用技术和错误猜测方法, 因为测试人员不需要软件的内部编码知识。 白盒测试通过验证软件固有的系统边界和数据域来进行, 因为不缺少内部编码知识。 如果测试人员具有编码知识, 则可以通过验证软件的数据域和内部系统边界来进行测试。
4 在所有测试空间中, 用于输入(用于创建测试用例的输入)的表的测试空间非常大且最大。 与黑盒测试相比, 用于输入(用于创建测试用例的输入)的表的测试空间较小。 用于输入(用于创建测试用例的输入)的表的测试空间小于黑盒和白盒测试。
5 发现软件的隐藏错误非常困难, 因为错误可能是由于内部工作所致, 而黑匣子测试尚不知道。 发现隐藏的错误很容易, 因为它可能是由于内部工作导致的, 而内部工作在White Box测试中得到了深入研究。 难以发现隐藏的错误。可以在用户级别的测试中找到。
6 不考虑将其用于算法测试。 非常适合并建议用于算法测试。 不考虑将其用于算法测试。
7 黑匣子测试中的时间消耗取决于功能规格的可用性。 由于冗长的代码, 白盒测试需要很长时间来设计测试用例。 测试用例的设计可以在很短的时间内完成。
8 测试人员, 开发人员和最终用户可以成为测试的一部分。 只有测试人员和开发人员可以参与测试;最终用户不能参与。 测试人员, 开发人员和最终用户可以成为测试的一部分。
9 这是所有测试过程中最省时的过程。 在所有测试过程中, 整个测试过程最耗时。 比白盒测试耗时少。
10 黑盒测试涵盖了抵御病毒攻击的弹性和安全性。 白盒测试未涵盖抵御病毒攻击的弹性和安全性。 灰盒测试未涵盖抵御病毒攻击的弹性和安全性。
11 该测试的基础是外部预期, 内部行为未知。 该测试的基础是负责内部工作的编码。 基于高级数据库图和数据流图的测试。
12 它不如白盒和灰盒测试方法那么详尽。 黑盒和灰盒测试方法之间的联系最为详尽。 部分详尽;取决于测试用例的类型是基于编码还是基于GUI。

    推荐阅读