I’ve been in tech recruitment for more than ten years now, and I clearly remember how we slowly transitioned from recruiting manual testers, to testers with some knowledge of or interest in automated testing, to more recently only looking for testers with experience in test automation. Automation sounded almost too good to be true - capable of solving all your problems, testing all your code, getting testers the highest salaries and access to the best companies.
Around 5 years ago, though, I joined a global app testing company as a tester recruiter (the company was named, you won’t believe it, Global App Testing). And suddenly all my knowledge of (the existence of) Selenium and Cucumber, types, frameworks, techniques and buzzwords were deemed… not useful anymore, to put it nicely. All the big clients, your Facebooks and Microsofts and Virgin Medias, your Verizons, Canvas and TripAdvisors were reaching out to us in search of manual testers across the globe.
The manual testers in my network, however, were feeling as if they took a bet on a dead horse, as they kept hearing that manual testing is dying.
I’ve listened to hardcore supporters of test automation, and I’ve heard literally unbelievable manual testing scenarios my colleagues have tested. So what’s the truth? Is manual testing dying, or is it the indestructible cockroach of the SDLC?
Why do people think that manual testing has its days counted?
The current market needs some manual testing, but not as much as it used to, that we can all agree on. So roles that do exclusively manual testing will be tough to find, and remuneration will be modest. So, to carry your weight, you’ll have to bring something else to the table. What, exactly, depends on you. Maybe some programming skills, or business analysis, even project management or scrum master certifications. To be really useful to your team and company, you’ll need to know APIs, databases, and at least some automation.
Even if manual testing was not dying long ago, let’s look at the market now. Born between 1997 and 2012, Generation Z – or Gen Z – currently make up 30 percent of the world's population and are expected to account for 27 percent of the workforce by 2025. They are the first digital generation to grow up with no recollection of a world without the internet, and they will flood the market with talent who can code. Your only option is to keep up.
Another thing that affects the existence of manual testing roles on the market is that more and more companies want employees with automation skills, so more and more of their competition will be looking to have the same - kind of like the toilet paper crisis of 2020, but in coding. So whether it is really dying becomes irrelevant: if you can’t write code, you just made your job search 10x harder.
A few companies will still need some manual testing done, for example in regulated branches, but most of them won’t see a reason to hire a dedicated person, so they’ll just pop it over as code review to be done by the developers. It’s in demand to be flexible and adaptable anyway, this is one scenario in which it will be actually needed. There is a trend to not hire manual testers in general, so now you can see not only developers but POs, BAs and PMs test manually anyway.
Why do others think that manual testing can never be replaced?
Well, automation is not really testing, it's just performing automated checks to make sure regressions are detected. Manual testing is still required for confirming something meets the acceptance criteria or for exploratory testing, which is where most bugs are discovered. Do automated tests uncover bugs? Certainly (especially when testing APIs, endpoints, etc). However, it's the bugs discovered during manual testing that get turned into automated (regression) tests.
A key reason for needing manual testing is that you can only write automated scripts for scenarios you can anticipate and user flows that are exact. But users are people, and p̶e̶o̶p̶l̶e̶ ̶a̶r̶e̶ ̶s̶t̶r̶a̶n̶g̶e̶ how often can you rely on people to be exact? When it comes to usability testing, manual testing is the only one that can really simulate what it's like to be a user and giving that direct feedback to stakeholders is still very valuable. Automation should certainly cover the backlog, but the time it frees should be used on manually testing the new scenarios. Some of the best bugs are found with ad-hoc testing and questioning system behaviour from a user point of view. And through edge case coverage.
Manual testing can never die because machines can only do what can be taught to them. In automation testing we cannot cover each and every small negative scenario. Until such advanced technology comes up that can read the requirement matrix and test the whole system without human interference, we’ll have to test manually.
And there are applications that simply demand manual testing - AI cannot do it instead. Acceptance testing on enterprise systems is not really suitable for automation at the moment, for example. Testers are receiving systems on a one off basis and need to check that they match the requirements and are functionally complete. Or you can think about those applications that, like a redditor was saying, have such awful user stories that if AI can make sense in this company, it is welcome to try.
Now, if your environment happens to be immature, setting up test scenarios from start to finish can be challenging. Or if you’re working intrunk based development,which is more and more of a thing now, that can seriously make verifying automation suites hard. Or if you need to test in the IoT space: devices, Bluetooth, WiFi, wearables etc. I still have nightmares about the localization testing project where the client wanted to test 100 different models of laptops. I can’t imagine automating that one!
What’s the conclusion?
It looks like the best thing you can do for your career in testing is to learn coding, so you can ideally take on either a manual testing role, automated role, or a hybrid scenario where you can do both. A good agile tester is one that does the exploration testing manually and is also automating high level scenarios. And if you’re automating your regression testing, you’re freeing up so much time that can be used in manual exploration or different types of manual testing. In the end, manual and automated testing are not competing against each other, but complementing each other and together making you an excellent tester.
Want to learn test automation, but don’t know where to start?
Try YouTube, there are a lot of videos there that can help you build a basic automation project. If you learn the basics, any company should be willing and prepared to train you further.
Or you can start by using no-code automation tools, like GetScandium, Katalon, Testim.
And you should definitely invest in online courses from any platform with a good offering, such as Skillshare, Coursera, Pluralsight, LinkedIn Learning.
One course I warmly recommend is Tarek Roshdy’s one on Udemy, Test Automation for Beginners.
Or, if you’re not there yet, but barely starting on your way as a manual tester, take a look at the skills you can develop to become an excellent manual tester. And you can even train those skills in real scenarios, such as short testing projects on app testing platforms like TesterWork and others.
If you’re looking for your next Tech role, visit ourjobs portal today, or feel free to reach out to me for a confidential chat!