About 15 years ago my manager was quoted in an article where he said that software testers are inherently pessimistic people. The idea has resonated with me over the years, and it has shifted in my mind as I have shifted in my career from being a full-time quality analyst to becoming a test consultant specializing in performance testing.
Initially, I had agreed with him, based solely on my experience in enterprise IT departments (and relatively little worldly experience.) Starting out as an internal quality analyst I spent much of my time learning how to break software and processes, learning how to find bugs. That’s what I got paid to do. But I also spend quite a bit of time being confused and frustrated in that role.
When I became a consultant, things flipped around. I spent more of my time focusing on the optimistic side of testing -- the benefits, the value, and the return on investment. Testing had to be a positive investment for my customers. And I realized that becoming a testing evangelist distanced me from those old feelings of frustration or disappointment, because in a consultative role, I had to be inspiring and persuasive.
Then I went back to working as a tester again, at Microsoft, and I spent time every week with real customers engaged in the real world, one full of frustrating bugs, disappointing circumstance, and looming failures. This dose of reality brought me back down to earth. There it was again, that frustration and pessimism. But this time, during those short-cycled and intense performance optimization engagements, I saw customers change from a state of frustration to one of celebration. Reaching new peaks for performance with customers was exciting and positive, and often the result of tireless efforts.
And this new view on the experience led me to create my own theory about testers.
We are not inherently pessimistic people. Instead, we are actually relentlessly hopeful that we won't be disappointed. What I mean is, we aren't frustrated with the world as it is around us, and we also aren't longing for a more traditional approach to something. Testers don't lament about the past. Instead, when we are testing, we are all just temporarily frustrated, because our hopeful vision for an improved future just isn’t quite here. Yet.
This is especially true for performance testers, where we attempt to manifest success for a system that’s limping along slowly and wrapped-up around itself, and we think “I know it’s just a few more tweaks and we’ll uncover the real power of this system!”
So, the next time you get some complaint or push back on a performance defect where the developer is growing tired of your presumed negative or pessimistic attitude, be the optimistic tester you actually are. Remind them of your feelings about the future. Tell them about how you envision this bug -- and so many more -- being fixed. Let them in on the secret that you are not complaining about what they did in their code at some point in the past, but that you are thinking about how to celebrate the success that lies just around the corner.