Difference between White-box and Black-box Testing
Key difference: White-box testing is a software testing technique, where the internal workings of the application to be tested are known and taken into consideration by the tester. Black-box testing is a software testing technique, where the application of program to be tested is not known to the tester or it is not taken into consideration.
include("ad4th.php"); ?>Black Box testing is also known as behavioral testing, data driven testing or closed box testing. It is the process of giving input to the system and checking the output of the system without considering on ‘how the output was generated’.
Black box testing is a testing strategy solely based on requirements and specifications. It requires no knowledge of internal paths, structures, or implementation of the software on the applications that are being tested. However, this strategy minimizes the tester's approach on finding the errors or defects in the testing program. Also, the defects are not corrected because of lacking internal application knowledge of the tester.
include("ad3rd.php"); ?>Black box testing is done at an outer level of the system; it simply checks if the output is correct for the given input. The functionalities of the application are checked and tested. Also, user knowledge on the internal flow or design of the system are not required, as they simply test the system without any information on how the system is made.
White-box Testing is also known as structural, open box, clear box or glass box testing. It is the process of giving input to the system and checking how the system processes the given input by generating the given output.
White-box testing is a testing strategy based on internal paths, code structures, and the implementation of the software being tested. It generally requires detailed programming skills. This strategy helps in quickly finding the bugs and defects as compared to other methods. It gives a complete testing coverage by ensuring exactly what to test in an application.
White-box testing involves thorough testing of the application. It typically includes checking with the data flow, exceptions, and errors. It also checks the defect handling and compares the results to the written code. It refers to a testing team or system with full knowledge, along with, it accesses to all the source codes and other architectural documents. They test the internal logics and applications of the code.
Comparison between White-box and Black-box Testing:
|
White-box Testing |
Black-box Testing |
Definition |
It is a software testing method in which the internal structure, design and implementation of the program is known to the tester. |
It is a software testing method in which the internal structure, design and implementation of the program are not known to the tester. |
Tested by |
It is done by software developers. |
It is done by a professional testing team. |
Coding knowledge |
This requires knowledge of internal coding. |
This does not require knowledge of internal coding. |
Concern |
It is concerned with testing the implementation of the program. |
It does not concern with the structure of the program. |
Testing |
It is mainly applicable to lower level of testing such as:
|
It is mainly applicable to higher level of testing such as:
|
Knowledge |
Implementation knowledge is required for testing. |
Implementation knowledge is not required for testing. |
Test basis |
Test cases are based on detail design. |
Test cases are based on required specifications. |
Time |
It is time consuming and exhaustive. |
It is less time consuming and exhaustive. |
Algorithm test |
It is suited for algorithm testing. |
It is not suited for algorithm testing. |
Testing method |
Data domain and internal boundaries are better tested. |
This can only be done by trial and error method. |
Advantages |
|
|
Disadvantages |
|
|
Images Courtesy: softwaretestingnet.com
Comments
Very well written article, thanx for the tabular differences...great site for knowledge & info...!!
Sujit Sharma
Wed, 04/23/2014 - 12:58
Add new comment