Can I Get a Tester?

 What makes a good tester?  I have pondered this question for a while.  I love testers because the make my code so much better, and I think they are extremely fascinating creatures J.  In a current project that we are working on, we have invoked the power of Unit Testing and some parts of Test Driven Development.  We have about ~100 – 150 Unit Tests per assembly, and each assembly is akin to framework code.  So now that we have these Unit Tests, the test cases that I see coming back from the testers seem just like our Unit Tests.  I have never given this much thought before, but by doing unit testing have we raised the bar for testers?  No longer can they just test all my public API’s with random data, because the unit tests cover 90% of that.  So what do testers have to do now?

I am definitely not a tester, but as a developer it is in my best interest to see the test guys that I work with succeed, so I thought I would give some interesting pointers to things I have found that might be useful in this space. The writings from Brian Marick, Bret Pettichord and Lisa Crispin I find very interesting. Bret’s article Where are the Testers in XP? I think answers most of my questions.  I would love to here thoughts from other testers out there on this topic so as  a developer I can learn more. “Can I get a witness?” J

Comments (2)

  1. Brian Button says:

    If you read those articles, and especially Lisa Crispin’s book, you’d already know the answer 🙂 It would be great if we could get the testers to spend most of their time working with the business folks to figure out what they really want. The act of someone having these conversations with customers of the development process forces those customers to become much more concrete about what it is that they want. Once the customers have decided what they want, the testers can then write some automated tests that define *exactly* what the system should do. The developers can then use these tests as unambiguous requirements about the system. You can quit coding once all tests pass.

    There is still backend testing needed, as the customer tests won’t find everything, but the remaining tests are less concerned with functionality than with performance, scalability, security, etc.