Nowadays most companies invest a huge amount of money in Automation testing, but the success rate in test automation is very less (25%) due to various reasons. In this blog, we are going to discuss the most common challenges that the Organization faces in automation common challenges that the Organization faces in automation and the best strategies which when implemented will yield better results.
Below is the list of challenges that are widely faced in Automation:
- Lack of Continuous Monitoring
- Management / Stakeholder guidance
- Lack of Knowledge in Functional Testing team
- Lack of Understanding of What to Automate
- Automation team skillset and Training
- Attrition Rate and Ability to retain good resources
- Lack of Team bonding and co-operation
- Lack of Ownership
- Right Tool Strategy
- Right Framework standards
- Lack of Development practice with good code review process
- Quantity conscious rather than Quality conscious
- Lack of Governance
Lack of Continuous Monitoring
Automation should be treated as a development practice. Like how development is monitored on a continuous basis, Automation Testing progress should also be monitored and closely watched. Below are the continuous monitoring activities that every development work is governed and the same should be applicable for automation as well.
- Reviewing the quality of work
- Validating the delivery accomplishment as per the agreed plan
- Evaluating unforeseen risk based on the outcome
- What are the activities that need changes based on priority changes from time to time
- Expected Result Vs Actual Result assessment
- Statistics of project progress
These activities are applicable for Automation Testing as well and this needs to be assessed and evaluated time to time.
Management and Stakeholder guidance
Time to time Management and Stakeholder review should be conducted and guidance to be provided to achieve success. Below should be the key people in such people
- Automation Lead
- Functional Testing Lead
- Program sponsor
- Development Lead and Manager
- Testing team Manager
- Automation Architect if such a role exists
Such a meeting should be conducted on a scheduled frequency and discuss on achievements, hurdles, and solution to hurdles.
Lack of Knowledge in Functional Testing team
30% of Automation failure is due to the lack of knowledge on Functional aspects from the Functional Testing team. The functional team should be in a position to guide what to automate and what not to automate. The functional team should know the challenges in automation and help the automation team with the right area of Automation. Below is the expectation from the Functional Testing team to get good Automation result.
Identify the right area to Automate
1) Instead of automating UI, there could be an API that carries the data to UI and API can be automated instead of UI. API Automation is easy and simple. The focus should be given on such areas
2) If Functional team does not have an understanding before taking up Test Automation activity, we should discuss with key stakeholders and come up with such areas
Test Case Revamping
When there are at-least 100+ Test cases to automate, Functional team should come up with scenarios which can club multiple Test cases without compromising coverage. This will reduce the effort drastically on Automation as well increase the quality
Test Data Management
1) For automating any test case, test data is pre-requisite. Functional team should add such requirement as a part of Test case preparation activity
2) Should also have a clear idea of how to generate the data before taking up automation work.
Based on the nature of application and dynamics involved in it, the functional team can suggest what application to be automated and describe the possibility of Automation
Lack of Understanding of What to Automate
Many Organization focuses on automation based on funding allocation rather than based on the understanding of prioritization. This leads to poor automation with less ROI.
Since time is not invested in what to automate, the focus goes towards the quantity rather than quality.
Test Automation Team Skillset and Training
As a test automation services company, we always encourage our automation testers to learn continuously. Automation team needs to learn new technologies, new methodologies and better coding standards year on year. This needs frequent workshops and frequent reviews to improve ourselves. Also, we need to enable the existing functional team to move to automation to reduce the attrition rate. Hence skill improvement and training should be a continuous process and the team which does these activities excel in their outcome.
Attrition Rate and Ability to retain good resources
Retaining key players is a big challenge in any industry and in the automation area, it is inevitable to take measures to retain resources. Below are the few areas to reduce the attrition rate.
- Rewards and recognition to star performer.
- Identifying the right resource for the right skill
- Job rotation if the same job can be done by multiple resources
- Giving Exposure to the team to key stakeholders
- Monetary benefits
- Giving space for recreation and fun activities to improve the moral
Lack of Team Bonding and Co-operation
Many occasions due to lack of team bonding, a lot of confusion and lack of ownership happen. We need to identify skillset and interest levels to allocate the activity. Team building exercises have to be conducted to create better bonding
Right Tool Strategy
Based on the Organization policy, fund allocation and based on Application technology automation testing tool procurement will be decided. Before fixing up tools, below are the areas to be considered
- Tool feasibility across Technology platform has to be conducted before making the tool decision
- The capability of the tool beyond automation (Like integration with other tools), plug and play support, etc to be assessed
- Resource availability with the proposed tool skill in the market and within Organization
- Support for any technical help through forums or through tool vendor to be assessed
- Tool vendor support in procurement process like a waiting period for evaluation time, support from their team on technical feasibility, training to the Organization
- Rate each of the tools and their vendors based on various criteria’s and come to the right tool strategy for the Organization.
Right Framework Standards
Before doing automation across applications, form a team for Organization Global framework development and Maintenance which will help to create dedicated focus on this activity. When the Organization matures, this framework will also mature and provide good ROI during DevOps implementation .
This dedicated team can assess different Technology stacks involved and create Framework based on Technologies.
Since the delivery and Framework team is separated, there will be a seamless delivery and continuous improvement.
Lack of Development practice with a good code review process
Automation work should be treated as a development practice. Usage of tools for Configuration Management, Automated code inspection tools, Build Management, Continuous Execution is highly recommended.
This also can help in early detection of code quality and issues and fix from time to time. This can also help to easily identify the weak resources and provide adequate training
Quantity conscious rather than Quality conscious
Management should be quality conscious rather than quantity conscious. Record usage of existing scripts Month on Month to increase ROI. Keep an eye on what improvement we have brought in and what we have done differently across each application each month to improve quality. Always upgrade the Lessons learned from each activity for implementing better strategies.
Lack of Governance
During governance discussion, numbers/metrics are tweaked to meet the expectation and hence there is less focus on improvement.
During governance, constructive discussion on the challenges faced, a solution adopted and other opportunities we have to improve and implement can be discussed rather than focusing on just Metrics.
Strategies for Test Automation:
- A proper assessment on application and technology stack
- Right tool strategy by doing a proper feasibility study<
- Right framework approach keeping in mind of scalability and adaptability
- Retaining skilled resources
- Conducting training and upskilling resources
- Infrastructure and Environment for Automation
- Identifying the right area of Automation rather focusing only on UI
- Constructive Governance rather than pure metrics-driven
- Stakeholder Involvement