Grey box testing is a software testing type to test the product application with partial knowledge of internal structure of the application. The main goal of grey Box testing is to identify the defects due to improper code structure. The context free specific errors that are related to web systems are commonly identified. It also increases the test coverage by concatenating on all of the layers of a complex system.
Grey Box is software testing method which is combination of white box and black box testing.
In white Box testing internal structure / code / programming logic is known
In Black-box testing internal structure is unknown
In Grey Box testing internal structure is partially known.
Consider an example of Grey box testing while testing websites feature link, if tester encounter any problems with these links will go straightaway in HTML code and can verify in real time.
Grey box testing is done for the below reasons:
- It provides combined benefits of the both black box testing and white box testing.
- It combines the input from developers and the testers and improves overall product quality.
- It reduces the overhead of very long process of testing functional and non-functional types.
- It provides free time for a developer to fix defects.
- Testing is done from the user point of view.
Grey Box testing strategy:
To do the Grey box testing, it is not necessary to access the source code by the tester. A test designed is based on the knowledge of algorithm, architectures, internal states or other high level descriptions of the program behaviour.
To perform Grey box testing:
- a straight forward technique of black box testing is applied
- It is based on the requirement test generation like presets all the condition before the program is tested by assertion method.
The different techniques of Grey box testing are:
- Matrix Testing: Testing technique involves defining the variables that exist in their programs.
- Regression Testing: To check whether the change in the previous version has regressed other aspects of the program in the new version. It will be done by testing strategies like retest and retest risky use cases, retest within firewall.
- Orthogonal Array Testing OAT– It provides maximum code coverage with minimum test cases.
- Pattern Testing– This testing is done on the historical data of the previous system defects. Like black box testing, Grey box testing digs within the code and determines why failure happened.
Grey box testing methodology uses the automated software testing tools to conduct the testing. Stubs and module drivers are created to alleviate tester to manually generate the code.
The steps to perform Grey box testing are:
- step 1: identify inputs
- step 2: Identify the outputs
- step 3: identify the major paths
- step 4: identify the sub-functions.
- step 5: Develop inputs for the sub-functions
- step 6: Develop outputs for the sub-functions
- step 7: Execute test case for sub-functions
- step 8: verifying the correct result for sub-functions
- step 9: Repeat steps 4 and 8 for other sub-functions
- step 10:Repeat steps 7 and 8 for other sub-functions.