« Testing Anti Lock Brakes | Main | Job Descriptions as Cubby Holes »
February 01, 2005
Development = = Testing
In most software development organizations there is a clear division between the people who write software and the people that test the software. I always felt uneasy about this division, especially during the last few years where I've been fortunate enough to work on both sides of this divide. The fundamental assumption in this organizational scheme is that you need different people to do the testing than you need to write the software. I have several concerns with this.
Testing is Part of Software Development
Since when did testing become an outside activity to development? Maybe I just don't get this concept, but to me, testing is fundamental to software development. Take any developer who hates testing their code and I'll show you someone who happens to test their code in a very unstructured or lazy way. It doesn't mean that they don't test their code. Otherwise, how could they have even the slightest confidence in the code they produce? So what most developers end up doing is some minimal, manual testing to make sure a few superficial test cases pass and then declare the code as "complete" and pass it on to the testing department for more thorough testing.
What we, as developers, are essentially doing is passing the buck to someone else to verify the quality of our code.
Are Testers Necessary?
Yes they are. There will always be a need for a group of people to try and break software that developers produce. What I am saying, though, is that testers should be given higher level testing responsibilities. We shouldn't be relying on testers to answer questions like "does the software do the basic things it's supposed to do?". Instead, testers can answer questions like:
Currently, testers are forced to answer just one question: does the software work? From my experience, that's what they spend the majority of their time figuring out. As developers, WE should be answering that question and free up tester's time to answer the more complicated questions about our software. As developers, we should be taking more responsibility for the quality of the software we produce.
Posted by Misha Rybalov at February 1, 2005 05:59 PM