Myths of Test Automation

It’s possible to achieve 100% automation

As 100% manual testing of an application is not possible in the same way 100% automation of any application is also not possible. Automation can increase test coverage by using more test data, test configurations, covering various operating systems, browsers, and mobile devices but still achieving 100% automation is not possible.

Everyone wants to automate as much as possible but the idea to automate 100% always misleads higher management and team, as said above, not everything is automatable and in some case, unnecessary automation may add high cost and effort, which will increase the actual cost and fast feedback benefits of test automation.

Instead of 100% automation we should strive for:

  • Covering most critical features via automation
  • Derive your automation test case covering most critical path, keeping reusability in mind
  • What to automate and what not is most critical decision so select regression test wisely

Test automation will replace manual testers

Practically neither manual or automation testing can replace each other, both have their own area which can’t be taken by another one. Manual testing is better for tests that require human observation, UI test, exploratory tests, and usability testing while automation is usually best for repeated, data-intensive or tests that need to be frequently run, such as regression tests.

Automation allows to reduce the cost of manual testing but only to a certain extent by automating data intensive and repetitive task but automation requires ongoing maintenance and a well-thought approach.

Manual testing requires skills like knowledge, experience, analytical/logical skills, creativity, accessing system usability and natural human intuition. These features can’t be replicated by any automation and hence replacing automating by manual is simply not possible.

Developers are best for automation

Developers possesses good programming and coding knowledge, they know most of the modern design patterns and coding architecture, but automating an application is not only limited to development activity its more into understanding the application, applying testing methods and having a tester’s mindset and hence it’s been observed that developers are not always good automation testers.

Developers do not take automation as full time job and on the same time testers love to upgrade their skills which eventually converts to a motivation factor and so chance of success are high

Although automation testers are not very good coders but still company can invest on their automation resource to get them well versed with coding practices and patterns.

Now a days, codeless UI automation is trending and here automation tester plays better role then developer as testers can focus on learning and implementing test with new tool and developer can focus on coding actual application

Automated testing is better than manual

Automation testing is verification process of defined rules in script where as manual testing consist of both verification as well as validation, manual testing take care or more than just verification example, look and feel, Usability, ease of access etc.

Manual testing plays vital role in initial phase of development where test automation can not be achieved due to partial implementation. In some cases, where hot fixes need to be made, manual testing plays critical role as automation can not be achieved in short span of time.

In this modern lean agile era where requirements are changing frequently it’s very hard to match automation for all requirements and manual testing plays very crucial role in these situations.

It’s really not worth to compare manual testing with automation testing as they both have there own role in achieving quality. Instead of comparing, we should think to combine both Automation and Manual testing in such a way that high quality product can be achieved with low cost of testing in less time.

All automated test should pass always

Automation test are meant to show the present state of the build/application and it is imperative that some time there will be test failure due to various reasons, at times there will be false positive and false negative.

We should always strive for 100% accurate result (which includes test pass and test failed ) instead of 100% pass result.

Test automation is a kind of development activity where there can be bug in test automation script itself which may lead to false positive and false negative results, having said that we should always follow same development practice when we create test scripts i.e.

Analyze -> Develop -> Test -> Release

In case if test fails then tester should take below action based on analysis :

  • Check if it is known issue, let the test run but tag it to Ignore to save time on next analysis
  • If it is script issue then fix the automation script and rerun it multiple time before rerunning it next time
  • Check test logs for failures to get the exact reason, if it is application issue log a bug
  • If it is not application bug then rerun test again to check the if it is intermittent issue due to network or environment- if yes report it to DevOps team

There is always high return of investment in Test automation

Test automation is process, which starts with Developing- Testing and Executing the test case, bit this is just start it has other aspects too, for example: having dedicated test environment, maintaining the test scripts and operating test automation, these all activities in combination take time and also huge investment.

Due to above mention reasons, test automation take large investment initially and later it comes down to a steady state in long run, below diagram depicts the same

Return of investment has many aspects like:

  • Reducing Time to Production (through Continuous Integration & Continuous Delivery)
  • Increased Test Efficiency (Productivity)
  • Increased Test Effectiveness
  • Increase in test accuracy
  • Last but not least releasing the workload on the manual team

Each project requires different types of automation – there is often no easy formula available to calculate ROI

Leave a Reply

Your email address will not be published. Required fields are marked *