In this article, I am trying to answer some of the most common questions usually raised about automated testing.
Let me start with sharing a thought on classification of testers as manual and automation testers…
First of all, testing shouldn’t be categorized as automation and manual. One is not a replacement to another and in ideal case they should go together, as a complement to each other. Machines cannot replace the human instincts but can aid us to do things smarter.
IMHO, Testers should not be characterized by automation but by its concern with the quality of deliveries. Nowadays the trend in the industry is that those who do automation is considered as superior and rest inferior, which shouldn’t be. As I said it should be based on quality of deliveries.
1) When does automation comes into place?
Automation helps to reduce the repetitive tests(regression) and to give faster feedback which in turn saves time for QAs to perform more exploratory tests & bring more value by promoting quality across the organization. In long run, testers will be able to dedicate more time to test other areas of the application like infrastructure, configuration, security and performance, rather than just keep testing the same old feature(s) again and again.
If you are curious to read more about this, I suggest to check this article by Dennis Martinez.
But remember “Automated testing is not a silver bullet, and it won’t always save your neck“
2) Automated tests are fully performed by machines, does it mean no human interaction required?
Well, in our world if something is pre-fixed with “auto” it means done by machines 😃 Same goes for testing as well!
Everything that is done by humans is termed as manual testing & those performed by software tools and scripts as automated testing.
Meanwhile humans still play a big role in automated testing when it comes to developing testing frameworks and scripts, as well as keeping them up-to-date.
It can be testers or devs who are responsible to create, maintain & modify the tests to keep them updated. And without that “human” touch it is still incomplete, as tests only perform what we ask them to do & it can’t think by itself. Tools and scripts are used mostly for reducing repetitive tasks, to give more time to testers so that they can focus on other areas.
3) What is the point of having extensive automation in place when this can be done manually?
To answer this we should know about the main advantage of automated tests. It can release manual QA engineers from tiresome and time-consuming work such as regression tests. Scripts won’t get tired and lose focus from tedious and repetitive tasks like humans do.
Unlike manual tests that require time and effort from a responsible human(sometimes, single point of contact), automated tests can be performed by any team member at any time.
Also, automation can help us to give faster feedbacks which makes it inevitable in current infrastructure. And we can automate the bug reporting part also along with the tests. For example, in an event of failure the script can create a ticket in a bug-tracking tool and then subsequently notify the person-in-charge.
4) If all tests fully automated, then do we need to hire any QA . Aren’t automation tests enough??
Let me remind again, “Automated tests are not a silver bullet“
First and foremost, they are just scripts programmed to check some actions in a certain way, but, unlike humans, they lack improvisation. Imagine a situation where you scripted to check “two” buttons in a form and when a third button appears, it won’t report a bug by itself as it is not programmed to do so. This can lead to a false positive, where you supposed to test all three and test validated only two as programmed.
And, automation requires extensive investment and preparation to embark on. By clearly defining product/software/app functionality which will be covered by tests & also it is important to constantly keep an eye on the scripts to ensure that they stay up-to-date as the product evolves and functionality changes.
Last but not the least, not all types of tests can be automated. One good example is usability tests, because only a human can understand/define how comfortable an application is to use.
With these let me conclude, please don’t think automated testing will solve all the problems. A well-blended mix of manual & automated tests has the capability of doing so.
When the human intellect joins the speed of automation, it becomes a dynamic duo
I hope that this article helps you to contemplate answers to some of the buzzing questions, at least acts as a catalyst that sparks a change!