What is the difference between white box, black box and gray box testing?

Black box testing is a testing strategy which is based solely on the requirements and specifications. Black box testing requires no knowledge of the internal paths, structure, or implementation of the software under test.
White box testing is a testing strategy which is based on the internal paths, code structure, and implementation of the software under test. White box testing generally requires detailed programming skills.
There is one more type of testing is called gray box testing. In this we look into the “box” under test just long enough to understand how it has been implemented. Then we close up the box and use our knowledge to choose more effective black box tests.
Below figure shows how both the types of testers view an accounting application during testing. In case of black box tester they view in terms of pure accounting application. While in terms of White box testing the tester know about the internal structure of the application. In most scenarios white box testing is done by developers as they know the internals of the application. In Black box testing we check the overall functionality of the application while in white box we do code reviews , view the architecture , remove bad code practices and component level testing.

White box and black box in action

Tagged . Bookmark the permalink.

Leave a Reply