Advantages of White box testing are:
As the knowledge of internal coding structure is prerequisite, it becomes very easy to find out which type of input/ data can help in testing the application effectively.
The other advantage of white box testing is that it helps in optimizing the code. It helps in removing the extra lines of code, which can bring in hidden defects.
Disadvantages of white box testing are:
As knowledge of code and internal structure is a prerequisite, a skilled tester is needed to carry out this type of testing, which increases the cost.
It is nearly impossible to look into every bit of code to find out hidden errors, which may create problems, resulting in failure of the application.