Debugging vs Testing – Differences Explained

debuggingtesting

Introduction To Software Testing (Ammann & Offutt) mentions on p.32 a 5-level testing maturity model:

Level 0 There’s no difference between testing and debugging.

Level 1 The purpose of testing is to show that the software works.

Level 2 The purpose of testing is to show that the software doesn’t work.

Level 3 The purpose of testing is not to prove anything specific, but to reduce
the risk of using the software.

Level 4 Testing is a mental discipline that helps all IT professionals develop
higher quality software.

Although they don't go into much further detail. What are the differences between debugging and testing?

Best Answer

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.

My guess is that the author means, that on Level 0, only manual tests are performed, in an ad hoc fashion, without a test plan or anything to ensure that the tester actually thoroughly tested the feature under test, and that the tests can be reliably repeated.

Related Topic