Currently at Microsoft we are well into the Mid-Year Career Discussion, which for me at least has been a bit of a daunting challenge. While a career discussion for more established disciplines, namely developers, is pretty simple. It is difficult to articulate how you can advance in your career if there are so few examples of ‘senior testers’. (Quick shout-out to some great test blogs [http://blogs.msdn.com/alanpa/] and [http://blogs.msdn.com/imtesty/])
The core question comes down to what does an advanced tester do? Where as it is easy for a developer to say, “well, I plan on writing better code” that argument doesn’t hold true for test automation. What makes automation better? That it runs faster? That it requires less maintenance?
For me, I view career growth in testing with a twofold approach. First, do X where X is how I currently test the product. That is write testplans, automation, using some well understood tool and technique. Second, create Y where Y is a dramatic improvement over X. One should always be thinking about how they can be testing better; perhaps tests for X can be automated generated based on code changes? Perhaps X doesn’t dig deep enough in the code, or can’t test internal APIs.
While it is more than possible that Y may be mistake and leave you worse off than with using X, I think you get my point. To excel at testing you need to be improving on some Meta level. Until we can find ways to measure and specifically determine the amount of ‘risk’ or ‘defects’ with a piece of code we are required to find some way to easily exercise that code in order to verify that it works as expected. Maximizing your technique of exercising the code then, is how to be a better tester.
Just some thoughts. Are there any professional testers out there with some other thoughts or unique perspectives on the matter?