White Box Testing
White box testing is a type of software testing in which the person understands the application design and source code. Using these insights, the person can run tests that reveal the most likely bugs or performance issues.
Since the original developer is the one who best understands the program, he or she is best-suited to perform white box testing. However, other programmers familiar with the application can also run white box tests. In either case, the tester must have a solid understanding of the program's purpose and the underlying code.
White box testing helps ensure a program is stable and performant. It is useful for stress-testing an app with large files or with edge cases that most users won't encounter. The bug fixing process is efficient since the person who discovers the errors often fixes them.
On the other hand, the original developer may not use the app as a typical user and may not find errors or bugs another user may discover. White box testing is also not ideal for improving an app's feature set or user interface, where outside feedback is especially valuable.
NOTE: Software testing in which the user has no insight into the internals of a program is called black box testing.