Skip to main content

The Purpose of Software Testing

In March 2019, someone's public statement about the purpose of automated software testing prompted me to reflect again on what I considered the true purpose of automated software testing, myself.

What if we took testing away? For a moment, let's imagine a world without any automated software testing — none at all.
Now, please ask yourself, without testing:

  • Can we add new members to the team and have them find the things they broke by themselves?
  • Can we change the software with low risk?
  • Can we safely update third-party dependencies?
  • Can we move fast without breaking things?
  • Can we rest assured that the bugs we fixed yesterday will not return as regressions tomorrow?

What I would like to suggest is the following:

The point of software testing is this:

  • to reduce risk and enable change,
  • to retain development velocity over time, and
  • to prevent damage to users and to the company.

Disagree? Drop me a mail at sebastian@pipping.org.