few internal employees. These turned out to be easily rectified, and why not improve usability where you can?
As Michael learns our product, we’ll lose the advantage of his fresh set of eyes. But by pairing, our differing viewpoints will help us retain a fresh perspective. In my experience, you get the most value when you pair with someone whose testing approach and personality traits differ from your own. Each of you will see a different side to the software and push in different directions.
When I pair with another tester, programmer, or business expert, I’m less likely to be distracted. This focus extends to updating the wiki immediately or writing a new automated test case to document the discovery we just made. With two of us bouncing ideas off each other and analyzing results, we’re more likely to pursue that funny code “smell,” building on each other’s observations and ideas.
Shared Understanding, Better ROI
My team has found that when a tester and programmer pair to write business-facing tests that drive development, we usually find differences in the way each of us has interpreted the customer’s desires for the user story. This leads us to use the “power of three” and get the customer involved in the conversation.
In addition, combining the programmer’s code design expertise with the tester’s knowledge of the right tests to write ensures our automated tests are more efficient, maintainable, and valuable. My fellow testers and I have programming experience, but we aren’t designing production code every day. Over the years, my programmer teammates have grown good testing skills, but they still don’t think of all the good questions to ask. Working together to turn examples into automated tests and overcome obstacles to automation ensures a good long-term return on our significant automation investment.
Courage and Confidence
Testing alone is the path of least resistance. Pairing requires that you get out of your comfort zone. Make the effort. On my own, I can talk myself into saying, “Being $17 off is no big deal; I probably just made a math mistake.” When I paired with Michael, he wanted to know what caused that $17 difference. Pair testing gives me the confidence to explore further and really make sure our application behaves correctly. Pairing on test automation builds my courage to take on difficult automation challenges.
There are so many pluses to pairing, but it’s a more intense experience than working on your own and can be tiring. I still find myself slipping into that lazy or sometimes panicked approach of doing testing activities on my own. Like any habit, pairing takes time and practice. At our daily standup meeting, I look for opportunities to pair. In pair testing, we learn faster and find more issues in a shorter amount of time, so even short time boxes of pairing work well. If you’re not pairing now or you’ve fallen out of the habit, experiment by testing with a teammate for an hour or two. I’d love to hear about your own experiences with pair testing.