The Merits of a Collaborative Manual and Automation Test Team
In many organizations, the manual and automated test teams are separate. The manual testers have application expertise, and the automation engineers offer scripting skills.
The test team analyzes the test case inventory to select cases that are candidates for being automated. These must be documented explicitly and in enough detail for the engineers to follow without presuming application knowledge. The rest of the cases are tested manually.
On the surface this approach may make sense, but in practice it leads to inefficiencies and, in some cases, disharmony within the test team. Inefficiencies arise because a lack of application understanding often hinders the automation team from making effective design decisions and may lead to rework or redundancy. For example, a single test case may consume, create, or transform data that affects other cases, yet this impact may not be understood until future cases are automated, so the opportunity to implement an efficient data design will have been missed.
Disharmony can also creep in if manual testers feel that any productivity gains from automation are lost by the incessant and excessive documentation that is required of them. They may conclude that it would be faster and easier for them to just perform the tests manually than to produce the detailed, step-by-step instructions—and answer the inevitable questions for clarification—required by the automation team.
The most successful test teams integrate manual and automation resources into a single, cohesive team. The automation engineers learn the application, first by reviewing any available requirements, design, or user documentation, then by participating as manual testers to gain enough familiarity to be comfortable with the overall purpose, design, and data flow. This allows them to fill in any gaps in the test case steps and to develop a more informed automation strategy.
Manual testers look for automation opportunities that may not fall strictly within test case boundaries. For example, test cases often require significant data setup or conditioning before they can be executed. By adopting a collaborative mindset and approach, automation can improve manual test efficiency by seeding the data and conditions before they are needed. This results in collective productivity that is focused on the end game—delivering a quality application on time and within budget—instead of the relative metrics and benefits of manual testing versus automation.
And there is no need to limit this collaboration to within the test team. As applications move into production, opportunities will abound to help the business users. Data conversion and cleanup is a frequent feature of new product implementations, and repetitive tasks are common in applications that have been in production for years. There may even be chances for ad hoc integrations when data need to be moved between applications as new needs are discovered. Automation can be a valuable tool to smooth and simplify the implementation and use of applications over the long term.
So open your mind to the possibilities for a single, collaborative organization that keeps score for the team and not the players. It’s a winning strategy.