Testing: Basically, testing is a process of exploring the system to find defects present in the software, and not only that, this process has to locate the defects and define what will happen once these defects occur. This process is performed in the testing phase by testing team, and after this phase, they will report to the developer team to debug.
Some popular testing tools: Selenium, Katalon Studio, TestComplete,…
Debugging: Once Development team received the report from the testing team, they will start debugging. The purpose of this phase is to locate the bug and rids the software of it. It is a one-off process and is done manually. In this process, a special tool called debugger is used in locating the bugs, most of the programming environments have the debugger.
Some popular Debugger tools: WinDbg, OllyDbg, IDA Pro,…
Testing
Debugging
Performed by testers
Performed by developer or development team
Can be done manually or automatically
Can only be done manually
Can be predefined when starting testing. The test result could be predicted
Start with unknown conditions and it is hard to predict the result
Find the programming failure
Demonstrate that it’s only an unattended small mistake
Could be done automatically by using automation testing tools
Automatic debugging of software is still a dream of programmers
The purpose is to find the bug
The purpose is to find the cause of a bug
Typical Testing & Debugging workflow
Original post: Differences Between Testing and Debugging