Manual Testing will Never DIE

MunnaPraWiN
Tilicho Labs
Published in
6 min readFeb 7, 2020

Life of a Software Tester is not easy one. Its full of Up´s & Down´s. With entry of many automation tools, it´s becoming more tough. Everyday i keep hearing that “Manual Testing is no more and manual testers are going to be replaced with Automation tools”. There’s a lot of talk that automated testing is replacing manual testing.

I agree the recent decade has witnessed an enormous shift in the Software Engineering and Software testing practices from manual to automated in most of the areas. With the advent of AI, machine learning and the rise of different automation tools, some people think, manual testing will get completely wiped-off by automation.

MYTH: Automation can completely wipe off the need for manual expertise.

REALITY: The common myth is that technicians believe this shift to be applicable ubiquitously, but this is not the reality. Automation can never ever substitute manual methods to the fullest extent. There are always certain critical areas which require manual expertise or supervision. Both the methods come along with their pros and cons so selection of the right method depends upon the size and type of software to be tested.

The truth is, manual testing hasn’t gone away. It never will, and here’s why Manual Testing Won’t Replace Automated Testing

Usability testing can’t be automated.

Automating usability tests is just not possible. Usability testing requires a human. You can’t train a computer to identify “good” usability vs “bad” usability. Perhaps you’re thinking, “ok, we will just skip usability testing”. Don’t make that mistake. By skipping usability testing, you’re introducing a tremendous amount of risk. This step in the QA process is crucial to ensure confidence in the release, and there’s no way around involving a human being in usability testing.

Automated testing only tests what is predictable.

Automated tests reassure us that what we expect to happen does in fact happen. We call this the “happy path”. Automation focuses on functionality that already exists. Its coverage is vast, but it is not deep. Automated testing is great for regression tests, especially when resources are limited. But only doing automated testing is sure to introduce some failures and holes in your testing process.

Technical limitations can come into play.

Some test scenarios are just too complicated or downright impossible to automate. A common argument is “automated testing is cheaper”. But it’s not hard to spend a ton of time and money on elaborate automation. Take for example, testing a variety of touch screen devices. How do you automate the experience of a “tap” and a “swipe”. You can’t do that in a way that is equivalent to human usage.

We’re all exploratory testers.

The truth is, we all do software testing. Even if you don’t have “tester” or “qa” in your title, chances are you’ve partaken in some exploratory testing. This “choose your own path” type of testing is not possible with automation. Exploratory testing allows us to take areas of our application and peel back the layers to uncover things automated tests will never find. It enables us to ask questions like “what if I do it this way instead?”. Exploratory testing is a manual process, and there’s no changing that.

Automated tests can contain bugs/errors.

Just like your application’s code can contain bugs, automated tests can too. If you write automated tests with bugs, you’re going to have false positives. This can lead to major problems for your customers and your team. The human element of manual testing can identify these errors and make sure you’re testing properly.

Where Manual Testing can’t be replaced:

Here are a few points where Manual Testing can’t be substituted by automation:

  • Good for small projects: The initial cost of installation of automated testing system is considerably high as compared to traditional methods of manual testing. So incurring huge installation costs for small projects is a waste of money, hence manual testing stands more useful in that case.
  • Standing in the shoes of users: A man can better understand another man. Expert manual testers put themselves in the shoes of users and then analyze the software according to their needs and demands, which results in higher UX. This is not possible in the case of automated testing where all software is tested in a standardized format.
  • Going into minute details: Automation works on fixed predetermined procedures of testing which can not be customized. Though the results are quicker but minute defects may get ignored. So manual testing is mandatory to wipe off tiny worms that may be neglected during automation.
  • Personalized application of techniques: Not all software need to be tested in the same manner or through the same technique. Every organization requires personalized application if testing techniques according to the type and size of software. So expertise of software testers is mandatory where there are regular changes in software requirements.
  • Can be used on all types of software or applications: There are a few restrictions as to the applications of automated testing techniques but manual testing techniques can be modified to test any and every kind of software.
  • High maintenance cost of automation: Automation may fall out of the budget of some of the small organisation. They must prefer manual testing to escape high expenses or maintenance cost of automated methods.

Where Manual Testing should be replaced:

Here are a few points where manual testing falls short of requirements of ideal testing, so these points preferably need substitution by automated techniques

  • For repetitive steps: There are certain steps in the testing process that are repetitive and do not necessarily require manual expertise or supervision. Just give a command once, and you are good to go. So automation should be adopted to save time and effort in such cases.
  • Saving Time: You do not need to reframe the testing parameters every time you check a part or whole of a software. The mechanisms are reusable, hence they save time and reduce the chances of any delay in releasing of the software due to testing processes.
  • Reducing Human Errors: Artificial intelligence is more powerful than human intelligence, so it prevents any human errors in the testing of software, hence making it a more reliable method.
  • More accuracy: This is an implication of the above point. Reduced human errors in testing means greater accuracy in testing reports and efficient analysis.
  • Works on complicated coding: Automated methods are designed to work on all kinds of coding and programs, including complicated ones. Manual methods may prove to be less useful when coding is complicated or new to the testers.

Manual Testing will be forever:

Manual Testing is indispensable part of ensuring a high quality software. On the other hand, Automation Tests help you cut down the release cycle time. But usability & human behavior cannot be automated. Manual Testing is the input to Automation scripts. You cannot automate everything. Cut the crap! Whatever be the debate but still Manual testers are finding it hard to stay relevant in today’s job market. Why?

Manual Testing vs. Manual Testers

Manual Testing & Manual Testers are two separate entities. The growing debate is more about the future of Manual testing than Manual testers. Manual Testing is a technology, a technique and a method to ensure software quality whereas Manual Testers are the actual human beings designing & executing manual tests. I agree with the fact that — ‘Manual Testing is NOT dead’, and it never will. But what about Manual Testers? I know it might sound strange at first but if you think it through — it’s a valid argument…Just think about it, because its important for your survival.

Conclusion:

Both of the methods have their own merits and demerits and they can never be a substitute for each other to the fullest extent. Manual testing helps us understand the entire problem and explore other angles of tests with flexibility. Automated testing helps save time in the long run by accomplishing a large number of surface level tests in a short time. It is undoubtedly true that most of the leading testing agencies or expert testers are adopting automation in many spheres but still MANUAL TESTING CAN NEVER DIE COMPLETELY due to its certain advantages mentioned above. It’s up to you to determine when and where each method of testing is used.

References: Hackernoon & Testlodge

--

--