We are often asked by clients in “getting started with software test automation”. In doing so, we’ve come up with 3 rules of the road that we use in all of our test automation projects:

Set expectations and goals: One of the first things that usually comes out is that the client wants 80% automation in 5 months. Of course 80% and 5 months can sometimes vary, but not by much! Firstly, we could probably get there, or close if all we did was record and playback. But then we would end up with no reusable components and scripts that break with the slightest modification to the client’s software. So we first start with a short period where we time box a prototype framework with a small set of scripts. This way, we learn the client’s software and also demonstrate the framework, its advantages and a plan for developing future scripts.

Select the right areas for automation: This is highly dependent on the maturity of the software, and the existing testing that is taking place. If they already have manual test cases, many times they want us to directly convert manual test cases to automated scripts. This works for a while, but manual test cases are not often designed with programming in mind, so there is often not a reuse mindset employed when developing them. The main factors to consider here are 1. developing automation for mature areas of the software, re-use and parameterization, and adaptability of the scripts for additional functionality of the software. Just converting manual scripts ignores these important elements.

Select the right tool: Selecting the right tool for the situation is