📜  黑盒与白盒与灰盒测试之间的区别

📅  最后修改于: 2022-05-13 01:57:00.703000             🧑  作者: Mango

黑盒与白盒与灰盒测试之间的区别

1.黑盒测试
黑盒测试是一种软件测试,其中软件的功能是未知的。测试是在没有产品内部知识的情况下完成的。它也称为功能测试。黑盒测试侧重于软件的外部属性和行为。这种类型的测试从用户的角度着眼于应用程序的软件预期行为。

2.白盒测试
白盒测试或玻璃盒测试是一种软件测试技术,它在源代码级别使用内部数据结构、物理逻辑流程和体系结构的知识来测试软件。此测试通过从开发人员的角度查看测试来工作。此测试也称为玻璃盒测试、透明盒测试、结构测试或非功能测试。

3.灰盒测试
灰盒测试是软件测试中黑盒测试技术和白盒测试技术的结合。灰盒测试涉及用于测试目的的程序的输入和输出,但测试设计是通过使用有关代码的信息进行测试的。灰盒测试非常适合 Web 应用程序测试,因为它考虑了高级设计环境和互操作性条件。

让我们看看它们之间的表格差异。

Black Box TestingGray Box TestingWhite Box Testing
This testing has Low granularity.This testing has a medium level of granularity.This testing has high-level granularity.
It is done by end-users and also done by the tester, developers.It is done by end-users (called user acceptance testing), also done by testers and developers.It is generally done by testers and developers.
Here, Internals are not required to be known.Here, Internals relevant to the testing are known.Here, the Internal code of the application and database is known.
It is likely to be less exhaustive than the other two.It is kind of in-between.Most exhaustive among all three.
It is based on requirements, test cases on the functional specifications, as the internals are not known.It provides better variety/depth in test cases on account of high-level knowledge of the internals.It has the ability to exercise code with a relevant variety of data.
If used algorithm testing, it is not suited best for that.If used algorithm testing, it is also not suited best for that.If used algorithm testing, it is suited best for that.
It is suited for functional or business testing.It is suited for functional or business domain testing deeply.It is used for all.
This testing involves validating the outputs for given inputs, the application being tested as a black-box technique.Herein, we have a better variety of inputs and the ability to extract test results from the database for comparison with expected results.It involves structural testing and enables logic coverage, decisions, etc within the code.
This is also called Opaque-box testing, Closed-box testing, input-output testing, Data-driven testing, Behavioural, Functional testingThis is also called translucent box testingThis is also called Glass-box testing, Clear-box testing, Design-based testing, Logic-based testing, Structural testing, Code-based testing.