What is the difference between Testing and Debugging ?

Testing 

  • Carried by a team of testers.
  • Aim is to find the defect in the software. 
  • Test engineers run a series of manual or automated tests on the software developed , and if they find any discrepancies in actual result vs expected, they report it as a bug to development. 
  • While reporting the defect they provide the steps to reproduce the defect to dev.
  • This information is used by development team to DEBUG the defect.
  • Finds where the defect is located/ functionality.


Debugging 


  • Activity carried out by the development team (or developer), 
  • after getting the test report from the testing team about defect(s) (you may note defects can also be reports by the client). The developer then tries to find the cause of the defect, in this quest he may need to go through lines of code and find which part of code in causing that defect. 
  • After finding out the bug, development tries to modify that portion of code and then he rechecks if the defect has been finally removed. 
  • After fixing the bug, software is sent back to testers for retest.
  • Actually fixing the located defect.