Wednesday 3 October 2012

Are Two Testers Better than One?

This sounds like a rhetorical question but the answer is not quite as obvious as you'd think.  By better I mean more productive in terms of doing more useful testing, uncovering more bugs and getting more product coverage.

A more interesting question I'd like to ask is 'Are two testers working together, i.e. pairing, better than two testers working independently?'  I often see it working for developers in helping each other avoid mistakes so why not do the same with testing to increase the numbers of mistakes/bugs found?
For example, if there are a set of regression tests which need to be run, would it be more effective to split up the tests between two testers or have both testers work together?
From a time perspective it seems counter intuitive to believe that there is any chance that the tests will be completed in less time if the testers work together.  If two people's time is occupied by each test then surely it could take just as long as if a single tester were used, thus doubling the cost of getting the work done.

The answer to the question depends on several factors:

How experienced is each tester?
What product knowledge do they each have?
How quickly/efficiently do they work?
Do they work well together?
Are they good communicators?
Are they familiar with the tests?
Do they think and work differently and use different methods from one another?
Do their skills complement one another?

Up until recently I have been doing all regression testing for the area I'm responsible for by myself and, to be frank, it can hard to keep it interesting and different each time.

However, for the last couple of regression tests I have sat side by side and worked with another tester and worked together on what are normally our own separate set of tests.  I looked forward to trying this as, at the bare minimum, I'd have someone to talk to whilst testing.  It was only once we began that I realised the various other benefits of pairing.
One of the main benefits I noticed first was in learning more about the area of the product in which my fellow tester specialises.  I am generally responsible for one area of the product and although I know a lot about the other areas they are not my primary focus, so it was interesting to see how much I could learn from my colleague.
Another advantage was the amount of communication which went on between us so we knew what each other was doing and we could complement each other rather than duplicate the work.
Also, we avoided carrying out unnecessary testing which had already been covered as part of earlier feature testing and bug fixes.  Without this interaction this time saving information would not have been imparted and regression testing would have taken longer than necessary.

There are several advantages I see to pair testing:

  • Increased creativity
  • More efficient testing
  • Time saving
  • Improved communication
  • Keep regression testing interesting
  • Bounce ideas off one another

Other ideas this subject brings to mind are:

  • Pair with different testers to mix things up and bring out new ideas and ways of working
  • Try pairing on other areas of test such as bug fixes and story features
  • Test with 2 or more other testers (may be impractical)
  • Pair when doing exploratory testing

In conclusion I highly recommend trying pair testing even if only as an experiment; what is the worst that could happen?

2 comments:

  1. From my own experiences I find working in this way very effective especially for exploratory testing, we use roles driver and observer and find a lot more is done.

    Do not restrict to only testers we pair with developers and delivery in fact anyone we can who is involved with the project.

    ReplyDelete
  2. Thanks for the comment John. I agree, our developers demo new features to product and test as they are coded, enabling us to catch any issues at the earliest opportunity

    ReplyDelete