Sometimes two is better than one. In pair testing, two people sit behind one machine to test the software. One person controls the mouse and keyboard. The other person asks questions, discusses test scenarios, and takes notes. Pair testing is a type of exploratory testing, where two team members discuss and share ideas and scenarios around the software.
Pair testing is a collaborative effort, versus a single-person testing effort. Typically, one of the team members is a tester and the other is either a developer or a business analyst.
Pair testing is not meant for executing formal test cases and should never replace other types of testing. It often works well in agile environments as a supplementary part of the overall development and QA process.
How to do Pair Testing
Pair with Someone
The first requirement is finding two people who can work well together. If there are personality clashes with the two team members, pair testing will likely not work. The team members must be able to communicate with each other and share the goal of increasing the overall quality of the software.
Prepare the Environment
It’s important to be prepared and have the appropriate environment setup. Find a quiet room with enough space at the desk for two people, avoid distractions, and try to commit 1-2 hours to the session.
Determine the Goals
Pair testing should not be used to execute formal test cases, but it’s a good idea to come prepared with a simple list of ideas and areas you want to cover. You could be testing a new feature, or multiple components… just have some sort of idea on what you would like to accomplish.
Determine the Roles
Determine who will be controlling the keyboard and mouse; this person is called the “driver”. The other team member, the “navigator”, will help guide the session, think out-loud, and suggest certain scenarios. Once you’ve completed the session and you have your notes, log the bugs and feedback.
Bugs shouldn’t be logged during the testing session – wait until the session is over. Use the testing time to discuss ideas, scenarios, and to try different things. And remember, once the session is over, take the time to log well-written bug reports. Your team will appreciate it.
The Advantages of Pair Testing
While pair testing might not work with every team, there are several advantages to this type of testing:
- It helps transfer knowledge. New information is shared and new perspectives are discovered.
- It often promotes negative testing. It’s not uncommon for software developers to code for the happy path and not focus as much on the negative scenarios. Pair testing ensures more angles are tested.
- When identifying bugs, the information is validated by two people. This ensures that when bugs are logged, they are logged accurately and with the necessary information.
- It can save time. In a pair testing session with a developer, the developer might be able to point out the cause of bugs quicker since they are familiar with the coding and framework.
- Pair testing is fun, helps build culture, and breaks down barriers. When two people work together, it can lead to a better understanding of each other. This creates a stronger working environment and both team members gain an understanding of the complexities of the software.
- Pair testing improves communication. Perhaps the most important part of business, communication skills are honed as two people work through challenges together.
- It breeds positive energy. As long as the two people get along, pair testing can often lead to new, positive energy. Working together to solve problems creates a team atmosphere.
- Pair testing can be used as an opportunity to train other employees. For example, customer support can be the “navigator” while the tester “drives” – this allows customer support to understand the workings of a feature and can also help drive good support documentation for customers.
Pair testing is a unique approach to software testing. Different than most other types of software testing, two people work together to explore a feature or component and the software and the team are ultimately affected in positive ways.