More Tester Exploration

A few days ago, I began a verbal exploration of testers who code and coders who test. That post provides some context for today’s continuation, so if you have a moment, go ahead and check it out.

OK – I know you didn’t read it (or you read it already), so I’ll give you the summary. There are coders, testers, coders who test, testers who code, and many variations in between. If it’s good for a coder to have some test knowledge, it certainly can’t hurt to have some knowledge of code if you’re a tester. My contrived exercises asked you to consider what mix of testing and coding knowledge you’d pick when staffing a team. The spectrum of awareness and infusion of coding and testing skills looks a bit like this:

image

But that’s not (as some of you pointed out) the full picture. I know fantastic testers with tons of experience and the ability to find the the most important issues quickly and efficiently – but they’re jerks (and that’s putting it nicely). It doesn’t matter how awesome you are, if you’re a horrible teammate, I don’t care.

it’s been 35 years or so since I played any paper based role playing games, but when I did, we had these “character sheets” where we kept track of our characters stats and experience. Something like that would give a lot better picture of the full picture of a good software developer.

image

It’s not perfect, but it helps to see the big picture (and I’ll be the first to admit, it’s difficult, if not impossible, to measure people on a scale like this) – but as a leader, you can certainly consider the type of people you want on your team. You can’t just hire the first code-monkey (or “breaker”) you find and expect to have all of your problems solved. When I make hiring decisions, those decisions are based an itty-bitty bit on whether the candidate can do the job, quite a bit more on how they will fit in with the team, and a whole lot on how well I think they’ll be able to help the team months and years down the line.

And with that, the intro to this blog post has turned into an interlude, so I’ll wrap this up later this week. Great discussion so far (in comments, twitter, and email) – please keep it up.

Similar Posts

  • The Test Test

    I am always frustrated and somewhat sad when I hear testers whine or complain that they are not treated fairly; or that they are not respected; or that their development peers look down on them. I’ve been sitting on this post for many months wondering if I should post it or not when this thread…

  • Filling A Hole

    I haven’t blogged much recently, and it’s mainly for three reasons. I’m busy – probably the hardest I’ve worked in all of my time in software. And although there have been a few late nights, the busy isn’t coming from 80-100 hour weeks, it’s coming from 50 hour weeks of working on really hard shit….

  • Wrote About Testing

    I think it’s been a long time since I took more than a week between posts. I was busy at WAT2, and then busy catching up from being busy at WAT2. I’ve had a busy travel schedule this year (a plane trip every month so far this year), and although Durango is closer to home…

  • HWTSAM – One Year Later

    I think it’s been a year since How We Test Software at Microsoft made its way to store shelves (and amazon). For the first few months, I watched the amazon sales ranking multiple times a day. I took a screenshot last December 18th that shows one of the few times we hit the #1 testing…

3 Comments

  1. I can’t fully agree with you on “it certainly can’t hurt to have some knowledge of code if you’re a tester” – as it probably make you a bit biased to how you would expect things to work,
    But I would agree that the benefits probably overcome the downsides.

    Just as having all the work being done by testers experienced in the application technical field (or by automation) may lead to neglecting test cases where user has made mistakes, and these leave some leftovers which cause a fault later on.
    (most of the time when one comes to “Reuse” that object)
    Experienced people hardly make mistakes – but normal users often do.

    @halperinko – Kobi Halperin

    1. You are not the customer.

      Period.

      You’re part of the development team, and any notion you have that knowledge of tech somehow influences your ability to “act like the customer” is a myth. At least that’s what I’ve seen in my experience. You’re welcome to supply any data to the contrary.

      Beyond that, it’s important to note that “code knowledge” doesn’t necessarily mean “test automation”. It means that automation may be an option, or maybe it’s analysis or monitoring tools, or batch file deployments or windows scripting to accelerate test setup or …

  2. My answer (which is based on my experience) is “it depends”. It depends on many factors which can form another (long) discussion.
    I am not sure testers can keep being not code aware forever, but the best programmers I know are also test aware.
    Test automation is a different story. To be any good at it you have to know how to code (at level which is again “it depends”).

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.