The Hidden Skill in Software Testing: Why Techniques Matter
Testing techniques aren't optional. Testing requires deliberate test design, strategic execution, and an understanding of more than a dozen methodologies.
TABLE OF CONTENTS
What's Up with Testing Techniques?
We regularly mention software testing techniques in our posts, but I do not know if we have explained why we discuss them so much. This post is not a list or a deep dive into a particular testing technique. Instead, we want to tell you why we consider them so important.
Definition
According to the Oxford Languages, a technique is a skillful or efficient way of doing or achieving something. What we are trying to accomplish by using a software testing technique is to test software efficiently. Per this BrowserStack post, software testing techniques are methods to check if a software program works properly, meets its goals, and assesses the quality of software. Oh boy, we were doing so well. In this definition, software testing techniques handle all the testing.
A better way of thinking about software testing techniques is to understand them in the context of test design. Software testing techniques are the essential toolbox to design test cases. Those test cases are the implementation of your testing strategy. In other words, software testing techniques are the foundation that allows QA to design test cases effectively. If your understanding of the testing techniques is poor, your testing strategy will never achieve its objectives. You cannot design the best test cases to implement your testing strategy without a comprehensive understanding of all the software testing techniques.
Software Testing Techniques are Essential
While anyone can open an application and claim to test it, at Testaify, we believe you cannot do it well without software testing techniques. The following diagram illustrates the software testing process:
Implementing a testing process that does not use or depend on software testing techniques for test design will produce a flawed testing strategy. Test execution will become an exercise in futility if the team's test cases do not adequately probe the system under test (SUT). After that, evaluating the results has little value. In other words, your whole testing process is suspect if you do not know the testing techniques.
Challenges
Many years ago, while still working at Ultimate Software, I attended an event on testing at the Florida International University in Miami. The legendary Cem Kaner was the speaker. Kaner has been one of the most influential thought leaders in software testing for decades. He has authored several books on the subject and is one of the most recognizable members of the context-driven school of software testing.
Kaner creates long, wordy, and ugly PowerPoint presentations as a professor. This presentation was not the exception. But the interesting part is that Kaner barely mentioned testing techniques in over a hundred slides. He mentioned them by referring to Boris Beizer's book and suggested you read it if you want to learn them.
Not as far back, in her 2013 book Explore It! about exploratory testing, Elisabeth Hendrickson writes the following:
Test design involves identifying interesting things to vary and interesting ways in which to vary them. There is already a wealth of literature on the topic, including classics like Glenford Myers’ The Art of Software Testing and Boris Beizer’s Software Testing Techniques as well as the more recent and comprehensive overview by Lee Copeland, A Practioner’s Guide to Software Test Design.
She ends that section with the following:
All these test design techniques are still relevant in exploring. The more familiar you are with test design, the better you are able to design good experiments on the fly.
I do not know if you notice the pattern, but these thought leaders seem to say that testing techniques, while helpful, are optional.
Software Testing Techniques Are Not Optional
Let me illustrate my point by sharing some data about these three books. Myers’s book was published in 1979, Beizer’s in 1983, and Copeland’s in 2004. Can you find more recent books that cover software testing techniques? Yes, you can, but none cover all the techniques. Interestingly enough, many of the most recent books are written by developers for developers or by former developers.
In my experience, most QA personnel know software testing techniques only vaguely, and even if they claim to know them, they usually do not understand them very well. For some reason, the thought leaders in the community insist that anyone can test. The truth is quite different. Many testing techniques are complicated and time-consuming.
Final Thoughts
The illusion that software testing techniques are optional is finally hitting reality. Many organizations are learning that most of their QA teams do not know what they are doing, and modern agile teams no longer have dedicated testers. While completely removing the role is not the solution, we understand why many organizations are moving in that direction. The business does not see much value in its QA team anymore.
Unless the testing community starts engaging directly with the business and faces the reality that most software testers do not know how to test, the trend of Testing without Testers will continue. It is time to accept that you should not design tests if you do not know most software testing techniques well enough. If you cannot design tests, you should not be in testing.
That is why software testing techniques are so important. They are not optional. They are Essential!
About the Author
Testaify founder and COO Rafael E. Santos is a Stevie Award winner whose decades-long career includes strategic technology and product leadership roles. Rafael's goal for Testaify is to deliver comprehensive testing through Testaify's AI-first platform, which will change testing forever. Before Testaify, Rafael held executive positions at organizations like Ultimate Software and Trimble eBuilder.
Take the Next Step
Join the waitlist to be among the first to know when you can bring Testaify into your testing process.