Tips and Tricks on How to Start Developing Automation Testing on Existing Projects
Implementing automation testing is a trend now, hence many companies or projects are starting to looking how to start doing it. As a QA Engineer, I have few experiences on how to start implementing automation in an on-going project. In this article, I’ll try to elaborate on what I have learned.
Establish a Test Automation Plan
Software Testing should always start with a Test Plan (ISO/IEC 25010) so are Automation Testing. Here, teams should define the scope of automation and testing the priorities while evaluating the availability of the resources.
- Plan for test automation as early as possible so we can plan if we need to procure any additional resources, machines, software, etc. Planning ahead will minimize complication issues in the future.
- Noted that not all test cases can be automated. Recommended tests for automation are unit test, API test, regression test, data-driven test, and cross-browser test.
- Test cases that should be done manually are UX test, exploratory test, app accessibility test, and OS native feature
Choose an Approach
There are 5 known of automation frameworks:
- Modular-based
- Linear
- Library architecture
- Data-driven
- Hybrid framework
By selecting the most suitable approach for our projects, automation testing should be more robust and maintainable. Other than that, we need to perform risk analysis on the project, including the right people, and review test artifacts with the development as sometimes business priorities or functionalities will change over the time and testers should ensure the test planning aligns.
Choose the Testing Tool
There are hundreds of testing tools available to support our automation testing so choosing the right one will be quite baffling. Remember not to be rush in selecting the best tool available. We are not required to always choosing the latest tools. Remember that the tool we chose should solve out a problem, not us trying to adapt our testing requirement to a tool.
Set Up an Automation Environment
This step is where our test plan is executed. A stable testing environment is essential for test automation so we need to make sure that test environment should be identical to the production environment. Best practices for writing test cases should be established to make sure that our test script is resistant to automated system changes.
Design Test Automation
This is the phase when we write out test script. The ideal time for writing test script is parallel with the software development so we can make sure that our script has the latest requirements. Here the basic test design such as positive-negative flow, boundary testing, condition testing, etc. are applied.
The best practice is using user stories in writing testing requirement and script so the tester and other stakeholders will have the same understanding. Data-Driven testing is good also to make sure our script is reusable.
Execute Test Automation
Executing test automation script is the essence of why we implement automation testing. We can execute the test in the pipeline or separately depends on our projects. Scheduling test automation execution is ideal as it can save most our time, but make sure that the environment (machine/server) and the connection is stable when test automation is executed.
Result, Analysis, and Reusability
In my personal opinion, analyzing test result will take the most time because we need to make sure that if there are failing test cases which one follow-up cations we need to take. Here are some tips to make our tasks easier:
- Identify slowly, failing tests. This helps you identify the bottleneck and reconfigure these tests’ activities.
- Compare test outcomes to validated reports and documentation from previous versions to expand coverage.
- Incorporate either an in-tool or third-party smart test reports function for advanced test reports and better test maintenance.
Conclusion
Each project or team will have their own uniqueness and there are no two development teams are exactly alike. Whether you’ve already made the decision to move to automated testing or you’re still considering it, it is important to know what the best practices are for making the transition, and which strategies are best suited to your teams.