1) Debugging is the process of solving a problem. Hence, individuals involved in debugging should understand all the causes of an error before starting with debugging.
2) No experimentation should be done while performing debugging. The experimental changes instead of removing errors often increase the problem by adding new errors in it.
3) When there is an error in one segment of a program, there is a great possibility of presence of another error in the program. Hence a strong need to examine the remaining program arises.
4) Whenever any new piece of code gets added to the program, It becomes essential to ascertain its success or failure in fixing the errors. This calls for regression testing till the errors get eliminated to the desired level of satisfaction.
Testing involves unit, integration and system level approaches to detect the faults. Whereas debugging checks the correctness and performance of the software application to do the fault detection.
Five broad points of differences among debugging and software testing are: