In software testing, there are three different types of testing depending on how much knowledge the testers have on the software being tested.
White Box Testing
- With full knowledge of the software. (internal structures, source codes, etc.)
- Usually tests how the software performs.
- Suitable for software developers.
Black Box Testing
- Without having any knowledge of the software. (internal structures, source codes, etc.)
- Usually tests for functionality of the software.
- Suitable for third-party testers.
Gray Box Testing
- Test with partial knowledge of the software.