Software Testing Methodologies – Black Box, White Box and Grey Box

Introduction to Software Testing

To test something is to evaluate the functionality of it against some criteria. The process of software application testing is an exercise with the purpose of checking whether or not a system meets both the user and system requirements that were set out in the earlier stages of the system development life-cycle. The process of software application testing involves running and analyzing a system in various ways in a bid to identifying bugs and errors and to check for requirements that might have been missed in the development stage.

There are 3 core testing methodologies available, each of which are suitable for different varieties of the testing types: Black box testing, white box testing and grey box testing.

Each of these 3 methods takes a different approach to how a system is tested and each is suitable for different cases. The above linked articles discuss these 3 core testing methodologies in detail. The remainder of this post compares and contrasts the 3 methods and evaluates the applicability of each.

Comparison – Black Box, White Box and Grey Box Testing
FeatureBlack BoxWhite BoxGrey Box
Does the methodology require access to applications code-base?NoYesSome
Is coding knowledge required by the software testers?NoYesSome
Is the testing carried out from the perspective of an end user?YesNoYes
Does the methodology allow for the easy design of test cases?YesNoYes
Generally, is the method an efficient approach?YesNo, relatively time consuming.Somewhat time consuming
Is the method an intrusive approach?NoYesNo
Is it suitable for testing security features / penetration testing?NoYesYes
Who is the testing carried out by?Testing TeamDevelopersBoth Testers and Developers
Is it suitable for algorithm testing?NoYesNo
What is the primary focus of the methodology?Application functionalityInternal logicMostly functionality, some logic
What types of testing is the method most applicable to?Acceptance testing, system testingUnit testing, integration testing, penetration testingIntegration testing, penetration testing, system testing

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: