Alexey Sotskov
Jun 9 · 4 min read




I’ve recently faced a task that required pairwise testing. But I didn’t want to install any software on my computer to generate the result. I just wanted an online tool that could generate me all-pairs. I thought it was fine to expect such things online nowadays. But to my surprise I could find the only one online tool for pairwise generation and it was difficult to use…

That tool solved my problem, but I thought about to create pairwise online tool with better (simpler) UX and make it a part of SQA Mate test cases management tool. At least I need it.

Just 24 hours

On weekends I had some time — so, I thought about to make a 24h sprint to make this tool for real. I didn’t work 24h — I just spent my time the way I wanted to: I’ve been on a 3h picnic with family, watched 3h of video blogs on traveling... I mean, I didn’t code all that time.

Final result preview

First of all I wrote an initial version of this article. I wanted to see the profit of my work for QA Engineers worldwide. How will it look like when it gets done? What will “ newspapers” write tomorrow?


Then I made a simple sketch on a paper (it was already in my head — I just wanted to see it on the paper):

It seemed to be a simple and clear, single-button tool that was easy to be implemented.

Static HTML mockup

That’s why after a fast proof-of-concept sketch I started making static HTML mock-up. Interface design first. I wanted to feel the tool: is it really cool to use it? How it feels to use it?

And I made it to feel cool. “Design for Blank, Regular and Error states” — 37signals taught me from their book “Getting Real”. So, I started design with the Blank state. When you open the tool a short guide is displayed to you. Cursor is already in the input (textarea) field on the left, ready to start getting your job done.

AJAX calls

When design was fine, I started to make AJAX calls to backend. I had to, because I didn’t find any JavaScript implementation for pairwise testing — that’s why I used implementation on server side — allpairspy.

When AJAX calls started working, I’ve reached a Regular state of the app’s work: the app started to generate me pairs:

Errors processing

The last state — Error state. What will happen if an error occur? What will be a reaction of the app? Although, a lot of things may go wrong online, I covered a few major cases and made an initial state to display an error message:

Deploy to production

Then with Codeship CI and self-written automatic deployment system I’ve sent it to production and in 5 minutes the tool appeared in the public Internet:

Then I returned back to this article, put some screenshots, made a few corrections and pressed “Publish” button.

That’s it.


The tool that took me just 24h to make looks good, feels good, is easy to use and it gives visitors all the info both about pairwise technique and ability to generate pairs instantly, online, without registrations and SMS (lol).

Feel free to use it in your daily testing!

If you found this article interesting and useful please don’t hesitate to give it some claps — so I could know, that you are interested to read such articles more and more people could know about it. Also please also don’t hesitate to post a comment if you have anything to say!


Practical Software Testing

Only things that really matter in Software Testing

Alexey Sotskov

Written by

10+ years in Quality Assurance. I write about practical and effective techniques that help me and my colleagues in everyday software testing.

Practical Software Testing

Only things that really matter in Software Testing

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade