The above question was asked in response to my Do Developers Make Good Testers? post. Since I am in the process of hiring another tester I thought I would take a stab at it. These are qualities for a fairly generic software testing position.
A good software tester…
- Constantly asks, “What is the best test I can execute right now”.
- Can log unambiguous bugs with clear repro steps that make the main problem obvious with few words.
- Is not distracted by their understanding of developer decisions. Just because the tester may understand certain technology constraints motivating dev solutions, the tester’s mission is never to defend the AUT (see my post, What We Can Learn From Dumb Testers). It is to communicate how the AUT currently works, in areas that matter right now.
- Has the capacity to understand the stakeholders’ business.
- Is technical enough to see how one component of a system affects the entire system.
- Has keen problem solving skills. They can control multiple variables until locating the problematic variable. They have just enough persistence without having too much. They know when to quit and move on.
- Is an expert communicator and listener who demands complete understanding.
- Is humble enough to ask all questions (even stupid ones) but cynical enough to seek answers from multiple sources (trust but verify).
- Is organized enough to follow through with tasks, while at the same time noting potential future tasks.
- Is capable of isolating observed software behavior, within an ocean of dependencies and communicating those behaviors to the team. They can look at components of an incomplete system and determine actual pros and cons by imagining the complete system.
- Respects fellow developers and BAs. Understands the harder the tester works, the better the developers/BAs look.
- Is enthusiastic when finding pre-production bugs but depressed when users find post-production bugs.
- Can handle stressful deadlines, make quick decisions, and give up preferred processes for those that ultimately are in the stakeholders' best interest.
- Is an active participant in the software tester community, reads testing books/blogs, and participates in local test groups.
- Has good work ethic; can meet deadlines or communicate they will be missed, works more than 40 hour weeks when necessary, is organized and professional, cares about the team’s success, honest, follows mandatory work procedures, is SOX compliant, etc.
Labels: software testing career