Strategy for starting Test Automation in an organization

Anshita Bhasin

Posted On: March 20, 2023

view count19330 Views

Read time11 Min Read

Testing strategy

A well-crafted test automation strategy is essential for any organization or enterprise striving to provide top-quality products or services. Today, where we want a major chunk of test cases to be automated, the main painful area for every QA is understanding where to start.

Through my personal experience, I have witnessed that many individuals struggle with initiating automation.While they may be familiar with the latest tools and technologies available in the market, selecting an automation tool and adopting a CI/CD approach is insufficient. Instead, they require a deeper understanding of where to commence automation.

In an organization where no test strategy has been defined, testers may find it challenging to begin automation because they lack a clear starting point ,especially If there are a large number of test cases to work on and they don’t know which one to pick first for the automation or how to start and where to start.

This problem can be particularly challenging in an agile methodology, where short sprints require strategic planning to ensure that automation work is completed on time. In my experience, I have seen many people struggling to begin automation because they lack a clear plan for strategizing. Without a roadmap, they can feel lost and uncertain about where and how to begin.

So, in this blog I will guide you in planning the automation strategy for existing components in your organization.

It is essential to plan the process before automating the test cases in any organization. If you are new to a team/squad in an organization and are unaware of the scope of testing for your team/squad, then it can be challenging for you to start the automation.However, with a well-planned strategy in place, the process can be done efficiently and effectively.

While working with one of my previous organizations, I faced a challenge where many teams were contributing to a single application. I knew which tech tools, which framework and which CI/CD I had to use but the issue was to identify what are the components/modules which were under my scope of testing.

So, based on my extensive background in QA, I have developed a four-step plan which I put into action while working with one of my previous organizations. This plan helped me gain clarity on the components/modules under my testing scope and their corresponding test case requirements, even though many teams were contributing to a single application. By following this strategy, I observed a significant improvement in my automation efforts.

Check out this video for an in-depth exploration of Test Automation Strategy building.

A four-step strategy for starting test automation in an organization

  1. Identify the scope of testing
  2. Prioritize the testing scope
  3. Write test cases
  4. Test Execution Strategy

We will see in detail the step-by-step process.

1. Identify the scope of testing

In an organization, if you are working in an agile methodology there can be different divisions like Teams/Squads that handle the respective components and different teams/squads can contribute to a single web application. In that case, it becomes difficult for QA engineers to finalize the scope of testing with respect to their teams/squads.

Let’s try to understand with a real-time example.

Taking the example of an e-commerce application, there can be multiple teams/squads working on it. One team/squad may handle the user profile, and another might handle the checkout. But these are all part of a single web application and you are the QA for the core team (Let’s say “marketplace”). FYI: Marketplace covers end-to-end web applications but there are other teams/squads involved in adding functionality to the web application and their QA is responsible for the functional testing.

So, the issue that arises is–who takes ownership? If you are the QA of the leading team, are you responsible for the whole end-to-end testing?

In order to decide this, it is always good to communicate within the team and define the scope of testing for your team/squad, which is the first step in planning QA automation.

As part of step 1, we should have a meeting involving PM/PO, leads, and QA and define the scope of testing. As part of this step, you can prepare a table with 3 columns ( as shown below) which is the prerequisite to joining the meeting, and then you can discuss and finalize the scope of testing for different teams/squads. As QA, you should take ownership of this meeting and finalize the scope.

Make sure you are prepared before going to the meeting so that you make proper use of everyone’s time.

product

So, as per the above table, we see there are 2 components but there are 2 different teams/squads that are responsible for automating the test cases. So, the outcome of this meeting is we have the scope ready and we know clearly which team/squad will handle the automation of the respective components.

You can create a confluence page with the above table or upload the table on any shared portal in your organization like SharePoint. Uploading it on a common platform like Confluence will help you to share it easily with others and let anyone view it anytime.

Be it the test plan or automation test cases, it is always a good idea to upload it on the shared platform so that all the team members in the organization can view it. If you have it on the local machine, it won’t add that much value to the work you are doing.

2. Prioritize the testing scope components

Your job does not end after defining the scope of testing. Now, you have all the components ready that you have to automate but which one to pick first for automation, is the next question. So, in order to decide which component should be picked up first for the automation, we need to know the priority.

There are various factors involved in prioritizing the test cases for automation but it is recommended to involve all the members (PM/PO, Leads, QA). Everyone’s input is important in defining the priority. PM/PO would know from the business perspective which area is highly important. The team lead can provide inputs with respect to technical scope and QA knows whether this can be automated or not.

So, as part of this step, there would be brainstorming among all the members and then you can prioritize the test cases.

The table would look something like the below:

checkout

P0 would be the component that needs to be automated first, followed by P1, P2, and P3.

Again, the above table should be created as a Confluence page or should be uploaded on the shared platform which is used in your organization.

3. Write test cases in the test management tool

By now, you have the components ready and you know the priority of the test components. The next step is writing the test cases using any test management tool.

As automation engineers, we sometimes tend to ignore this step because it seems boring to write test cases and save them, but it is imperative with respect to tracking the test cases.

If you are automating the test cases but not writing them, how will your PM or other team members know? Not everyone is interested in looking at your code. By writing test cases, you can link them to the project management tool you follow in your organization and everyone would have visibility about the test cases which are related to the story.

4. Test Execution Strategy

Once you have the test cases and you know the priority of the test cases. The next step is to plan the test execution. The objective of a Test Execution Strategy is to provide a comprehensive plan for the execution and maintenance of the automated tests, ensuring the quality and efficiency of the testing process.

Deciding the test execution depends on several factors such as:

  • Test requirements: The framework should support the testing needs and requirements of your project.
  • Test Tools: Identify the test automation tools to be used for execution and any dependencies required. If you want to go for the open-source tool. You need to decide which tool is best for the team depending on the factors like language ( It’s Java or Javascript or Python) and its Integration with CI/CD
  • Test Data: Determine the test data that needs to be created and managed for the automated tests. Gather all the test data required for testing ( Example: user details If you want to login into a web application and perform testing and If you are checking multiple countries then all the country URLs)
  • Test environment: Manually check if a web application is stable or not. The environment you are working on should not throw any server issues. Check if the environment does not have features like a captcha (which can’t be automated)
  • Test Maintenance: Establish a process for maintaining the automated tests, including regular reviews, updates, and bug fixes.

Before you start the automation, It is always advisable to manually test the application. You cannot directly start writing the code without understanding if the environment is stable and if you have all the required test data.

If you follow all 4 steps above. You would know the test cases (which are the candidates for automation), and the priority of test components with respect to automation and then you can easily start the automation of the test cases based on the priority of the cases.

Strategies to speed up the test automation

Starting an automation process can also be a challenging part if you don’t know where to start. Above mentioned steps is the prerequisite if you are planning to start test automation in your organization.

After you have identified the areas of the organization that would benefit most from automation, such as processes that are time-consuming, error-prone, or repetitive, you can then follow a few other potential strategies which will benefit you:

  1. Develop a plan for implementing automation in the selected areas. This plan should include the specific tools and technologies that will be used, the processes that will be automated, and the resources that will be required. It should also include a timeline for implementing the automation and any potential challenges or risks that need to be addressed.
  2. Train and support the staff who will be using automation tools and technologies. Automation can be a significant change for many organizations, and it is important to ensure that staff is properly trained and supported so that they can use the automation tools effectively and efficiently.
  3. Monitor and evaluate the results of the automation implementation. This can help to identify any problems or issues that need to be addressed, as well as any opportunities for further improvement or expansion.
  4. Continuously improve and expand the automation implementation over time. As the organization learns more about automation and gains experience with it, it can continue to refine and improve its automation strategy, tools, and processes to achieve even better results.

Conclusion

In conclusion, the test strategy for starting a QA automation process is a crucial aspect of software development. It requires a systematic and well-planned approach to ensure that the automation process is effective, efficient, and meets the project requirements and user expectations. By following a structured approach, organizations can establish a solid foundation for their QA automation efforts, leading to higher-quality software and a better user experience. Check out our hub on test automation metrics to examine various metrics for measuring success, the strategies for metric implementation, and its challenges involed.

Explore our Analytical Test Strategy Guide. Understand its importance, roles, tools, defects management, metrics, automation, and more. Master analytical testing confidently.

Author Profile Author Profile Author Profile

Author’s Profile

Anshita Bhasin

Anshita Bhasin is a Senior QA Automation Engineer with over 9 years of experience in the software industry. Throughout her career, She has gained expertise in a variety of tools and technologies, including Rest Assured, Selenium, and Cypress. Currently, She is working at a PropTech company in Dubai. In addition to her technical expertise, she is also passionate about sharing her insights and experiences with others in the form of blogs and workshops to help guide those just starting out in their careers or seeking advice on their professional paths.

Blogs: 6



linkedintwitter

Test Your Web Or Mobile Apps On 3000+ Browsers

Signup for free