Test automation is one essential component of testing. It allows for tackling repetitive tasks, aims to reduce human errors, and catches bugs faster- all for the benefit of better software products. As more DevOps QA teams aspire towards modern testing cycles, this presents automation challenges. In this article, we will discuss the top automation challenges testers face plus solutions to overcome them.
“One of the greatest automation challenges in testing is choosing the right tools. Yet it is a necessary search, integration, and deployment endeavor.”
In order for test automation to work properly, there must be a constant open dialog between all stakeholders. Effective communication is the key to any successful relationship.
This includes everyone in the pipeline- from product managers to project managers, through developers and even manual testers. Each team role must be on the same page regarding testing objectives.
We have noticed in stats, test automation is not cheap- yet it is effective. Most companies allocate between 10%-49% of their overall QA budgets towards test automation expenditures. This same study shows that the more employees a firm has in their DevOps department, the more likely they are to spend the majority of their QA budget on test automation efforts. Therefore, being honest and establishing open communication with stakeholders regarding the cost benefits of investing in solving automation challenges is a must.
Takuya Suemura is one of our resident QA engineers, and as he describes to me, some of his greatest automation challenges are avoiding dependencies. Be it, dependencies on specific test levels (e.g. E2E testing) or depending on a specific person (e.g. QA/SET.)
As a QA engineer, it is important to avoid issues that may come with End-to-End testing; such as the time-consuming nature of the practice as well as the instability of tests from outside variables. Since E2E tests simulate testing from the user’s perspective and also test the entire system from beginning to end- it can be the most time-consuming portion. And when you attribute other factors, it can add more time to testing. For example, if an application uses a 3rd party API and it is running slow (or timing out)- it can complicate testing timelines.
A few tips to reduce time here is to avoid duplication. For example, if we are testing an application that requires a login, avoid testing the log in each time if we proved that the module is working properly. Another tip is to code tests for best reusability to reduce maintenance burdens later. Lastly, ensuring longevity in your codebase is paramount as the application test suite grows.
If your in-house team is using Selenium — which most teams do — then you have to tackle the steep learning curve and maintenance challenges with the tool. This is because Selenium requires coding skills in every aspect- from test scriptwriting to test maintenance.
Once upon a time, simple record-and-playback testing tools caused more issues than solutions remedied. Thus there was a shift towards software developers in test (or SDETs) as a viable solution. In time, the challenge of finding skilled resources rose sharply and the talent pool became scarce. To further complicate the matter, automation test engineers would find most of their time would not be best attributed to their craft- but to tasks that can be delegated to non-engineering testers.
Luckily, the industry has evolved and solved many of the problems with record-and-playback testing tools. There are many tools available capable of test automation without writing a sentence of code. However, the superior codeless platforms utilize artificial intelligence to learn of changes that humans may miss.
Now that you have an open line of communication, avoided dependencies in the pipeline, and you’ve eliminated the resource barrier- how do you approach test automation? What portion do you automate? There is no singular answer. Instead, we will expose you to several types of approaches.
The approach our client take is to “start small at first.” Then increase the amount and type of automated tasks. In an interview with QA test leads at DeNA revealed they were able to migrate an overwhelming amount of daily manual tests towards automation. After one month of using Autify, they were able to reduce workload by about 10%. Or one can look at it as an opportunity to increase productivity 10% in other areas.
There are two other approach practices to evaluate if the aforementioned does not fit your firm’s culture: risk-based testing and the test automation pyramid. (See the diagram above.)
Risk-based testing prioritizes testing elements that have the greatest negative consequences if a failure occurs. Such as those attached to SLA’s (service level agreements) or financial risks.
The test automation pyramid is a great concept of prioritizing test elements with higher ROI by focusing on automated unit tests rather than at the UI level.
Automation can incur a hefty cost initially. In addition to hardware tolls- there are software tariffs. And although QA teams can use free open-source tools to reduce licensing fees, there are other investments to be made in training and maintenance. Furthermore, many managers do not factor in the hidden cost of software development. We’ve written about this extensively. It describes concealed costs of software development such as regression testing or collaboration.
Before presenting a test automation suite to the management, be sure to recommend one that reduces some of the upfront investment. To achieve this, seek platforms that do not require coding skills. First, this can drastically cut skilled developer costs and shift responsibilities on non-engineering testers. Second, a wealth of time and expenses in maintenance can be saved. Third, if the tool features advanced artificial intelligence it can help point out signals for managers to make better data-driven decisions.
Beyond all the aforementioned concerns, one of the greatest automation challenges in testing is choosing the right tools.
There is a host of open source as well as paid options in the market. As mentioned, there are some fine options in the marketplace. We’ve compiled a list of the best test automation tools for your consideration. Key features to look for:
In order for test automation to work properly, there must be a constant open dialog between all stakeholders. Effective communication is the key to any successful relationship.
This includes everyone in the pipeline- from product managers to project managers, through developers and even manual testers. Each team role must be on the same page regarding testing objectives.
We have noticed in stats, test automation is not cheap- yet it is effective. Most companies allocate between 10%-49% of their overall QA budgets towards test automation expenditures. This same study shows that the more employees a firm has in their DevOps department, the more likely they are to spend the majority of their QA budget on test automation efforts. Therefore, being honest and establishing open communication with stakeholders regarding the cost benefits of investing in solving automation challenges is a must.
Takuya Suemura is one of our resident QA engineers, and as he describes to me, some of his greatest automation challenges are avoiding dependencies. Be it, dependencies on specific test levels (e.g. E2E testing) or depending on a specific person (e.g. QA/SET.)
As a QA engineer, it is important to avoid issues that may come with End-to-End testing; such as the time-consuming nature of the practice as well as the instability of tests from outside variables. Since E2E tests simulate testing from the user’s perspective and also test the entire system from beginning to end- it can be the most time-consuming portion. And when you attribute other factors, it can add more time to testing. For example, if an application uses a 3rd party API and it is running slow (or timing out)- it can complicate testing timelines.
A few tips to reduce time here is to avoid duplication. For example, if we are testing an application that requires a login, avoid testing the log in each time if we proved that the module is working properly. Another tip is to code tests for best reusability to reduce maintenance burdens later. Lastly, ensuring longevity in your codebase is paramount as the application test suite grows.
If your in-house team is using Selenium — which most teams do — then you have to tackle the steep learning curve and maintenance challenges with the tool. This is because Selenium requires coding skills in every aspect- from test scriptwriting to test maintenance.
Once upon a time, simple record-and-playback testing tools caused more issues than solutions remedied. Thus there was a shift towards software developers in test (or SDETs) as a viable solution. In time, the challenge of finding skilled resources rose sharply and the talent pool became scarce. To further complicate the matter, automation test engineers would find most of their time would not be best attributed to their craft- but to tasks that can be delegated to non-engineering testers.
Luckily, the industry has evolved and solved many of the problems with record-and-playback testing tools. There are many tools available capable of test automation without writing a sentence of code. However, the superior codeless platforms utilize artificial intelligence to learn of changes that humans may miss.
Now that you have an open line of communication, avoided dependencies in the pipeline, and you’ve eliminated the resource barrier- how do you approach test automation? What portion do you automate? There is no singular answer. Instead, we will expose you to several types of approaches.
The approach our client take is to “start small at first.” Then increase the amount and type of automated tasks. In an interview with QA test leads at DeNA revealed they were able to migrate an overwhelming amount of daily manual tests towards automation. After one month of using Autify, they were able to reduce workload by about 10%. Or one can look at it as an opportunity to increase productivity 10% in other areas.
There are two other approach practices to evaluate if the aforementioned does not fit your firm’s culture: risk-based testing and the test automation pyramid. (See the diagram above.)
Risk-based testing prioritizes testing elements that have the greatest negative consequences if a failure occurs. Such as those attached to SLA’s (service level agreements) or financial risks.
The test automation pyramid is a great concept of prioritizing test elements with higher ROI by focusing on automated unit tests rather than at the UI level.
Automation can incur a hefty cost initially. In addition to hardware tolls- there are software tariffs. And although QA teams can use free open-source tools to reduce licensing fees, there are other investments to be made in training and maintenance. Furthermore, many managers do not factor in the hidden cost of software development. We’ve written about this extensively. It describes concealed costs of software development such as regression testing or collaboration.
Before presenting a test automation suite to the management, be sure to recommend one that reduces some of the upfront investment. To achieve this, seek platforms that do not require coding skills. First, this can drastically cut skilled developer costs and shift responsibilities on non-engineering testers. Second, a wealth of time and expenses in maintenance can be saved. Third, if the tool features advanced artificial intelligence it can help point out signals for managers to make better data-driven decisions.
Beyond all the aforementioned concerns, one of the greatest automation challenges in testing is choosing the right tools.
There is a host of open source as well as paid options in the market. As mentioned, there are some fine options in the marketplace. We’ve compiled a list of the best test automation tools for your consideration. Key features to look for:
In summary, here are some key takeaways to help solve automation challenges:
If you are a QA engineer, do you agree with my assessments of automation challenges? We would love to discuss more on this topic on Twitter. Use the hashtag #TestAutomationChallenges to tag us on the platform. On Reddit? Drop a line in our r/Autify subreddit.