That is 'When to Automate?'
As James Bach says "Test automation is any use of tools to aid testing". That is very much true, but to identify what are those tools and when to automate is usually difficult job for me .So I came up with the following parameters to find out when to automate .
- When I am doing any manual task repetitively , e.g.
- Creating data set for my application.
- Running same configuration every time after preparing the setup.
- Even doing ssh(remote login) to same IP frequently.
- Smoke Testcases which need to be run with every new build:- This case is also kind of a repetitive task where you need to run scripted testcases every time a new build comes. It is good to automate these as they give you more time to explore new areas in your application.
I would like to cite an example related to case 1 .
Recently , I started writing testcases for new features using mindmaps. Mind maps gives better overview of my testcases and their coverage.It also helps me getting quick review from development team .
But the issue is when I need to write all my testcases again to my test management tool ie Testopia. Let me tell you about Testopia ,Testopia is awesome test management tool from mozilla which provide api's over XML::RPC to update /modify testcase database.
Anyways my above task was repetitive and obviously boring which provoked me to write a perl script to parse test cases from mind map's file and directly update in Testopia. "Same script can be used in future" was also an another trigger point to automate the task. Scripts to achieve the above task got ready in just 45 minutes and I updated 100+ testcases with the script to Testopia. In the above scenario I was not told to automate.When I felt bored with coping testcases , I decided to automate the Testopia update task and that was my call .Many of my tester friends told me that they don't have any exposure to automation because management never told them to do any. According to me ,when to automate and what to automate should come from tester and not from management. I usually see test managers giving importance to the automation tools in a tester's skill set but according to me knowing when to automate is equally important as knowing the tools.