As part of our work to define digital career pathways, we asked Digital Profession members to provide a short ‘day in the life’ story about their role. Sarah shares a day in her life as an automation tester.
A tester’s job is to think of all the possible situations that the people on the other side of the computer screen could encounter. We select and prioritise the most important scenarios, carry out manual and automated tests, and clearly communicate the results back to the team.
Working together with manual testers
As an automation tester, I write automated tests so we can validate thousands of scenarios in a few minutes. In contrast, a human tester might take days or weeks to carry out manual tests. Automated testing gives manual testers more time to do creative, exploratory, and user- experience testing. These are the kinds of testing that people do best, so this is a win-win scenario.
Automated testers collaborate with manual testers to set up data for them. The computer handles the basic or routine aspects and the manual testers take on the complex scenarios. Automated testing also lets us carry out scheduled health checks on our system, so that every day it only takes us a few minutes to verify that everything is running well.
When everything is not running well, then a tester’s work includes defect investigation. We try and replicate the issue in an internal environment, then review the user manuals, requirements specifications and code to work out what the possible causes could be. Testers also carry out experiments to check what we’ve guessed. It can be like doing a science experiment — if this were the reason for the error, we would expect to see consistent results in the following group of scenarios.
We test the hypothesis, gather data, and analyse it to see if it supports our guess, or points us in a different direction. We might find out that an issue is bigger than we think it is, with complex side effects that could affect a large number of users. We might also be the first people to discover a helpful workaround to get the outcome that the users need.
As a tester, it is always important to ‘dig deeper’— question our assumptions, check that we’re interpreting the data correctly, and aren’t just cherry-picking parts that support our theory. We always do ‘one more test’ to make sure.
Good testers are curious, creative, persistent, open-minded, analytical, out-of-the-box thinkers, and clear communicators. We get information from many different sources, rely on relationships with many different teams, and consolidate and present our findings to others.
Some of the best testers I have learnt from have honed their skills in spotting and exploiting gaps. They seek potential weaknesses in the system, and instantly imagine all the ways it could be stretched to its limit and given extreme situations to work with.
Great testers are also logical and meticulous. They can put information together and make a wide range of deductions. They understand all the possible outputs that could flow from a given set of inputs. Testers are willing to work with spreadsheets of thousands of rows and check the data to make sure that it is accurate and covers every situation.
Testing is a creative and fulfilling role. No day is ever the same when your job is to expect the unexpected.
This was first published on DTA on 3 August 2020. All views expressed in this blog are Sarah’s personal views, and do not necessarily reflect the view of the department or agency.