Difference between Testing & Debugging
Testing helps ensure software quality by catching as many bugs as possible and proactively ensuring bugs aren’t introduced. Debugging, however, is generally done after a bug has been found. Debugging involves tools and an effective problem-solving process to find the root cause of a bug in order to apply a fix. You can build defenses into your application to make debugging much easier, such as error logs (to capture errors) and audit logs (to reconstruct what the user of the application did to trigger the bug).
[Source:Accelerated Silverlight 2 by Jeff Scanlon]
Debugging is always initiated when testing uncovers a difference between an expected and actual result.
Testing is the process of detecting an error. Debugging is the process of identifying the root cause of an error and correcting it.
[Source:Computer & Control Abstracts by Institute of Electrical and Electronics Engineers]
Also See:
Debugging & Debugging Strategies