Coordinating your automated and manual testing
Do you have tests that you still run manually, even though they are already automated?
If you do, you are not alone. Even in companies with mature automation processes, some QA teams still “find reasons” to run part of their automatic test cases manually…
The most common “reasons” for this strange behaviour are:
- “We only run automatic tests manually if they are very important”- this contradicts the fact that the tests usually automated are chosen based on their importance and significance in the first place.
- “We don’t entirely trust your automation”. It is true that creating good automation tests is no trivial task, but if you have already invested time and efforts in automation you might as well make sure it is done right so you can count on it in full and not waste your time or money.
- “We’re not sure what is covered by automation and what is covered by manual tests”. This is common when you have two separate teams: one for automation and the other for manual testing.
This last practice, of having separate teams to handle separate testing types, is not a bad practice, however the key for its success is good communication and coordinated teamwork.
That is what this article is about.
Why do you need both Automated and Manual testing?
Nowadays it is rare to find any company that does not have a blend of both automated and manual testing frameworks. When the combination is successful it is because Manual testing and Automated testing don’t diminish one another, they enhance one another and create more synergetic testing.
Automated testing usually enhances testing speed and consistency, but it is only as good as the scripts you wrote. Manual testing compliments the automatic testing process to discover issues from the user’s perspective, or unexpected bugs from unscripted scenarios etc. There is much need for human testing heuristics alongside efficient automation.
Some examples of the successful combination of automated and manual testing are when you use a blend of these tests to cover different aspects of the same feature; or when manual tests pick up where automation ended; or when there are test that are only “semi-automatic” and need manual intervention between testing to continue to the next automation set of tests.
Challenges when coordinating manual and automatic testing
While there is no magic formula to successfully combine and coordinate manual and automated testing, there are common challenges and ways to handle them.
1. How to decide what should be automated or manually tested?
To resolve this, three factors should be considered:
- ROI: Is the investment of time and resources to properly automate a certain script worth the profit gained by automating it?
- Test Complexity: Can the test be automated at all, or is it so complex that it makes more sense to keep maintain it as a manual test?
- Application under test (AUT) Stability: what part of the application testing won’t need to be done “on the fly” as issues arise, that can only be dealt with by “human testers”?
2. Coordinating between automation and manual testing teams. Some examples of questions to be regarded are: Who does what? Who defines what to test? Who schedules the tasks? What happens when an automatic test fails?
The simplest answer is that a good automation engineer is closer to developers in skills, so that more of the methodological tasks weight should be on the manual testers. However, scheduling decisions such as what to run and when should be a collective responsibility.
3. Test automation is “mysterious and complex” – this is the impression many automation engineers dispense especially on manual testers, creating a shroud of exclusivity around automation.
While this is basically a defense mechanism to protect one’s professional stability making them indispensable, it is a hindrance on achieving good team coordination and communication and should be avoided.
Successfully combining automated and manual testing in your team
As mentioned above, the key to a synergetic QA process with both automation and manual testing is teamwork and communication.
Here are some basic guidelines on how to combine automated and manual testing in your team in order to speed up your testing process while improving efficiency and effectiveness.
1. Regular coordination meetings – as communication is key, you need to schedule “sharing sessions” in your daily routine. Both automation and manual testing teams should be active participants and jointly plan the testing tasks of each project.
2. The tools for the job – having an integrated test management environment, compiled by one or more appropriate tools is the best way to keep test coverage in check. Take note: many automation teams use different software solutions than manual testing teams, so the key is verify they have super strong and convenient integration. Read more about test tool integrations.
3. Keep in mind! – that automation is a tool that is meant to assist and support your manual testing efforts by clearing time so that complex, exploratory and heuristic manual testing can be focused and efficient, contributing in whole to a successful QA process.