Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags

software testing

What is gray box testing?

Ayesha Naeem

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Testers use the gray box testing technique to test software when they have restricted information about the internal structure and functionality. Testers who perform gray box testing have detailed design documents and possess information about the software requirements.

Gray box testing is a combination of white box testing and black box testing:

  • Black box testing: The tester does not know the internal structures and code.
  • White box testing: The tester has complete knowledge of the internal structures and code.

Gray box testing techniques

Matrix testing

In this technique, the developers define all the variables of a program and their associated risks. Matrix testing tests the risks and eliminates variables not being used in the program.

Regression testing

This technique ensures that a recent change has not affected the existing functionality of the software.

Orthogonal array testing

This technique is employed for maximum code coverage with a minimum number of test cases, usually with large test data sets.

Pattern testing

This technique uses past defect records to find defect causes and accordingly formulates new test cases to find defects in the software.

Steps in gray box testing

  1. Select input.
  2. Determine the output.
  3. Identify all the key paths.
  4. Select subfunctions for performing in-depth testing.
  5. Identify inputs for subfunctions.
  6. Determine outputs for the subfunctions.
  7. Execute test cases for subfunctions.
  8. Verify if the results for the subfunctions are expected or not.
  9. Repeat steps 4 and 8.
  10. Repeat steps 7 and 8.

Benefits of gray box testing

  • Gray box testing provides the benefits of both black box and white box testing.
  • It improves product quality.
  • Expert programming knowledge is not required, and user perception is acquired.
  • Developers get sufficient time to debug and improve features.
  • It is an effective technique for integration testing.

RELATED TAGS

software testing

CONTRIBUTOR

Ayesha Naeem
Copyright ©2022 Educative, Inc. All rights reserved

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Keep Exploring