From Bottlenecks to Breakthroughs: The Journey from Manual Testing to Automation
Do you know that sticking to manual testing in your software development cycle slows your progress and is challenging at scale?
This is a question that everyone is discussing. Some have already overcome this obstacle and are moving on to the next phase, while others are currently in the process and struggling to move forward. Some are also considering how to make this transformation while ensuring the organization's continued smooth running.
Having spearheaded this transformation in several organizations, I’m here to share my firsthand experience. This is not just theoretical knowledge but practical insights drawn from real-world experience.?
Why is this transformation necessary?
If we don't implement this transformation, we will encounter multiple challenges throughout the entire software development lifecycle. This foundational change is crucial, as failing to implement it will result in persistent issues at various stages of development.
How can we address the problem outlined above?
The way forward is to transform the manual testing approach to automation. I won’t explain the benefits of test automation here as multiple articles already exist.?
How to transition from a manual testing approach to automation.
Step 1: Assess the current situation
Understanding the company's current situation is important to determining our current position. When conducting this assessment, we need to consider the following factors. This information is necessary to understand the gaps to define the strategy.?
Areas to consider:
Step 2: Define the outcome
In this phase, we must clearly envision the desired outcome of the transformation. This is essential for understanding the goals we aim to achieve post-transformation. When defining the outcome, it's important to account for multiple factors, as automation is just one element of the process. Therefore, the following considerations should be taken into account.
One of the best techniques is future press releases. This should include what we want to broadcast to the company/stakeholders/industry/etc. This way, we can envision the future outcome. From there, we can reverse-engineer the outcome to get more details to know the most important areas to focus on to move the needle.
When defining the outcome, it's crucial to outline the entire Quality Engineering strategy, not just focus on test automation, which is merely one component of the overall approach.
Step 3: Build the roadmap
When building the roadmap, you need to consider the following points.
It’s important to understand the testing types we want to automate. We need to follow the test pyramid concept, which is proven to provide automation benefits. In this approach, we need to consider many testing types. My suggestions are:
These are the minimum we need to include.
What automation tool should suit us? Based on the outcome, we must assess what type of tools we need. We have two options: an off-the-shelf tool or an open-source tool. In any case, we need to ensure that all tools are seamlessly integrated.??
If you are creating your automation framework, it should be capable of multi-paradigm automation and can incorporate new tools.
The test automation execution must be integrated with CI/CD, as the execution should be automated.
Managing test data is a critical aspect of this transformation, so we need to consider and plan how to handle it.
Planning the test environments is another critical aspect of automation execution. Therefore, we must consider and resolve this as part of the roadmap.
Automation writing is just one step. We also need to consider the execution strategy. We must consider the above points: CI/CD, test environment, and test data. These are crucial aspects to consider.
领英推荐
The roadmap should be broken into small milestones we can achieve quickly. Let's break milestones into weekly or bi-weekly intervals. This will help us break down different challenges into manageable parts where teams will be comfortable, and it will be easy to track progress.
The above points should be discussed and considered when building the roadmap.
Additionally, we need to consider the order in which milestones should be achieved as part of the roadmap. It is important to determine the roadmap's critical path and identify any potential obstacles that could derail it.
When building a roadmap, we must first address the most complex problems. This approach will help us ensure that we stay aligned with the plan.
Step 4: People strategy:
Having a people strategy is crucial, and there are multiple ways to approach this.
?Based on the team's skills, we can implement upskilling programs through internal or external training. Pros and Cons of this approach:
??? Pros:
??? Cons:
? Let’s discuss the pros and cons of this approach.
?? Pros:
Cons:
Let’s see the pros and cons of this.
Pros:
My recommendation for the people strategy is to go for approach 3, which has many benefits.
Step 5: Execution of the strategy
"Strategy is important, but execution is key." - Jack Welch.
Any strategy or plan is good if the execution is good. We need to ensure that we execute properly. If the execution fails, everyone will doubt the strategy. To ensure that the execution is on track, we need to consider the following factors:
It is important to measure progress and ensure we are on track with the original plan. We need to manage 'the gap' to stay consistent with it.
Another point to consider is the need to review the strategy frequently. If we identify concerns with our strategy, we must pivot quickly and adjust. However, we shouldn't make drastic changes without considering the intended outcomes. We should perform Step 3 again.
In execution, we might fall into the pitfall of trying to optimize before achieving the target. First, we need to ensure that we achieve the target, and then we can focus on optimization. For example, test automation coverage should be achieved before we start optimizing the test execution time.
Step 6: Cultural Mindset Shift
Principal Architect - SDET at Circles.Life
4 个月Awesome article! Really insightful journey through manual testing and great tips on overcoming challenges
Principal SDET at Circles.Life
4 个月Good insightful one Janith
DevOps | SRE | Kubernetes | Coffee
4 个月Great article Janith!
Head of Quality & Continuous Improvement
4 个月Very insightful! Thanks for sharing Janith
Quality Engineering Professional
4 个月Good explanation on why we need automation and a complete article for a beginner who are still planning to move to the automation