黑盒,白盒与灰盒测试的比较和区别

黑盒,白盒与灰盒测试的比较和区别

黑盒测试,白盒测试与灰盒测试的比较和区别如下所示:

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