Let's test together!
Tags: testing, team, tooling
Published: 2022-11-14 13:34:15

Pair Testing has been one of the best ways for me to explore the product as a QA Engineer, find ideas to improve in the product. At the same time it enormously helps to encourage team communication, which leads to innovations!

### What is Pair Testing?

Basically, pair testing can be done by two actors: driver who controls the test through the mouse and keyboard and navigator who takes note, makes some suggestions and assumptions. 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/05n1ejw7abuyvcd696i4.png)

During the process there is a great opportunity to discuss difficult cases and report them. 

### What are the benefits of pair testing?

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4s1xk86ihffltoe0w20r.png)

**Communication benefit.** This is a perfect chance to get to know each other better, especially if there is a new member in the team.

**Having two perspectives.** The hardest part in testing is that it is almost impossible to find all test combinations which could be performed. By having two people in front of the computer it becomes easier to come up with edge cases. 

**Mentorship opportunity.** There is always something that you can learn from your peer during the session.

**Exploratory testing.** Usually this is a target for pair testing. It encourages peers to allocate some time for exploring some scenarios and provide feedback on new features.

**Think beyond.** Individually our thoughts can be narrow, in that we may continue doing things in our own way. But when we collaborate, the process encourages us to think beyond, discuss, and actively examine our ideas.

### How to conduct pair testing?

**Before the Pair Testing Session:**

- Block time in the calendar. Usually session takes 60 or 90 mins
- Find right people to collaborate, it usually depends on the goal of testing
- Define testing plan for the session:

1. _Target_: What to explore? Are there any specific test scenarios to test? If documentation/requirement is available, attach it to the document. 
2. _Resources_: What resources do you need: special configuration, a dataset, a tool, etc.
3. _Information_: What kind of information do you want to find: is it a bug or improvement in the system?What kind of testing do you want to perform: security, functional, performance, usability, etc.?

- Define specific test cases you want to explore. Usually before the session one of peers prepares a checklist in the shared document, it helps to be on track during the session and finally achieve goals

**During the Pair Testing Session:**

- At the beginning of a pair testing session peers should clearly define roles.
- During the pair testing session try to communicate, speak up and ask questions. It can help equally contribute to the testing process by providing ideas, suggestions and examine assumptions. 
- Look beyond obvious scenarios. Try to think out of the box! If you are testing login page, you have to look not only to positive scenario, but also consider testing permissions and visibility of pages which you should, and should not have an access to. 
- Do not forget to collect logs and take notes: capture all information which could be useful to others. It might be observations, possible risks in this software area, limitations. If you find places for improvements or bugs - create reports for issues. If there are questions which need to be answered by the project manager or developer, include them in the document as well.

**Debrief:**

At the end of the session both testers reflect on the process and their impression. They summarise findings and share observations. It could be worth discussing what went well and what could have been done differently next time. There are some questions which can help you assess the process:

- Did you feel productive and confident during the pair session?
- Did you learn something new?
- Have you had a chance to uncover risks and issues?
- Did you reach the goal of the session?

### What about pairing with other team members than just testers?

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8o2qslfmhv8dly81hc3l.png)

Testers usually prefer pairing up with other testers and developers. But you can pair with anyone in the team: product manager, business analyst, support, designer, etc. if you see the value and possible positive outcome from the pair testing session: 

- Pairing with a programmer can give you insights into how software is built, where to find logs and how to debug;
- Pairing with product manager can expose you to the problems that we are trying to solve by building this software solution;
- Pairing with designer allows you to discuss UI/UX issues from design perspective and learn something new;
- By pairing with people from different backgrounds, you will learn new skills, tools and techniques. 

Please, find more information on what are the benefits from different types of collaboration in the article by Ministry of Testing: 

{% embed https://www.ministryoftesting.com/dojo/lessons/two-heads-are-better-than-one-the-benefits-of-pair-testing-across-disciplines %}

And how to benefit from pairing with developer: {% embed https://www.ministryoftesting.com/dojo/lessons/pairing-with-developers-a-guide-for-testers %}