What is the Difference between Testing and Debugging
1)Testing is meant to find defects in the code, or from a different angle, to prove to a suitable level (it can never be 100%) that the program does what it is supposed to do. It can be manual or automated, and it has many different kinds, like unit, integration, system / acceptance, stress, load, soak etc. testing.
Debugging is the process of finding and removing a specific bug from the program. It is always a manual, one-off process, as all bugs are different.
2) Debugging is a manual step by step process that is involved, unstructured and unreliable. By testing through debugging you create scenarios that are not repeatable therefore useless for regression testing..
3) Debugging is an attempt to fix known and unknown issues by methodically going over the code. When you're debugging you're usually not focused on the code as a whole, and you're almost always working in the backend, in the actual code.
Testing is an attempt to create an issue through various ways of using the code that can then be debugged. It's almost always done in userspace, where you're running the code as an end user would run it, and trying to make it break.