Recently I had lunch with a colleague working on a test project for a mobile application. The application had different data and screens on it depending on the coordinates the mobile device was at. Thus, they had a very heavy regression test set where they would check all the coordinates and the data. The coordinates could be sent via an API but they would still need to check whether the data on the screen was okay.
I asked her if she had at any point considered automating the testing to any degree. She replied that she had actually thought about that but since all her time was tied up by the regression she couldn’t start analyzing how to verify automatically that the correct data was actually there.
We discussed a bit and I suggested that she could actually write a script that would loop through the coordinates and take a screenshot every time. Once all the devices and screenshots were done, it would be easy to just scroll through the images and see whether they looked ok. This is basically how Browserstack works when comparing websites on different browsers and devices.
In a sense, this is not test automation but it is actually automating the parts you don’t need to have the user in.
Let’s assume that one test case takes about 2 minutes.
1. The tester sets the coordinates (30 sec)
2. The tester waits for the page to load (30 sec)
3. The tester checks the data (30 sec)
(Add in 30 seconds to total time because people have reaction times.)
Let’s assume that we have 30 devices and 50 coordinates to check.
2 minutes * 30 devices * 50 coordinates equal 3000 minutes, which is 50 hours efficient work time. Divide that up to the test team and yes, it’s 8 hours of work to about 6 individuals.
Now, let’s bring in some automation.
The automation script crunches through a single coordinate with 30 devices creating a pool of screenshots the tester can then look through quickly. First of all just by glancing at the screenshots the tester can see if one particular device is looking different. Then it is just scrolling through because you don’t actually need to load the images in a way that the app is doing.
So let’s assume that we spend 30 seconds with each image and the entirety of work comes to 30 seconds * 30 devices * 50 coordinates equals 45 000 seconds which is 750 minutes which is 12,5 hours.
So basically by automating the coordinate setting and the waiting we’ve removed 37,5 hours of work which is about a week’s worth of work for one person.
Did we automate everything all the way? No. Did we save time? Yes. Did we remove the parts which are boring? Yes.
The lesson of the story is that a little automation can go a long way.