“They are coming to take our jobs!”, those were the words echoing through the office hallways. You could hear the footsteps of automation coming, all of the manual QAs went into hiding as they were anxiously awaiting their fate. :) OK, now that I got my novel itch out, let's get serious. Although automation is and can be really helpful, and we at Povio welcome it with open arms, let me still give some of my thoughts, as to why automation QA will never fully replace manual QA.
It is true that the rise of automation has prompted a surge in individuals acquiring automation skills. However, it is crucial to acknowledge that not everyone should transition to automation. Amidst the automation fever, the necessity for a substantial manual QA workforce persists. At Povio, we recognize that while automation brings efficiency, therefore, despite the evolving landscape of QA, a harmonious integration of both manual and automated testing is indispensable for comprehensive and effective quality assurance practices.
Now as I said before, don't get me wrong, I still think automation QA is a must, even “we”, the manual QAs use it on Povio projects, as it has a lot of great things for it. The most important of course is that it cuts down testing time, and is especially helpful will repetitive testing cases. There are several factors that come into play when thinking about why we need manual QAs and I will list the ones I think are the most important below.
It is very hard to get an automation tool to just do some random exploratory testing and go through flows completely randomly. Also with exploratory testing, testers apart from testing the application are simultaneously also learning about it and designing test cases for it. In this type of testing we rely on the testers knowledge, skills, intuition to discover defects, unexpected behavior.
Edge case testing
Finding and identifying edge cases is more often easier to find with manual testing, as we humans don't often follow a certain path that is pre-defined with an automation framework. Here human intuition is a very important factor.
In many industries such as automotive, or in the health industry, manual testing is often necessary to ensure that the software complies with the different standards and regulations. Manual testing also allows for quick adaptability to changes, these can be different regulations etc., and with that testers can ensure that the software remains in compliance even as different regulations evolve.
With smaller to medium size projects budgets are always not an issue but a thing to keep an eye on. Especially in the beginning of the project, where things are constantly changing, new features are being added, frequent requirements changes, etc., the cost and time in creating and maintaining automated tests may outweigh the benefits. In these kinds of projects it is best to slowly bring automation in and automate flows that have been the same for a longer period of time or have not been changed for a while, like Signup/Login flow, etc.
In summary, it is imperative to recognize the merits of automation testing, however, it is crucial to underscore the irreplaceable value role of manual testing, especially for certain aspects like, exploratory testing, compliance, addressing the cost-effectiveness in the intiale stages of projects (Proof of concept, MVPs, projects with major main feature being changed) in specific project phases and project sizes. Automation testing is incorporated into the testing process once the project and product attain a level of stability conducive to production. During the initial phases we always first use manual testing, which subsequently transitions its focus to edge case testing, exploratory testing, new feature testing and overall project improvements.