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.