Explain the differences between White-box, Gray-box, and Black-box testing.

Showing Answers 1 - 4 of 4 Answers


  • Jun 4th, 2005

Black box testing 
Tests are based on requirements and functionality. Not based on any knowledge of internal design or code.  
White box testing  
Tests are based on coverage of code statements, branches, paths, conditions. Based on knowledge of the internal logic of an application's code.  

savitha shetty

  • Dec 27th, 2006

White box testing: is done by taking inplementation detais in to consideration, usually done by the developers.

Black box testing: Is done by a seperate testing team to test for the funtionality of the application, by taking requirements in to consideration.

Grey box testing:It is the combination of bith white box and black box testing, done by both developers and testers.

 *could u all clear my doubt which is stated below*

Unit testing can also be told as a kind of grey box testing as in black box testing the inputs are to be given in such a way that each and every line of codes are to be tested. so it is a combination of both black box and white box testing.

  Was this answer useful?  Yes


  • Nov 29th, 2011

Hi savitha shetty .... I Agree for whatever you said about white box and black box testing, but I do not agree for gray box testing because gray box testing is not a combination of white, black box testing.

Gray box Testing: Gray box testing is testing the application with database knowledge (SQL Server,Oracle...),

Whatever the input data is entered in the frontend is correctly entered in the backend that is in our database.

Do you have any idea of visual Testing please explain me.

  Was this answer useful?  Yes

Waseem Ahmed Khan

  • Jan 13th, 2012

Hello Ramakrishna,

I agree with savitha shetty, that grey box testing is the combination of of both white box and black box testing and database testing is the example of grey box testing.

How can this possible that you do database testing without any knowledge of application functionality? if you dont have any knowledge of inputs, functionality and coding of an application than it isnt possible to test database testing and i agree your this comment "Whatever the input data is entered in the frontend is correctly entered in the backend that is in our database." but how can you test the black box testing without any knowledge of the front end functionality.

Lets take the scenario;

there are two tables with same name;
a a
b b
c c

And in the web form there is a drop down, in which you select the data, tell me that how would you know that which data come from which table. so, in this case we will use queries to check that selected data came from which table. This is best example of database testing.

  Was this answer useful?  Yes

Give your answer:

If you think the above answer is not correct, Please select a reason and add your answer below.


Related Answered Questions


Related Open Questions