[Previous] [TOC] [Next]

Tip 15: Don't test your own software or write your own test plans.


Do you have dedicated testers where you work? Possibly not-not many companies do. Many companies say they "can't afford such a luxury." Well, in my opinion, they're a luxury that's really worth it (as many of the leading software development companies in the world already know).

Independent testers should (and often do) exhibit the following characteristics:

  • Are impartial
  • Are less informed about the usage and the type of input your code expects
  • Are usually more knowledgeable about the usage and the type of input your code doesn't expect
  • Are more likely than you to spend time trying to break code
  • Are typically more leery of your interfaces and more critical of your coupling
  • Are into doing you damage and breaking your code
  • Are more informed than you about system limits
  • Unlike you, actually want to find bugs in your software.

From time to time, Microsoft talks about its ratio of developers to testers: around 1:1. You do the math; for every programmer there's a tester. In fact, rumor has it that some developers occasionally get shifted to being testers. This could happen if a developer consistently develops very buggy software. Nothing like a shift to testing to improve one's knowledge and appreciation of what good solid code involves.

[Previous] [TOC] [Next]