A classic question that shows up on mailing lists on a semi-annual basis is ‘What are the attributes that make a good tester?’ which of course brings out an often conflicting list of ‘curious’ but ‘analytical’, etc.. But what if we anthropomorphized an automated test? What attributes would it have?

  • Paranoid – Never ever, ever, ever, ever, ever trust the client. If something says it happened in the front-end, verify it at the source.
  • Organized – Tests need to have some organizational structure; functional, structural, personas, tags
  • Lazy – Test only what needs to be tested rather than what could be tested
  • Effective – Understands the Minefield Problem and the Pesticide Paradox
  • Efficient – Unwilling to duplicate effort (DRY)
  • A Student of History – See the vast majority of xUnit Test Patterns
  • Linguistic – Uses the right (programming) language for the right task and speaks the local dialects (DSL)
  • Humble – When they fail, they readily admit failure
  • A Learner – Doing the same thing over and over is dumb. An automated test should not be dumb.
  • Helpful – If you are at A and you need to be at B, then they will help you get there as speedily as possible

Thanks to Lisa Crispin and Janet Gregory for seeding the idea.