Quality engineers who are practicing test automation in their testing cycle or entering the world of automated testing should keep in mind that a solid test automation plan is key to pull it through. A plan is needed to be sketched for each application that is to be tested. As the complexity of application would require various efforts for both manual and automated testing. Development for similar applications can differ depending on the teams. Hence it is best to maintain a solid plan dedicated for your automation testing approach.
In my experience, I’ve come up with 10 commandments that I followed to come up with a solid test automation plan. They have worked like a charm on every team I’ve ever been a part of, so I hope they work for you 😉
1. Thou shall get your right groundwork done
Analyzing the application and understanding the requirements in depth at the very beginning is key. Based on this understanding, you will be able to understand which sets will definitely require automated tests. It is important to start with the right planning. This includes important discussions around understanding what to automate, organizing resources, preparing the team on task distribution, setting up budget and so much more. Identify repeated actions, create a framework that allows those actions to be performed with a high degree of efficiency, then automate both high-repetition and low-repetition actions so that manual intervention is either eliminated entirely or reduced to a minimum.
2. Thou shall choose the right tools
As mentioned before, each application can be unique and complex in its own way. Selecting the right tool that suites the application and your team would help with the effort needed to be invested. Not just the tool but also selecting the scripting language is vital, based on the application development stack, which would provide more productive results for the team. The type of test automation tools can either be open-sourced or licensed versions, usually chosen by consideration of requirements, time constraints and budget. We find it important to conduct some Proof of Concept and then choose one of the best tools that satisfies most of the requirements or use a combination of tools instead of one tool. For teams who want to step into the world of automation, TestProject is a good tool to consider, being it’s free to use and designed for teams.
3. Thou shall select the best fit framework
The test automation framework plays a vital role in the success or failure of any automation application. Platforms like TestProject will let you record test steps, then edit them in the built-in scripting language, simplifying the process of building up a test script library. This framework should serve as a baseline, making it easier to create and maintain automated tests. Depending upon the technology/tools you are choosing, it’s important to select the design pattern and framework.
4. Thou shall put your best women/men in the squad
Assign the right folk, those who believe in the importance of automating the tests. Those who have the passion and who would not lose stamina during the sprint. Having the right women/men at work is vital to drive the entire process. Developers and testers need to be actively involved in the process, and all stakeholders should give input and be kept up-to-date.
5. Thou shall NOT Over-scope
When taking up tasks for automating, make sure you take most of the repetitive actions. Do not try to drown your team with all the test cases for automating. Prioritize the tests and pick them accordingly. Do not take those forbidden fruits that would require immense time in scripting the tests and do not have high priority. It is recommended to start with implementing the sanity test cases, then move to smoke and regression.
6. Thou shall prepare a robust Testbed
Choose the right testbed that covers the need of your tests. A good cloud-based testbed will often provide a full-service infrastructure for deploying and testing virtual machines in the cloud, along with analytics, dashboards, security, and all of the APIs required to integrate these services with your existing project management infrastructure.
In addition, a cloud-based testing platform such as TestProject can actually make it easier for you to automate hardware testing for key platforms or devices, even on cloud solutions such as Sauce Labs and BrowserStack.
7. Thou shall consider Test Data Management important
Considering how the test data is going to be managed at the very beginning, before you get your hands dirty with the scripting, is highly important. Make sure you have the right approach that simplifies your complex test data. Choose something that is simple, easy to maintain and efficient. Make sure you have a solid plan to create pre-requisite data, maintain test data and delete any noise data created during the tests.
8. Thou shall build a traceability matrix
Make sure to have a highly efficient traceability with the epics – user stories – test scenarios – test cases – test execution cycles – test reports – defects. This could prevent defect redundancy and help with more clarity for the team to understand every aspect, as every detail will be in one place. If the connection is maintained, data/information slips would not occur.
9. Thou shall build a test case practice
Standards should be defined, the common methods should be used, and the methods should be implemented when required. Organize the test cases into different packages or modules, making sure there is proper logging and documentation for each script so that it will be easy for maintenance. This is important as it enables a way to identify failures. Once the test cases are implemented, execute them on the testbed, making sure they are executed successfully. It is important to plan, to have the test scripts reviewed by the entire team so all can help make sure the test scripts cover the expected functionality.
10. Thou shall maintain
To have a robust test framework, constant checks and maintenance is key. If the framework is not maintained, eventually it could lose its actual purpose and be forgotten forever or might end up with new work on refactoring. To avoid such a mess, set a plan for a constant lookout on the test framework. Time should be invested in this. Test Maintenance should be an on-going effort, where all the automated tests are updated regularly to accommodate the functional and UI changes. If possible incorporate AI to maintain such cases.
Follow these commandments
These 10 commandments have been the gospel followed by every team that I work with, when setting up the test plan for automated testing, and they have not failed yet. These could help you go from a newbie automated testing team to a test automation team that gets real work done.