How to Conduct Pair Testing

How to Plan and Execute Pair Testing

Overview: Pair testing is a software testing technique in which two members of agile team work on the same feature, together, at the same time- even using the same system with continuous interaction, idea exchange and feedback exchange.

This is a unique technique and is usually preceded by Pair Programming. It is also known as “Buddy Testing”.

This software testing technique is categorized as “exploratory” testing.

Process of Pair Testing and Who can do it?

In Pair Testing, two individuals are paired together and are responsible for different tasks to ensure functionality is working as expected.

While one person might be executing the test i.e., he/she is in control of mouse and keyboard, the other member from the pair is responsible for reviewing and analyzing the process.

The second member can take notes, create scenarios on the run to be executed and document the results.

In a practical industry set up, the pairing is more likely to be between a tester and business analyst. It can also be between Tester and a developer or two testers.

As mentioned earlier, Pair testing is more of exploratory technique and is adopted to complement the formal testing. It is not a replacement to formal testing techniques.

Hence, the pair of team members involved in this type of testing should be highly experienced members of the team to be able to use this technique effectively.

However, in some cases, this technique is also used to train a new joiner/novice by pairing them up with an experienced person from the team.

Why should one use Pair Testing?

  • Two heads are better than One
    • Pair testing is a collaborative effort versus a single person testing effort. Hence, it brings two different perspectives on table. Sometimes using this technique might even result in change of requirements because of a different viewpoint which came into light and was probably not thought earlier.
  • Promotes Knowledge Transfer within the team
    • Pair testing promotes knowledge transfer. When two people work on same feature together- they exchange ideas and knowledge which helps both the team members to improvise on their skills and product knowledge.
  • Time-Saving technique
    • When pair testing with a developer, they might be able to point out the cause of bugs quicker because they are familiar with the coding and design. When pair testing with a BA, they can easily bring in customer perspective to include certain scenarios. It saves time compared to traditional bug logging cycle and waiting for inputs from BA/developer.
  • Better bug Identification and Investigation
    • It’s very common for developers to code mostly for happy path scenarios, while paying less attention to negative scenarios. Pair testing enables the testing of broader areas, covering more negative scenarios, promoting lesser bugs in final product.
    • Sometimes, in traditional models, defects are rejected because developer is not able to replicate them or is not aware of the pattern and exact conditions. In pair testing, this situation is avoided because developer can quickly know the root cause as he/she is aware of the steps followed in testing and test conditions/data taken for the test.
  • Better Coordination
    • As we know, Agile model needs communication- a lot of it. There is no scope of communication gaps for agile models to succeed. Pair testing promotes communication and coordination to a great extent. Communication skills become better as two people work through challenges and issues together.
    • It can give a lot of exposure if one of pair participant is an actual product user or stakeholder.

When should we not use Pair Testing?

  • When application under test is not designed for a Pair testing
    • If we are working on testing a batch application, there is no point to engage in Pair testing. It is more efficient if done by a single team member.
  • When requirement is to fully automate the tests
    • If a client expectation is to fully automate the test suite by API or UI tests, we should avoid doing pair testing as it is not automated and will not help achieve client expectations.
  • When requirement is to have structured tests only
    • If the demand from project/client is to execute only structured tests, pair testing should be avoided. However, this is highly unlikely.
  • When team members do not get along
    • If you have two team members who cannot work together because their personalities do not get along, you should not pair them for testing. It will be counterproductive.

How to plan and execute Pair Testing?

Pair testing can be an impromptu or a planned activity. If it is a planned activity – it is called Active pair testing. If impromptu, we call it Implicit pair testing.

For planning a pair test, we should take care of below –

  • A workspace to allow the pair to work comfortably without any external disturbances.
  • We should define the scope of testing. Exploratory testing does not mean that that pair testers wander. They should focus on feature under test.
  • Agreement on time to spend on this testing i.e., paired testing should be time boxed.
  • While doing the pair testing, one person who is working on tests should execute whereas the other partner should think out loud on scenarios, outcomes and take notes for documentation purposes and should have tangible outcome towards end of activity.

Usually a pair testing session is for 60-90 minutes but it is totally dependent on team/project culture fitment.

Challenges of Pair Testing

  • It cannot be automated.
  • It may become difficult to identify what is tested and what is not, if teams are not mature in this approach.
  • Sometimes, pair testing may not get proper documentation resulting in missed defects/traceability.
  • Sometimes, personal differences of approach also creep in, resulting in lesser efficiency of the entire exercise.

Conclusion: Pair testing is a coordinated testing effort. However, it has a lot advantages above single person testing. It helps in knowledge sharing (about testing and about application under test), in training new team members and it is fun too! We should use Pair testing wisely to complement the rest of testing effort for better results.

*********

Software QA Blog by premier career site for job seekers and employers in the software testing industry - Qualitician.com - an online portal that lists software testing jobs from all over the nation.