Manual Testing is not dead, All Hail Manual Testing
There are those that say manual testing is dead. The truth is a bit more complicated. Read on for more.
In 1897 legendary American Satirist Mark Twain was reported to have died. He was, in fact, in good health. When asked to comment on the printing of his obituary despite still being among the living Twain answered that “The report of my death was an exaggeration.”
Every so often in the world of Manual Testing, we see a report that says that this time Manual Testing is dead. Or at least on life support. These articles are always written with a fair amount of dread hoping to ensnare the poor fearful manual testers.
Many enterprises are hanging their hats on test automation. “It is the next big thing,” they say. Is it? Test automation has been around for 20+ years. “We are going to aim for 100% automation”. Are you? We know that to be next to impossible. If true however it would put a bunch of manual testers out of work. The truth is that it is both unwise for a company to shoot for 100% automation, as well as unwise for a manual tester to give up their craft.
In the world of DevOps, test automation is necessary when hunting for bugs in your web and mobile apps. At the same time, manual testing is still an important piece of your web and mobile app testing strategy. It helps QA team members to better discover errors, and in the end, many automated tests are developed from manual testing efforts.
Manual or automation
QA Testers want to replicate exactly the ways that users interact with their apps. That is not immediately possible with automated testing alone. That is why a solid web and mobile testing strategy employs different testing methods. The result is that all app requirements are met.
Let’s break it down a bit further.
- Test Automation – Better for testing routine and repetitive scenarios that are too tedious and time-consuming for manual testing.
- Manual Testing – Works best for scenarios where automated testing cannot replicate the exact ways that a human interacts with the app.
Interestingly enough there are some forms of testing that QA teams can only perform manually. Additionally, setting up an automated testing project, and analyzing the results requires human interaction anyway.
It seems almost unfair then that in the face of automated testing manual testing is considered obsolete. Sure there are benefits to both forms but let’s take a deeper look at why manual testing is still here to stay.
Some testing has to be done manually
The need is to deliver a great UX and that could be reason enough to prove why manual testing is still essential. Human interaction is still the most effective way to test functionality. There are different cases where a scenario is not automatable. Sometimes there are technological limitations, sometimes a feature is too complex. Another possibility is that the cost of automation far outweighs the cost of manually testing the app.
You can automate your smoke testing but you are better served leaving that for the manual team. It is faster to quickly poke around in the app and see if it is truly ready for the next testing stage. Writing scripts for such a program will take far more time and the test scripts won’t be reusable long term anyway.
Power to the people
Automated testing takes repetitive tests and busies itself with them while freeing up the rest of the team to execute manual testing as well. If you are testing UX and usability then manual testing is as necessary as ever. Testers manually testing UX use their intuition and instincts to pick up on any functionality that is not working properly or that needs to be made more efficient. When finding these inadequate user paths testers should communicate with the developers to discuss potential changes.
UX testing empowers even more than the teams involved in creating and testing the app. The best manual Usability testing comes from people not connected to the individual build. That way they can interact with the app without any prior knowledge. If there are issues these are the people that will find them.
It goes with your users as well. Hopefully, they report the bugs that they find, and when they do your manual testers can reproduce the bugs immediately. Then they submit a bug report and the process continues.
Looking for bugs in all the wrong places
When we test specific use cases we find that our QA teams often find bugs that they weren’t looking for. I cannot stress enough how important that is. In some cases, the majority of bugs on a given build are found by testers. The only thing an automated test can find is that which it was programmed to find.
Exploratory testing is based on a human approach to finding issues with usability. Even more than that, manual testers are not restricted. They are given the freedom to interact with spontaneity and initiative and to explore areas not covered by automated testing. It takes a dash of common sense to feel when something is off, and that is the human interaction that makes manual and testing at large more effective.
The price of automation
With an automated testing project, you have to pay for the tools you use and on top of that, there are costs related to maintenance and management. Set up and processing times also play into this. For major products and long-term projects of course these costs are worth the investment. In these projects, automated scripts are a benefit as they provide repetitive testing.
For smaller projects, manual testing will save both time and money. While an automated test is running it gives testers and QA the ability to focus their attention elsewhere. However when running automated testing suites sometimes when there are bugs in the tests themselves problems are solved through tried and true manual testing.
Additionally towards the end of a test cycle when time is of the essence using manual testing will show the full potential of your testing. We highly suggest that you manually sweep and check your apps are part of the setup before running automated testing. You will find any last-minute bugs or flaws that were omitted from your automated testing scripts.
As we have discussed in several blogs before. When a user has difficulties using devices or accessing websites you must provide them with that service.
Accessibility testing shows which specific improvements will make your web or mobile app easier to use for differently-abled customers.
One way to ensure this is to add a layer of accessibility testing to your process. In this type of testing human interaction is best because it requires making value judgments. You can also get valuable input from focus groups of differently-abled people.
Important manual testing use cases
As we have seen above manual testing is still important in cases where automated testing is not feasible. So even though automated testing is flashier and gets all the attention manual testing is still relevant to the SDLC.
Some of the use cases that manual helps with over automated scripts are related to:
Logging off and on to WiFi, running multiple apps simultaneously, and device permissions. Let’s take a look at a few more use cases.
- Bug Replication – Testers can simply read a bug report, grab a device, and replicate it. No need to set up frameworks, requirements, or scenarios.
- Device compatibility – If you are having issues with a specific device/OS combination then manually test that in real-time.
- UI/UX Interactions – By manually testing these scenarios you will understand how real users interact with your app and catch more bugs.
- Standby Mode – Test this manually to ensure that standby mode does not adversely affect your app in cases of network drop, or lack of sync.
- Device Permissions – These are usually tested manually when QA teams figure that the permissions are not going to be used much.
- App connectivity – Test manually against real network environments.
- Gestures – This must be tested manually so that you can see if there are any navigation issues.
- Performance Testing – Test app behavior when interacting with other apps, manually.
Manual Testing lives on
Your web and mobile app testing should include both automated and manual testing methods. Now, what % you automate versus perform manually depends on the app being tested. Use manual testing for making value judgments on bugs, flaws, and errors. On the other end, automated testing frees up testers from the boring aspects of testing.
Manual testing cannot be replaced when testing UI interactions, bug replications, and performance. More than that, you can test accessibility and gestures better than any other way.
The best part of all of this is that with Digital.ai Continuous Testing you can execute this type of manual testing against hundreds of devices in the cloud. Check out or webinar and discover how important testing in the cloud is in 2021.