Collaboration between different members of the team is very common when it comes to Agile Teams. One of the methods that has been around for many years and very popular amongst the testing community is Pair Testing. It is an easy and effective way to improve an application. If you’ve never heard of Pair testing before, take a deeper dive into this article to learn more.
What is Pair Testing?
As the name suggests, in Pair Testing, two individuals share a single machine and work together to evaluate the same application. Simple as that!
How does it work?
- One of the two team members acts as the Driver and executes all the tests. This person is in control of the Mouse and Keyboard.
- This makes the other member the Navigator. The Navigator is in-charge of directing the session.
- Pair testing is usually timeboxed from 60 to 90 minutes.
- The members may or may not switch roles.
- Pair testing is a form of Exploratory testing and is best done without pre-written test cases or scripts, which usually limits the scope and thinking.
- Pair testing can be performed in-person or remotely.
Whom to Pair up with?
For Pair testing, testers usually pair up with other testers or developers. But it might change according to the requirements. Which means you can pair up with anyone from the team to get the desired results. Here are some of the common combinations:
- Pairing with the Developers gives the testers an insight of the software, how it was built, debugging etc. It also helps the tester to understand the approach the developer might have taken to build a certain functionality.
- Pairing with other Testers is a learning experience. By doing so they learn heuristics of other testers.
- Pairing with a Product Manager helps them understand what problems are they trying to resolve, the scope of the project and get a better understanding of any new requirements.
- Pairing up with Designers is especially useful when they are testing the UI of the software. This way they can understand the scope of the design and suggest if anything else is needed.
How to perform Pair Testing?
When your goals for pair testing are clearly chalked out, performing it should not be difficult. Here are some of the most important things to keep in mind before you begin pair testing:
- Pairing up with the Right Person: Although you can pair with anyone, it is always better if both individuals have a sense of each other’s working styles, can adequately communicate and understand the goals effectively.
- Allocating Space: The Pair should allocate a device and space where they can seat together and perform the needed test. With the current situation this can be done using Video Conferencing tools where the driver would share the screen.
- Establishing Goals: Although Pair Testing is exploratory testing, they should plan a structured approach. At least note down the areas to be covered, timebox the testing, be aware about the changes done and the affected areas.
- Deciding Roles: Before the testing starts, the role of driver and the navigator should be assigned. It should also be made clear if they can switch roles in between the process.
- Logging bugs and taking notes: While the Driver performs all the manual tasks, the navigator should take notes and maintain the bug log. Once done, they should log all bugs, observe and maintain a bug report.
When to perform Pair Testing?
There can be a number of situations when you would need to perform Pair testing, but here are a few common scenarios where pair testing might be effective:
- Tester pairing up with developer to test on the developer’s local server to verify changes that might have a larger impact area.
- Pairing junior/new testers with a senior tester so that they can quickly get familiar with the software
- It also helps in collaboration among the various members of the team with different roles and expand the purview for QA processes.
- With critical bugs in place, testers collaborating with developers can help debug and/or reproduce the issue which in turn may help identify new issues, impact areas and behaviors.
What are the Benefits of Pair Testing?
Helps in breaking down the silos promoting better collaboration
Developers and testers tend to work in silos considering the type of work they do. Pair testing helps break those silos and promotes collaboration between various team members having different job descriptions. It also helps with knowledge sharing and gives an insight of each other’s roles. Apart from this it helps develop intern-team relationships.
Helps with getting new perception and approach which in turn leads to better accuracy
Teaming up with people having different skill sets helps the testers look at a software from a new and different perspective. It also helps with the extensive understanding of the software. People who have been working on the same application know the features well and might not have the right set of eyes for an end user perceptive. A fresh pair of eyes might see something that was not noticeable previously. This is also known as the Curse of Knowledge.
It promotes knowledge sharing
Although it doesn’t have any tangible benefits, its importance should not be denied. People with different expertise will understand how diverse the SDLC is and how different roles work. It also helps people to connect and hence they work better together in future as well.
Helps in improving the efficacy of testing
Sometimes problems can go undetected as an individual is working on the same software for a long time. So when they pair with someone new, those fresh pairs of eyes may detect bugs. An Individual with none to less knowledge on the software will have a fresh perspective. Thus, bug-free applications can be released to the customer.
Helps with knowledge sharing and training new members
A lot of the testers in the community use this method to train new joiners. Here the experienced tester would be the Navigator and the new joiner will act as the Driver. This helps improve domain knowledge and increase productivity.