It often surprises me how difficult it is to answer simple questions like what is a bug? Or subject even more to the core of our craft, what is software testing?
If you are a testing professional, I’d ask for a pause here. Seriously, how would you answer? I’m asking you now because just yesterday I had to pause as well when a friend asked me.
What is software testing?
A hundred different ideas flooded my mind, and I found it difficult to elaborate my thoughts. Then I fumbled for an answer just to make the question go away.
I hunt bugs.
When I got back home, I had to revert to the age-old trick of Googling around because I was lazy to think it through on my own. And I quickly found hundreds of answers like this.
Software testing is an investigation conducted to provide stakeholders with information about the quality of the software product or service under test.
My definitions tend to look similar, and I always feel that they fall short. Trying to elaborate testing this way is not adequate for me because we would need to deconstruct most of the sentence anyway.
- Who precisely are the stakeholders?
- What specifically is the information we provide?
- What does quality mean in this setting?
- What just do we mean by the software under test?
The problem of any Twitter-friendly definition is always the same. Like most things in life, explaining it is context specific just like understanding it. It most likely spawns more questions than it answers.
So I might as well stay with, “I hunt bugs”.
Context drives the meaning of the content.