Explore the insights shared by our visionary CEO, Mr. Aseem Bakshi

CEO's Desk

Automated software testing is a technique which makes use of software scripts to simulate the end user and execute the tests, thus significantly accelerating the testing process. It has marked benefits in terms of accuracy, dependability, enhanced test coverage, time and effort saving. Automation aids in reducing the duration of release cycles, albeit at a price. Initial cost of setting up an automated process for testing acts as a deterrent to many cost conscious organizations. However, it does prove beneficial in the long term, especially with CI/CD. Hence, it is important to follow certain best practices and avoid common mistakes while automating the testing process. 

Following table gives a quick overview of what to do and what not to do while planning test automation. These points are further elaborated in entailing paragraphs.

Do’sDon’ts
Right Team & ToolsAutomate everything
Application knowledgeAutomate from day one
Right test casesSolely rely on automation tools
Short & independent test scenariosIgnore FALSE failures
Prioritize test automationIgnore Scalability 
Records of manual vs automation test casesIgnore performance testing 
Test data managementDelay updating modified test cases
Test case managementUse multiple automation platform

What to do for successful Automation Testing

  • Choose the team and tools prudently

It is vital to have the right set of people working on the right tools to reap the maximum benefits from test automation.

  • Good knowledge of application being tested
    Team selection and testing tool selection will be dependent on the kind of application being tested. Having in-depth knowledge of application will help in making right choices in terms of human, hardware and software resources.
  • Choose the tests to be automated wisely

Prioritize the tests that need to be automated. Not all of them can be automated due to certain constraints. Due diligence must be performed in order to identify and earmark right tests for automation. For example, regression tests are executed more frequently, so they should be on top of the automation list.

  • Short and independent test scenarios
    Break the whole flow in smaller and manageable testable units. This ensures that the failure of one test case does not stop the whole process, and the failure can be handled and rectified independently. 
  • Prioritize test automation
    Attach priorities to the tests that need to be automated in order to ensure that all the critical areas are covered, and time and resources are not directed towards insignificant tests. 
  • Record keeping of test conversion from manual to automation

  It is a good practice to have detailed records of the process of automating the manual test. This is extremely helpful for future references.

  • Test data management
    Generate good quality test data sets for testing multiple scenarios. It is also important to have a policy in place for managing the test data to avoid issues arising due to data corruption or data atomic constraints.
    Generate good quality test data sets for testing multiple scenarios. It is also important to have a policy in place for managing the test data to avoid issues arising due to data corruption or data atomic constraints.
  • Test case management and maintenance
    Have a good test case management and maintenance process in place. Changes in requirements, third party tools or test environment directly impacts the test cases. Keeping pace with the changes is vital for successful test automation.

What to avoid during Automation Testing

  • Don’t automate everything

Test automation comes at a price and it is natural for the stakeholders to be concerned about the ROI involved. Automation aids the testing team in channelizing the efforts and time involved in repetitive tasks to other work areas. Some tests are better done manually. So, it is always better to choose the tests which can be automated and which can be left for manual testing to have the best of both strategies. Also, avoid automating unstable feature tests. In case you wish to delve deeper to address the dilemma of whether to automate or not, then read our blog “To automate or not to automate

  • Don’t automate from day one
    Consider the fact that every software project takes time for the requirements to evolve as a stable design and final product. Current requirements may change or new features may be added at any point of time. It is important to carefully choose when to automate a particular test. Ideally, it should be done when the manual tests have stabilised, which is directly linked to requirements being frozen. The tests should be carefully planned, written and stabilized before rolling out for the final automation process.
  • Don’t rely solely on automation tools
    Automation tool adds extra dimension to testing by making repetitive and complex tasks easier. But skilled resources are still needed to manage them. Also, there are certain tests which cannot be automated and need human intervention for execution
  • Keep track of FALSE failures
    False failures are one of the major challenges in automation testing. It not only undermines the value of automation, introduces a tremendous amount of effort to triage the failures but also causes loss of trust and confidence in automation. False failures can range from 0% to 100% of the Fails that are seen in an automation execution result. Click here to read in detail about False Failures.Webomates has developed the AI Defect Predictor to overcome the challenges posed by False Fail’s in automation. If you are interested in learning more about our AI Defect Predictor and Webomates CQ please click here and schedule a demo or reach out to us at info@webomates.com
  • Non scalable automation platforms
    Scalability is an important factor to consider while automating. Hence, it is vital to opt for tools that can seamlessly run tests from multiple machines. Setting up a local environment for test automation system is a blunder that people tend to make. The problem is that a local deployment does not scale. The automation setup should be able to add users/nodes for testing at any point of time without changing the automation script, thereby providing a synergistic test automation environment.
  • Ignore Performance testing
    Performance testing is one of the key aspects to consider while defining testing strategies for any software. It has become an integral part of the testing process and automation can become more efficient if performance testing is conducted in tandem with other tests. Webomates CQ provides the ability to convert any test case to a scale test by selecting a set of test cases and with no code writing. Just follow the simple steps of selecting the test cases, the number of simultaneous users and the execution time. This makes it trivial to add performance testing to regression testing.
  • Delay updating modified test cases
    The bane of automation is the fact that test cases change whenever new features are introduced or bugs are fixed. 90% of the effort in automation testing comes after the test case are initially created since they have to be constantly updated to be in sync with the changes. With agile teams, the rate of test cases modification is extremely high. Any delay in updating the test cases in automation regression suites will decrease the value of the regression test.
  • Use Multiple Automation Platforms  

It’s very common that in organization different groups and sometimes within the same team use multiple different automation platforms. Sometimes even raw scripts are used as part of regressions. This creates a maintenance nightmare as the test cases continue to change due to new feature releases and synchronizing between various platforms becomes a daunting task.

 Conclusion

Automation is a great regression technique if the organizations have a development and testing process keeping in mind the above mentioned points.

Webomates provides services and AI tool that uses the available test cases and generate the Automation script using its AI modeler engine. This tool also reduces the human effort of writing or maintaining the Automation suite by more than 50%.

CIO applications, a leading technology magazine recognized Webomates as a Top 10 Automation Testing Providers 2019.

If you are interested in learning more about the services offered by Webomates then please click here and schedule a demo, or reach out to us at info@webomates.com. You can also avail a free trial by clicking here.

Spread the love

Tags: ,

1 reply on “Do’s and Don’ts of Automation Testing”

Leave a Reply

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

AT&T's Success Formula: Download Our Whitepaper Now!


Search By Category

Test Smarter, Not Harder: Get Your Free Trial Today!

Start Free Trial