Attributes of an Automated Test
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.