< Return to Feed
Keylin Price - 03.12.2018

When to Implement Automation Testing

In the world of QA in a development lifecycle, automation testing is a powerful tool for executing tests in a predictable environment. Static, repeatable tests are perfect candidates for automation, and will usually help to eliminate human error. While automation testing has many benefits, it is essential to know when it's feasible and cost-effective to do so. With Automation, you must first assess the factors of Time, Application Complexity, Skills of QA Personnel, Cost, and Best Practices.


When is automation testing a good idea? In QA, there are many testing procedures and types of software testing. Automation is a great fit for the following types: regression testing, smoke testing, repetitive tests, data-driven testing, load & performance testing.


Here at Sagepath I was fortunate enough to have the opportunity to dive into creating automation scripts for a regression test set on one of our maintenance projects which ultimately freed up three hours in our testing environments: test, staging and production. After researching the best automation tool for our particular project, we landed on Selenium Webdriver using the NUnit Framework. We chose this framework after considering the following factors:

 

Time to Learn:

1 month

Application Complexity:

Mid-Level, Static html, with not too many changing html properties and IDs

Skills of QA Personnel:

Junior level, provided with much documentation and a dedicated developer resource

Cost:

 Free

Best Practices:

Industry Standard, ease of use, documentation, maintenance

 

While our initial cost in time was high due to needing to train QA personnel in utilizing this tool, the time savings were well worth it after only a few weeks. Through automation, many repetitive tasks like checking static HTML elements were automated. These tests were completed in fractions of a second, leading to a faster QA cycle. Monotony oftentimes leads to mistakes, so automation helped reduce QA-level errors present on our environments, meaning fewer errors were left uncaught, increasing the overall efficiency of our deployment lifecycle.



While automation testing can improve efficiency, you will need a dedicated individual or team responsible for generating test scripts, depending on the size of your project. Also, writing automation tests for complex, dynamic environments may end up requiring more development time each month than by simply utilizing a human QA tester. By balancing out the costs and benefits of automation, we were able to increase the efficiency of our QA process.


As developers at Sagepath, we are always leveraging new technologies to ensure we’re working as accurately and efficiently as possible for our clients. Check back regularly for more reports on emerging tools and technologies we’re evaluating for use in the digital workspace.