Wednesday, February 7, 2007

The Desire to Build

My girlfriend and I had an interesting conversation last week about how so many test engineers feel the need to create and recreate tools upon more tools, even if a tool already exists that does what they need to do. This is a situation that has its own acronym: YATT (yet another test tool).

It brings up an interesting question: does this desire come from the very core of what it means to be an engineer, to build and create; or is this possibly something more? Is it possible that this desire stems from deeper feelings of inadequacies at not being a "developer", at least in title? When you need a test tool to perform an action, and there are twenty tools out there already that do this, why should one create another tool?

It's true that some stigma remains around the role of the tester. When people ask what I do, I feel the need to stress that I'm an engineer, but in the testing field. There are times at work when I feel I should be creating something in order to be taken seriously by my fellow engineers. I feel this is true, at least in part. Doing your job, and doing it well, is an exceptional way of getting respect, but there is nothing like showing off something cool to get instant cred. It's like we're in 8th grade again.

Which brings up an interesting conclusion that we came to in our coversation. The testing field needs to a mature a little before such problems will be alleviated. I think that when testing is taken as a serious discipline across the industry, testers will stop trying to be developers and start trying to be testers.



Amit said...

I think there is more to it than that. What I have found is that testers that are able to build things themselves are better able to evaluate other things that they could be using.

Testing is so broad that sticking to a tool becuase you're used to it or don't really understand how it works leads to applying it to situations where is doesn't belong which is very dangerous.

Yes, as engineers we want to build. What we gain is simply not a tool, but understanding-- which to me is the cornerstone of an effective tester.

It is unfortunate that we have not matured enough as a discipline to hand down this understanding in more practical ways, but we're getting there.

Elisabeth said...

Depending on what kind of testers you mean, I think I disagree.

Seems to me that testers who write automated tests are, by definition, developers. Test automation is programming.

Of course, there are testers who would rather write tools than write tests. Just as there are programmers who would rather write programs that write programs than write programs.

But that's part of learning to be a good developer: learning when more code is not the answer.