A manual QA, done with lots of practice and experience raises the bar for the quality improvement of products, which is a very desirable outcome. Nowadays, many of the products/projects require multiple deployments of new features in a single day (or within a few days), which might cause problems for some of the old features. In such cases, it is possible to do some sort of a manual impact analysis and verify the old features.

However, there are certain cases where manual testing will not suffice:

  • As the product size grows, the number of impacted areas per new feature also increases. So we have more things to test.

  • Individuals tend to lose interest by re-iterating this monotonous activity, creating higher chances of error.

  • Manual testing on multiple platforms is time consuming. Repeated communications between the dev and QA teams also takes time. This highly increases the "time to market", which is not a good news for business.

  • A human being can't work 24*7, but a machine and a code can.

  • There can be more/less problem depending on product's nature

 

An easy solution could be adding more bandwidth or giving more time to verify new features along with the old ones. But, "time to market" plays an important role. We are currently living in a "business driven development" world. A delay in the bringing new features to market can cause huge losses for business.

So, our solution to this problem is "verify quickly" which improves "time to market". This can be achieved effectively by using automation at the different levels of testing and in different ways.

Here are the benefits of doing automation:

  • Dev team gets to know about issues quickly

  • Issues can be quickly re-tested across platforms.

  • Executing repetitive tasks with automated software testing gives your team time to spend on more challenging and rewarding projects.

  • Team members improve their skill sets and confidence and, in turn, pass those gains on to their projects and organization

  • Test cases can be run on multiple platforms and browsers simultaneously to save time and to improve accuracy.

  • Code learning for QA people gives them a great insight into project code as well, which in turn leads to identifying some performance critical bugs which people can not observe through UIs.

  • Continuous Integration helps the teams to run the critical set of test case automatically whenever a new code is pushed.

  • Most of the automation tools come with neat and clean reports which can be sent automatically to the team.

Despite all this, human quality analysis still plays the most important role in maintaining the core quality of the product. The quality of automation scripts is also totally dependent on human beings who are developing these scripts. An automation script just does the work which is coded in scripts. It has no intelligence beyond those written checks. Human beings are the ones who are smart enough to go beyond these scripted boundaries and can contribute a lot to the quality of the product. So, their time is important. 

And to save their time automation is important.