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


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

指数 黑盒测试 白盒测试 灰盒测试
1 此类测试不需要了解内部工作结构(代码)。测试用例只需要 GUI(图形用户界面)。 此类测试必须了解内部工作结构(软件编码)。 需要部分了解内部工作结构。
2 黑盒测试也称为功能测试、数据驱动测试和闭盒测试。 白盒测试也称为结构测试、明盒测试、基于代码的测试和透明测试。 灰盒测试也称为半透明测试,因为测试人员的编码知识有限。
3 测试方法包括试验技术和错误猜测方法,因为测试人员不需要了解软件的内部编码。 白盒测试通过验证软件固有的系统边界和数据域来进行,因为不缺乏内部编码知识。 如果测试人员具有编码知识,则可以通过验证软件的数据域和内部系统边界来进行。
4 输入表的测试空间(用于创建测试用例的输入)在所有测试空间中非常巨大和最大。 与黑盒测试相比,输入表的测试空间(用于创建测试用例的输入)更少。 输入表的测试空间(用于创建测试用例的输入)小于黑盒和白盒测试。
5 发现软件的隐藏错误非常困难,因为错误可能是由于黑盒测试未知的内部工作造成的。 发现隐藏错误很简单,因为它可能是由于白盒测试中深入探讨的内部工作造成的。 很难发现隐藏的错误。可能会在用户级别测试中找到。
6 不考虑用于算法测试。 它非常适合并推荐用于算法测试。 不考虑用于算法测试。
7 黑盒测试的时间消耗取决于功能规范的可用性。 由于代码冗长,白盒测试需要很长时间来设计测试用例。 测试用例设计可以在短时间内完成。
8 测试人员、开发人员和最终用户都可以成为测试的一部分。 只有测试人员和开发人员才能参与测试;最终用户不能参与。 测试人员、开发人员和最终用户都可以成为测试的一部分。
9 它是所有测试过程中耗时最少的过程。 整个测试过程是所有测试过程中最耗时的。 比白盒测试耗时少。
10 黑盒测试涵盖了抵御病毒攻击的弹性和安全性。 白盒测试不涵盖针对病毒攻击的弹性和安全性。 灰盒测试不涵盖针对病毒攻击的弹性和安全性。
11 此测试的基础是外部预期内部行为未知。 此测试的基础是负责内部工作的编码。 基于高级数据库图和数据流图的测试。
12 它不如白盒和灰盒测试方法详尽。 黑盒和灰盒测试方法之间最为详尽。 部分详尽;取决于测试用例的类型是基于编码还是基于 GUI。