Grey-Box testing is a combination of the two testing techniques known as the white box testing and black box testing. In Black box testing the testers don’t have much knowledge about the internal working /structure of the system and in white box testing technique the testers test only the working of the system.
In grey box testing the testers have little knowledge about the internal structure or functionality of the system like having access to the internal data structure, designing the test cases hence the name grey box testing which combines both the testing techniques functionalities. In grey box testing the system is not fully transparent but it is partially transparent to the user.
Consider one example of grey box testing:
Consider an example of one website in which the user needs to enter his valid email id in the webform. Upon submitting the email id the user will receive some information based upon his needs and interest. so here there are two cases of testing:
Case 1: If the user is not having much knowledge about the white box testing or internal functionality of the system he will test validations of the webform whether the user has entered valid email id or invalid email id.
Case 2: The user is having much knowledge about the internal functionality of the system then he will check how the system is working after providing the email id, whether the user receives the information by providing the invalid email id or not.
The testing techniques of grey box testing are as follows:
- Regression testing.
- Matrix testing.
- Pattern testing.
Advantages of grey box testing:
- It provides combined benefits of both functionalities of black box testing and white box testing.
- Testing is done from the users point of view.
- Best suited for large code segments.
Disadvantages of grey box testing:
- As it is partially transparent to the user complete white box testing cannot be performed.
- Sometimes test cases are difficult to design.