White-box testing is the detailed investigation of internal logic and structure of the code. To perform white-box testing on an application, a tester needs to know the internal workings of the code. The tester has to look inside the source code and find out which unit/chunk of the code is behaving inappropriately.
Normally white box testing is performed by testers and developers. This method is he most exhaustive and time-consuming type of testing. This is suited for algorithm testing. Data domains and internal boundaries can be better tested using white box testing.
White-box testing is very advantageous.
- As the tester know the source code, it becomes very easy to find out which type of data can help in testing the application effectively.
- It helps in optimizing the code.
- Extra lines of code can be removed which can bring in hidden defects.
- Due to the tester’s knowledge about the code, maximum coverage is attained during test scenario writing.
However there are some disadvantages too.
- Due to the fact that a skilled tester is needed to perform white-box testing, the costs are increased.
- Sometimes it is impossible to look into every nook and corner to find out hidden errors that may create problems, as many paths will go untested.
- It is difficult to maintain white-box testing, as it requires specialized tools like code analyzers and debugging tools
Next – Grey box testing
Previous – Black box testing