Who Is A Good Tester?

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.
What have I missed?

11 comments:

  1. John Stevenson said...

    Very good post Eric.

    I posted a similar question on twitter and these are some of the responses I got:

    Able to measure using qualitative measures backed up with quantitative measures IF required.

    Has excellent comprehension (understands problem WITHIN CONTEXT, observation, & clearly articulates important info) (@TestingMentor)

    The ability to retain your uncertainty when all about are losing theirs. (@hmsteinman1)

    I would say good listener and excellent story teller (@steveo1967)

  2. Basim Baassiri said...

    another quality to add that might not be implicitly said, is the ability for testers to read and understand code. For example, one might approach an AUT differently if they have already read the unit tests. If the unit tests clearly exhaust boundary checks, then the tester might focus their efforts more on the business rule verification.

  3. Anonymous said...

    Hi Eric

    Thanks for answering my question!

    One point missing in your list...
    Good coding skills are a plus
    Is it ?

    Thanks
    RP

  4. Rikard Edgren said...

    + quick learner

  5. prostopher said...

    A good tester also makes wheat free sandwiches for their gluten intolerant developers.

  6. Saurabh said...

    Very good post.

  7. Richard Siemens said...

    A few more (from our organization at least):
    1. A good tester is aware of the current status of the test effort for the AUT and can give an informal update when required.
    2. A good tester is able to defend the the test cases on their schedule to execute (and if skipping any of them, give a defense for that decision too).
    3. A good tester knows when it is appropriate to deviate from a test case. Also knows when it is inappropriate to deviate from a test case.
    4. A good tester is respectful of the time of developers and other testers.

  8. automationbeyond said...

    Hi Eric!

    You've brought together a great set of expectations. I used it in my blog post "They want to hire good testers".
    http://automation-beyond.com/2010/05/12/they-want-to-hire-testers/

    Thank you,
    Albert Gareev

  9. Faye said...

    1) A good tester knows when to test outside of the box

    2) A GREAT tester never stops asking questions.
    3) Knows the difference between verification and validation

    Don't think I can support the statement: "The harder the tester works, the better the developers/BA's looks." It opens up that dark place where people ask silly questions like "Should testers be held accountable for defective software?"

  10. Eric Jacobson said...

    Faye, I love your #2!

    #3 - I used to know but now I forgot. What is the difference between verification and validation and why should testers care?

    So what's the answer? Should testers be held accountable for defective software?

  11. Software Testing said...

    Thanks for the article, excellent stuff.



Copyright 2006| Blogger Templates by GeckoandFly modified and converted to Blogger Beta by Blogcrowds.
No part of the content or the blog may be reproduced without prior written permission.