Software Testers, What Should You Be Doing Right Now?
The first problem in software testing, the one we have to think about before even deciding on our approach, is: What should I be working on right now?
I am building and maintaining a UI automation suite for a client right now. The job seems straightforward if you only look at it only on the surface. A test suite is kicked off every night on a schedule. Every morning, a handful of developers and I get an email with the test results.
Looking deeper, though, there are a number of tasks I could be doing at any point in time. There are application logs to review for errors and test failures to investigate. We might have new functionality in the software that I need to investigate and build tests for. Some days there are customer bugs to review and reproduce or in-house bugs to explore in order to see how fixed they really are. I might have to do some maintenance work on the virtual machine where our tests are run each evening.
All these tasks and a few surprises generally fill out a single day of work. It isn’t possible to get everything done, and even if it were, some pieces of work are more important than others.
Consequently, figuring out what I need to be doing at any given moment is a skill.
Some days, the answer is delivered through interruptions. A couple of weeks ago, I was working on refactoring some older, ugly code I wrote. I got a message from a developer describing a refactoring he had done to add an async save to a data grid. My focus was instantly shifted to this new, widespread change in our system.
Other times, the answer is more subtle. I usually start each day with an investigation into my mission for the day. The combination of test results and application logs can point to a software problem I need to investigate. I might need to review an email from developers describing an area of our product that could use new test coverage. If we are close to a release, my focus might be reviewing bug changes, reporting new changes from a code merge, or asking our developers questions to discover information that might not be written down anywhere.
Figuring out what is most important is social. Talk with the people around you. Each person will have bits of context about the project that will guide you to an answer.
Software testing is a support role. Being useful and supporting the development team requires us to study context and learn where we can be most useful at any point in time. So, what should you be doing right now?