IT IS AUTOMATION, NOT AUTOMAGIC: AVOIDING FAILURES IN TEST AUTOMATION PROJECTS
Test Automation today has become an integral part in any QA teams’ arsenal. A decade ago, the agile delivery paradigm necessitated the need for automated test cases, while the current trend towards CI-CD and DevOps is fueling faster adoption of Automation across the Development Lifecycle.
There are multiple tools, frameworks, and solutions that claim to solve your Automation problems overnight. However, multiple challenges still exist, and IT Managers are not smiling.
The top reasons for Test automation projects failing, as found in the World Quality Report (a premium survey covering CIOs and top executives from 100s of companies).
As can be seen from the snapshot above, the challenges in automation have increased YoY in almost all categories..
Only about 18% of all Test Automation Projects continued after 6 months, which means that stakeholders get disillusioned with the results. But because of the significant time and cost already invested, the automation team continues with very low value.
The most common reason for such failures, however, is the expectation that Automation is a silver bullet – you get a team, install a product/solution and lo, your tests are automated end-to-end and can do everything, but brew a cup of coffee too!
Unfortunately, the road to sustainable Test Automation is long and hard.
Here are some steps that you can take to avoid failures in your test Automation initiatives.
1. Articulate a long-term vision:
This is the most important, yet oft-neglected phase. It is common to think, “hey, we need these tests automated, so that we can get through Testing faster/get feedback frequently”, but that is not the only aspect. Think about things like:
- What are the data points that show your current problems? (For example, manual tests just to regression test the changes takes 2 weeks with 4 people)
- How will that data point look like once automation is in place?
2. Think about Context:
- What kind of applications exist?
- What is the tech stack and how many layers exist?
- At what levels do we need tests?
- How frequently do we make changes to the source code and then release?
- What Development standards do we use currently?
- Does the application have significant integration components with other upstream/downstream applications?
- How many defects slip into production or even User testing?
- Consider Test Data and Test Environment availability, which can be major blockers for QA and not just for automation – you may have to invest in Containers/mocking frameworks additionally
- Work with stakeholders to determine what reports would be needed and how they would be used
3. Consider your Application and Technology Roadmap:
- How will the product evolve in the next 1-2 years? Is the product release model going to change soon (speed of release or # of items in the release)?
- Is there a plan to rework the application in terms of the technologies used?
- What new Technologies/paradigms is the organization planning to adopt (such as DevOps, Daily releases etc)?
4. Evaluate Tools:
- Only after you have thought through the above, should you look at potential solutions
- Evaluate multiple tools, using a pre-defined checklist to provide an objective view of capabilities
- Consider running multiple proof-of-concepts using the most complex scenarios, not the simplest. This would help you uncover potential problems before you go down a specific path
5. Set Expectations:
- Even with the latest tools that can generate some level of tests automatically, tests are going to detect only those defects that they have been coded/configured for. Automated tests are a safety net only and cannot replace humans for some time to come
- When creating a business case or presenting the benefits, keep expectations low and provide a best-case/worst-case/realistic level of benefits
- Communicate that the initial cost of setting up Test Automation vis-à-vis the ROI may be high, and the benefits kick in over time
- Draft a plan with the most valuable tests first and then add more tests as needed, instead of a big-bang approach
In summary, Test Automation, especially for Continuous Testing in a CI-CD world, requires the right effort and investment to make it work. Planning for the Long-term and using an experienced partner to jumpstart your Test Automation can help you be well on your way to the holy grail – “Continuous delivery of value”.
To learn and explore more in detail about Qentelli’s AI-driven automated testing solutions and DevOps implementations, please write to us at firstname.lastname@example.org. Our experts will be delighted to engage with you. Also, you can visit Qentelli’s social links for more details– Facebook Twitter LinkedIn
Headquartered in Dallas, TX with global delivery teams in India, Qentelli is an Industry Thought Leader in Quality Engineering, Automated Testing and Continuous Delivery. With high performing engineering teams working in the dedicated Innovation Group, Qentelli brings design thinking to address complex business problems and enables Continuous Delivery across Enterprise IT through automation for its global customers.