Repetitive tasks are present in all our lives, be it in our work, hobby or day to day activities. We are creatures of habit and our lives easily become routine. You may drive the same route every day to get to work, you may watch the same film over and over, you listen to the same songs, you shop in the same shops.
Some say repetition is the way to perfection.
On practices like martial arts and music, repetition is key. Repeating the same actions over and over again make your body learn by mechanical memory, you move before you even have the time to think about it. Mechanical memory will make you ‘automatically’ defend an attack or make you go through the whole song without having to think twice about what note is next.
But ‘not thinking twice’ may as well be your downfall.
Many work-related activities require the same task to be completed over and over again. It may be a form that needs filling, reports that need to be produced, or questions that need to be asked, over and over again. In these cases, repeating these tasks make you enter an ‘auto’ mode, where you complete the task without thinking twice, therefore losing focus and concentration. This leaves you prone to making mistakes.
The same can happen to testers.
Manual testing requires the tester to follow the same test script over and over again, it may be on different platforms, different devices, or different versions, but tests need to be repeated. That’s why you create scripts in the first place. But executing the same test over and over again can be a boring task and makes the tester prone to make mistakes, like missing a bug.
Some articles aimed to help people complete repetitive tasks give different suggestions like:
- Setting a deadline and sticking to it
- Compete against yourself, be it how long it takes to complete the task or how many you can finish in one day
- Take breaks – go for walks to wind off
- Listen to music to help ou focus
- Change the order of tasks to give them some differentiation
If you need to complete the same task over and over again, why not get a computer to do it for you?
Forms can be auto-filled based on a database, an automated voice can ask customers the questions required to any customer service, a report can be created by the click of a button. The same apply to tests. Automating tests ensure the same script is followed every time and flag any tests that failed during execution.
This frees up the tester to focus on high-risk areas of the application and to investigate any possible issues for better reporting. Automated tests may even run on a nightly basis, go home, leave the test running, and next day you find out if the application is running as expected. Do this every day and any unexpected issues can be easily identified and dealt with before most users even notice.
The actual automated test may not help much with finding new bugs, that’s what exploratory testing is for, but it will provide a sanity check on main functionalities flagging up any issues that have returned or if a new implementation caused any previous features to stop working.