By Julia Pottinger
The QA team is responsible for creating and maintaining the test automation scripts that have been written. Even before that is done, they need to identify appropriate scenarios that should be written, create the test automation strategy, and essentially guide and influence whether or not the expected ROI on test automation is achieved. This is a lot of responsibility, and it could be the determining factor in whether time is wasted or saved. As a result, choosing the members of that QA team and structuring it correctly is very important. In structuring your QA team for test automation there are four key things to do.
Determine the Goal of Test Automation and Share the Strategy with Team
A test automation strategy defines the frameworks you’re going to use to get reusable, automated scripts, as well as how you’re going to create and maintain those scripts. You need to do this in order to get a return on your investment. After creating your test automation strategy, you and your team should be able to establish what you’re going to automate, how you’ll go about automating it, who will be doing the automation, when the automation will be done, and what environments will be used.
Defining the goal is one of the first things you should do when creating a test automation strategy. The goal of test automation is very important; it will help guide the different sections of the test strategy. You should therefore ask the following questions: Do you want to deliver quality software faster? Do you want your automated test to be done in the same sprint that your developers are creating features, and adding automated tests will reduce the time your test spends doing manual regression – therefore leaving them with more time to automate those new features in the sprint and saving time while maintaining quality? Do you want to have a continuous integration or continuous delivery system where, once your developer creates a build, it triggers tests that check for certain features to ensure they are not broken and the quality of the application is still where you need it to be? Whatever the goal, it needs to be defined, as this will help you choose the team, tools, and techniques you use going forward.
When exploring your test automation strategy, you need to evaluate if the application is automatable, the application has the needed locators, certain functionalities are solidified, or whether the application is rapidly changing and how long the project is. What obstacles are there to having effective test automation, and how can you remove or mitigate against them?
Identify Team Roles and Responsibilities
The test automation team should be responsible for creating the test strategy, identifying what to automate, automating the tests, maintaining them, and possibly putting them into a CI/CD system. Choosing the right team can be the difference between success and failure.
In selecting your test automation team, you should have a mix of junior and senior members. The senior members of the team should be experienced in the language and framework you have selected and be able to create test automation frameworks independently. They should be well versed in test automation best practices, such as data management, selecting the correct tests to automate, identifying the level of test automation to be done, and using API and database automation to set up and populate scenarios for UI automation. The junior members of your team will learn from the senior members, but they should also know the language and be familiar with creating test automation scripts. Junior engineers are great for helping to maintain the test automation project; they will also learn a great deal that will in time help them develop into strong senior engineers. This mix will allow for all members of your team to learn and grow, while having a great test automation project.
One of the senior persons on your team should be a team leader. This person ideally will operate as the manager of the project by guiding scope, advocating for the members of the team, and helping to make decisions on priority and the time to complete tasks. Preferably, this person should be very knowledgeable about the following: test automation, using reusable functions, leveraging page objects, continuous integration, and capable of training and upskilling other members of the team.
As you decide the roles and responsibilities of your team, you will also need to determine the size of the team. This should be a good balance between your testers and developers. For 2-3 developers, I generally recommend having at least 1 manual tester and 1 test automation engineer, respectively. For a test automation project, especially one with a wide scope, you can begin by increasing the number of members on your team. It will take time and effort to create the strategy, set up the framework, select tests to automate, and maintain those tests. I strongly advocate having a balanced QA to dev ratio because maintaining that balance helps to produce higher-quality software.
Test automation is a team effort. In order for it to be effective and provide a great return on investment, the test automation team must be supported. When creating scripts, the test automation team will need to find locators on the application in order to carry out UI automation. The development team can support this by having updated and easy-to-use IDs and classes that makes the application easier to automate. They can also create and maintain unit tests and help to build out any pipelines that may be needed. The product team can support the test automation efforts by including test automation in the definition of done for team stories and estimating tasks with test automation in mind. The team needs to have a mindset to support the test automation team; otherwise, it will be an uphill battle and more difficult for them to properly create, execute, and maintain the test automation project.
Support is needed from all levels; developers and the product team are not the only ones who can support the test automation team. Managers and other stakeholders can also offer support by allowing the team certain freedom in choosing (rather than dictating) tools that are right for the job. Managers can ensure the team size is correct, and that they have adequate time to complete the test automation tasks. Managers and other stakeholders can support the team by setting realistic expectations for test automation metrics. For example, having 100% of all tests automated or having test automation both set up and completed in two weeks is unrealistic, and it will not help the team produce the best quality and most effective scripts.
Overall, in preparing your team for test automation, you should have a solid strategy they understand, specific roles and responsibilities, and a mixture of junior and senior engineers who have been properly trained and are supported by management and their team.
About the Author
Julia is the Training and Development Manager at QualityWorks with expertise in manual, automated, and API testing and training. She is passionate about sharing her knowledge and experience and contributes to the testing community through writing articles, and delivering testing content on Test Automation University as well as her Youtube Channel and blog. She also conducts testing Bootcamps for persons interested in entering the field of QA.
Looking for ways to accelerate your testing process with automation? Reach out to our testing team at www.qualityworkscg.com