Common search engine questions about testing #1: Why is software testing important?

This is the first of a ten-part blog series in which I will answer some of the most common questions asked about software testing, according to search engine autocomplete results (thanks to Answer The Public).

The first cab off the rank is “Why is software testing important?” (with related questions being “why is software testing necessary?”, “why is software testing needed?”, “why is software testing important in software engineering?” and “why is software testing important in SDLC?”).

Let’s begin by looking at this from a different angle, how would teams/organisations behave if software testing wasn’t important to them? They’d probably try to cut the cost of it or find ways to justify not doing it all (especially with expensive humans). They might devalue the people doing such work by compensating them differently to other team members or look upon their work as a commodity that they can have performed by lowest common denominator staff (perhaps in a cheaper location). They would capitalize on their confirmation bias by appealing to the authority of the many articles and presentations claiming that “testing is dead”. They would ensure that testing is seen as a separate function from the rest of development to enable their desire to remove it completely. They would view testing as a necessary evil.

Listening to the way some organisations and some parts of the software development community talk about testing, it’s common to see these indications that software testing just isn’t important to them. In trying to understand why this is so, I’ve come to believe that this largely stems from the software testing industry traditionally doing a poor job of articulating its value and not being clear on what it is that good testing actually provides. We’ve spent a long time working off the assumption that it’s obvious to people paying the bills that testing is important and necessary.

To be clear, my preferred definition of testing comes from Michael Bolton and James Bach, viz.

Testing is the process of evaluating a product by learning about it through experiencing, exploring, and experimenting, which includes to some degree: questioning, study, modelling, observation, inference, etc.

I like this definition because it highlights all of the aspects of why testing is important to me, with its focus on interacting with the product, engaging in learning and exploration, and running experiments to help find out if the thing in front of me as a tester is the thing we wanted. It seems to me that this type of evaluation is important and would likely also be viewed as important by the business. However, if we sell the importance of testing based on providing turgid test reports of passed and failed test cases, it’s not too surprising that stakeholders view testing as being more of a costly nuisance than a valued and trusted advisor. Too often, I’ve seen the outputs of testing being focused on describing the testing approach, techniques, test cases run and bugs logged – in other words, we too often provide information about what we did and fail to tell a story about what we discovered during the process.

The reality is that most stakeholders (and certainly customers) don’t care about what you did as a tester, but they probably care about what you learned while doing it that can be valuable in terms of deciding whether we want to proceed with giving the product to customers. Learning to present testing outcomes in a language that helps consumers of the information to make good decisions is a real skill and one that is lacking in our industry. Talking about risk (be that product, project, business or societal) based on what we’ve learned during testing, for example, might be exactly what a business stakeholder is looking for in terms of value from that testing effort. In deliberately looking for problems that threaten the value of the product, there is more chance of finding them before they can impact our customers.

Another spanner in these works is the confusion caused by the common use of the term “automated testing”. It should be clear from the definition I presented above that testing is a deeply human activity, requiring key human skills such as the ability to subjectively experience using the product, make judgements about it and perform experiments against it. While the topic of “automated testing” will be covered in more depth in answering a later question in this blog series, I also wanted to briefly mention automation here to be clear when answering why software testing is important. In this context, I’m going to include the help and leverage we can gain by automation under the umbrella term of “software testing”, while reminding you that the testing itself cannot be automated since it requires distinctly human traits in its performance.

Let’s wrap up this post with a couple of reasons why I think software testing is important.

Software testing is important because:

  • We want to find out if there are problems that might threaten the value of the product, so that they can be fixed before the product reaches the customer.
  • We have a desire to know if the product we’ve built is the product we (and, by extension, our customers) wanted to build.
    • The machines alone can’t provide us with this kind of knowledge.
    • We can’t rely solely on the builders of the product either as they lack the critical distance from what they’ve built to find deep and subtle problems with it.

I’m providing the content in this blog series as part of the “not just for profit” approach of my consultancy business, Dr Lee Consulting. If the way I’m writing about testing resonates with you and you’re looking for help with the testing & quality practices in your organisation, please get in touch and we can discuss whether I’m the right fit for you.

Thanks to my review team (Paul Seaman and Ky) for their helpful feedback on this post.

Advertisement

15 thoughts on “Common search engine questions about testing #1: Why is software testing important?

  1. Nilanjan

    >> However, if we sell the importance of testing based on providing turgid test reports of passed and failed test cases, it’s not too surprising that stakeholders view testing as being more of a costly nuisance than a valued and trusted advisor.

    Selling the importance of testing based on providing automation results seems to work just fine? The problem in testing is no longer test cases or test reports. The sooner we realize that we can *attempt* to find solutions?

    Reply
    1. therockertester Post author

      Thanks for your comment.

      I’m not sure if you’re asking a question as to whether providing automation results is seen as a way to sell the importance of testing. In some organisations, automation results are probably held up as sufficient evidence that good testing has been performed. While the results of your suites of automated checks provide some information, they are weak in terms of telling a testing story in which humans need to be involved.

      You said that “the problem in testing is no longer test cases or test reports” but I still often see people confusing test artifacts with test activities, e.g. test plans with planning, test cases with testing, test reports with reporting. The existence of these artifacts doesn’t necessarily tell me much about the actual testing that was performed and what was learned and discovered by doing it. If you think these are not big issues, then do you have an opinion on what “the problem in testing” today is?

      Reply
  2. Pingback: Five Blogs – 16 November 2020 – 5blogs

  3. Pingback: Common search engine questions about testing #2: How does software testing impact software quality? | Rockin' and Testing All Over The World

  4. Pingback: Common search engine questions about testing #3: “When should software testing activities start?” | Rockin' and Testing All Over The World

  5. Pingback: Common search engine questions about testing #4: “How is software testing done?” | Rockin' and Testing All Over The World

  6. Pingback: Common search engine questions about testing #5: “Can you automate software testing?” | Rockin' and Testing All Over The World

  7. Pingback: Common search engine questions about testing #6: “Is software testing easy?” | Rockin' and Testing All Over The World

  8. Pingback: Common search engine questions about testing #1: Why is software testing important? — Rockin’ and Testing All Over The World – ianwattsblog

  9. Pingback: Common search engine questions about testing #7: “Is software testing a good career?” | Rockin' and Testing All Over The World

  10. Pingback: Common search engine questions about testing #8: “Can I learn software testing on my own?” | Rockin' and Testing All Over The World

  11. Pingback: Common search engine questions about testing #8: “Can I learn software testing on my own?” - Softwaretestingtools.com

  12. Pingback: Common search engine questions about testing #9: “Which software testing certification is the best?” | Rockin' and Testing All Over The World

  13. Pingback: Common search engine questions about testing #10: “What will software testing look like in 2021?” | Rockin' and Testing All Over The World

  14. Pingback: Lessons learned from writing a ten-part blog series | Rockin' and Testing All Over The World

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s