I’ve spent a day testing a scheduler using a semi-automated technique. It’s a task that is cognitively demanding. It requires creating sophisticated test data, loading it into a scheduler, then identifying if the output is as anticipated.
Sound’s interesting right?
It is. There are lots of different scenarios to test and lots of different dates to consider. The approach is semi-automated, where the output is manipulated into an easy read format. A lovely example of creating an oracle that facilitates easy identification and evaluation of potential problems.
Paradoxically, the approach that facilitates a software tester to perform software testing in a ‘smart’ way is also its downfall.
Because regardless of the use of tools to reduce the cognitive workload the task is still repetitive and requires a lot of concentration. This is a lethal combination. It’s lethal because this is where humans start to make mistakes. At least this one did. Not just one mistake, but I consistently made simple data entry errors that meant the results where useless. In the end, I abandoned the task and went home.
The lesson of the day? Demand that your tasks be automated when instead of being an asset your fallibility becomes detrimental to the software testing you perform. We are all lethal weapons. As software testers, we can be the difference between finding something ordinary, or discovering something wonderful. We can also be the difference between providing so much white noise that valuable information is lost. What type of lethal weapon are you?