Definition
|
Black Box Testing is a way of software testing in which the internal structure or the program or the code is hidden and nothing is known about it. |
White Box Testing is a way of testing the software in which the tester has knowledge about the internal structure or the code or the program of the software. |
Testing objectives
|
Black box testing is mainly focused on testing the functionality of the software, ensuring that it meets the requirements and specifications.
|
White box testing is mainly focused on ensuring that the internal code of the software is correct and efficient.
|
Testing methods
|
Black box testing uses methods like equivalence partitioning, boundary value analysis, and error guessing to create test cases.
|
White box testing uses methods like control flow testing, data flow testing and statement coverage testing.
|
Knowledge level
|
Black box testing does not require any knowledge of the internal workings of the software, and can be performed by testers who are not familiar with programming languages. |
White box testing requires knowledge of programming languages, software architecture and design patterns.
|
Scope
|
Black box testing is generally used for testing the software at the functional level.
|
White box testing is used for testing the software at the unit level, integration level and system level.
|
Implementation
|
Implementation of code is not needed for black box testing. |
Code implementation is necessary for white box testing. |
Done By
|
Black Box Testing is mostly done by software testers. |
White Box Testing is mostly done by software developers. |
Terminology
|
Black Box Testing can be referred to as outer or external software testing. |
White Box Testing is the inner or the internal software testing. |
Testing Level
|
Black Box Testing is a functional test of the software. |
White Box Testing is a structural test of the software. |
Testing Initiation
|
Black Box testing can be initiated based on the requirement specifications document. |
White Box testing of software is started after a detail design document. |
Programming
|
No knowledge of programming is required. |
It is mandatory to have knowledge of programming. |
Testing Focus
|
Black Box Testing is the behavior testing of the software. |
White Box Testing is the logic testing of the software. |
Applicability
|
Black Box Testing is applicable to the higher levels of testing of software. |
White Box Testing is generally applicable to the lower levels of software testing. |
Alternative Names
|
Black Box Testing is also called closed testing. |
White Box Testing is also called as clear box testing. |
Time Consumption
|
Black Box Testing is least time consuming. |
White Box Testing is most time consuming. |
Suitable for Algorithm Testing
|
Black Box Testing is not suitable or preferred for algorithm testing. |
White Box Testing is suitable for algorithm testing. |
Approach
|
Can be done by trial and error ways and methods. |
Data domains along with inner or internal boundaries can be better tested. |
Example
|
Search something on google by using keywords |
By input to check and verify loops |
Types
|
Types of Black Box Testing:
|
Types of White Box Testing:
|
Exhaustiveness
|
It is less exhaustive as compared to white box testing. |
It is comparatively more exhaustive than black box testing. |