Keep calm and carry on—manual testing is not dying

About every three months I see an article asking whether manual testing is dying. It's always written with a touch of panic designed to trigger fear in manual testers. It doesn't help that many companies treat automation like it's the next big thing, or that they plan on 100% automation, which would indeed phase out manual testing.

But is it wise for a company to go in that direction? And is it wise for testers to start giving up their craft as an act of self-preservation? The answer to both questions is no. 

Here's why, and how testers can adapt and provide a huge amount of value even as some testing activities do become automated.

Gartner Magic Quadrant for Software Test Automation 2017

Fearful testers can make mistakes

The constant threat of manual testing being completely replaced by automation affects how testers perform their jobs, can sometimes prevent them from taking calculated risks in career growth, and puts them in a position of fear. Fearful people in a testing role might make decisions that affect the quality of software in a negative way. When companies start down the path toward 100% automation, that fear is a thing they'll have to deal with.

But full automation causes another problem, which is the tremendous cost of maintaining all of those automated tests. Every line of code must be maintained by someone, and test automation code is no exception. And having such a heavy concentration on automation takes the focus off the product. You spend more time feeding the automation hydra, which takes people, time, and resources away from writing code that generates revenue for the company.

Automation is meant to reinforce people, not replace them. While the repeatable part of software testing can be automated, this is really a small sliver of all that's involved in the testing craft. Many organizations have forgotten this.

Automation's job is to free up humans from menial, repetitive tasks so they can focus on what they excel at, which is creative and critical thinking. Done properly, automation and manual testing efforts should be symbiotic.

The best examples I've seen—where automation gets a huge return on investment—is where test engineers automate just enough to tell people what part of the system needs to be investigated. I call this "tripwire testing," and it's the smallest number of automated tests needed to alert humans as to where to dig into the system to find critical bugs.

Strategy as a service

Testers have a tremendous edge over everyone else on the development team in that they can identify weak spots in the system and know methods for detecting different kinds of bugs. Focus is a great thing, but team members who are heads-down focused on their part of the system can lose the overall global view of the results of that work.

Testers who understand the flow of data through the system can help enlighten their teammates as to how best to bulletproof their code, as well as help them be aware of upstream and downstream dependencies. Couple this with tripwire testing, and testers can identify the best tests to automate instead of having the team automate every possible test.

That's where strategy comes in. You can treat testing as a service provided to the team, to make sure that your team is building things correctly— and building the correct things. As testers, sometimes you need to ask, "Is this really what the customer wants?" 

Other questions include "How will this code interact with other systems?" and "Are we introducing a certain kind of bug that will cause problems later?" These aren't things the rest of the team will think of, and asking and addressing these issues in early stages of development can save thousands of dollars and hours of time.

Strategy at this level will make quality assurance look less like just another department and more like a hub that has attachments to every other department. Powerful testers know how to interface with developers, business analysts, project managers, test automators, and even higher layers of management.

There is a lot of knowledge within the mind of a tester that can do amazing things for a team, department, or whole company.

Where do we go from here?

Manual testing isn't dying, but it is evolving. We have seen, and will continue to see, a shift toward more social-based and exploratory testing. That translates into less working on your own and more working in groups, as well as fewer repeatable test cases and more testing in uncharted territory. Both of these shifts will increase software quality tremendously.

We'll also see more testers stepping up not as quality assurance (QA) professionals but as quality advocates. They will help guide the processes of creating new automated tests by keeping business needs and realism in mind, while also helping other team members think of a product's quality holistically.

As testers, this is a great time to hone your self-marketing skills. Whether you're an employee or a consultant, it's important to be able to sell the need for testing—either the need for it in general or the need for certain kinds of it.

It's important to know the right tests to automate, and testers have the kind of visibility to gauge the best candidates for that. Although a team can certainly automate every permutation of data, testers know which ones would provide the most value. This cuts down on automation run time and maintenance and increases the return on investment on automation.

Testers still needed

So don't despair and give up your craft. If, as a tester, you see automation encroaching into your space, that's OK. Sometimes I feel it too. And as an automator myself, I've seen many examples of automation done wrong.

While automation does eliminate part of the job, it can free you to do some incredibly interesting and valuable things. And whether those on the cutting edge believe it or not, the skills testers bring are crucial to software quality.

We still very much need the strategy, the critical thinking, and, frankly, the human-ness of testers for us to continue shipping and increasing the quality of software.

Gartner Magic Quadrant for Software Test Automation 2017

Image: Flickr

Topics: Quality