The perennial debate in the software testing community—manual vs. automated testing—rages on. Art Trevethan, a seasoned expert, sheds light on the value of both methodologies. In this article, we explore how to seamlessly integrate manual and automated testing into a comprehensive test plan, ensuring optimal efficiency and effectiveness.
The Overwhelming Task of Test Planning
Creating a test plan for a commercial-grade application can feel like attempting to boil the ocean, eat an elephant, or climb a mountain. With test cases ranging from 2,000 to 10,000, a team of five testers faces the daunting task of manually executing and documenting results for hundreds or even thousands of test cases. The clock is ticking towards the product release date, prompting the question: How can this colossal task be managed effectively?
As depicted in the graph, automated testing incurs an upfront cost, but as the number of test cases and builds increases, the cost per test decreases. The solution lies in a harmonious integration of manual and automated testing in the same test plan.
Coexistence of Manual and Automated Testing
The initial step is recognizing that not all aspects of a test plan can be executed through automated methods alone. The challenge lies in identifying which components belong in the manual testing realm and which are better suited for automation.
It’s a reality check—automation can’t do it all. To set realistic expectations, consider automating around 20% of test cases. This percentage, although seemingly small, has a significant impact on the overall efficiency of the testing process.
Choosing Elements for Automation
Selecting the right 20% to automate is crucial. Focus on test cases that are frequently used, have a substantial impact on customer satisfaction, and consume a significant portion of the test team’s time. These are the repetitive, monotonous test cases that, when automated, can yield substantial time and cost savings.
Benefits of Automating 20%
Automating a portion of test cases can lead to tangible benefits in terms of cost savings and meeting predefined test schedules. By automating repetitive tasks, the team can complete test cases in a shorter time, allowing for increased productivity. The financial impact of these time savings can be substantial, equivalent to adding an additional tester to the team without the associated cost.
Choosing the Right Automation Tools
Selecting the appropriate automation tools is crucial for success. Look for tools with a user-friendly Integrated Development Environment (IDE), good support, and compatibility with evolving technologies. An object abstraction layer and support for data-driven testing are also key features to consider.
Addressing Concerns about Automation
Acknowledging concerns about automation tools not being as smart as the human team or struggling with the complexity of certain applications, Trevethan provides reassurance. Automation may not replace the depth of human testing, but it excels at handling repetitive tasks, allowing the human team to focus on complex, critical issues.
The Role of Manual Testing
For the remaining 70-80% of tests that require manual execution, leveraging technology can streamline the process. Automation can assist in generating test cases and expediting the playback of manual tests, reducing the overall time required for manual testing.
It’s Never Too Soon to Start
In conclusion, implementing a balanced approach to testing—integrating both manual and automated methods—proves to be a strategic choice. Setting achievable goals, automating repetitive tasks, and utilizing the strengths of both manual and automated testing contribute to enhanced efficiency, reduced costs, and ultimately, successful product releases. The key takeaway: start integrating automation into your test plan today for a more streamlined and effective testing process tomorrow.