Tuesday, 6 August 2013

Black Box vs Grey Box vs White Box


Black Box testing:Specific knowledge of the application's code/internal structure and programming knowledge in general is not required. The tester is aware of what the software is supposed to do but is not aware of how it does it. For instance, the tester is aware that a particular input returns a certain, invariable output but is not aware of how the software produces the output in the first place.

White Box Testing: is a method of testing software that tests internal structures or workings of an application, as opposed to its functionality. White-box testing is a method of testing the application at the level of the source code

 

S.N.Black Box TestingGrey Box TestingWhite Box Testing
1The Internal Workings of an application are not required to be knownSomewhat knowledge of the internal workings are knownTester has full knowledge of the Internal workings of the application
2Also known as closed box testing, data driven testing and functional testingAnother term for grey box testing is translucent testing as the tester has limited knowledge of the insides of the applicationAlso known as clear box testing, structural testing or code based testing
3Performed by end users and also by testers and developersPerformed by end users and also by testers and developersNormally done by testers and developers
4Testing is based on external expectations - Internal behavior of the application is unknownTesting is done on the basis of high level database diagrams and data flow diagramsInternal workings are fully known and the tester can design test data accordingly
5This is the least time consuming and exhaustivePartly time consuming and exhaustiveThe most exhaustive and time consuming type of testing
6Not suited to algorithm testingNot suited to algorithm testingSuited for algorithm testing
7This can only be done by trial and error methodData domains and Internal boundaries can be tested, if knownData domains and Internal boundaries can be better tested