Test Tools

This is a repository of some test tools written, in whole or part, by James Bach, or authorized to be distributed by him. These tools are free and open source. They are offered under the GPL 2.0 license.

ALLPAIRS Test Case Generation Tool (Version 1.2.1)

Download ALLPAIRS (ZIP format; includes a little tutorial and example)

Let's say you must test something that involves a lot of different variables. Configuration testing is like that: different printers, different print options, different documents. Who knows what combination will fail? But you can't try all combinations of all variables together, because that would be too many tests. So instead, you could create tests that pair each value of each of the variables with each value of each other variable at least once. Allpairs is a tool I wrote that will find a reasonably small set of test cases to satisfy that coverage standard. For instance, to try all combinations of 10 variables with ten values each would require 10,000,000,000 test cases. Allpairs only requires 177 cases. Allpairs is a command-line executable based on a Perl script. Source is included.


Download PerlClip (ZIP format)

Sometimes you need to test a text field or document with different kinds of stressful inputs. But, it can be a pain to prepare the text data. PerlClip is a tool that helps you do that. PerlClip places prepared text into the Windows clipboard so you can paste it wherever you need it.

You can run the Perl script, or click on the EXE version (a DOS console window appears when you do that). Enter the text pattern you want to produce. You can enter the following things:

When you see the "Ready to Paste!" message, the clipboard is prepared.


Download Log-Watch (ZIP format)

Do you ever test something that creates a log file as it goes, reporting strange events and possibly errors that might not appear through the UI? It might be useful to have a little audio feedback while you're testing, so you can use your ears to home in on interesting patterns while your eyes are focused on the screen.

This is a simple tool that watches a streaming text file, such as a server log file, and plays sounds when certain strings appear. Run it from a DOS command-line by providing the path of a file you want to monitor, like so: log-watch C:\logs\access.log

Edit watchlist.txt to include the strings you want to monitor and the corresponding WAV files you'd like to play. It's a tab-delimited file. For example:

error       error.wav 
exception   error.wav 
/\b4\d\d\b/ code_4xx.wav 
pdf         pdf.wav          

If you put forward slashes before and after the string in the first column, it will be treated as a Perl regular expression. Otherwise it will be treated as a literal string. So, the weird looking third line, above, will match any number from 400 to 499 if it appears with whitespace around it.

Every time a string or pattern on the left is found, the wave file on the right will be played and the corresponding line printed to STDOUT. Be sure that the WAV files you reference are in the working directory of the tool. The error.wav file I've included is my own raspy voice during a bout of bronchitis. It sounds better now.



Upcoming Events


July 07-09
Christchurch, New Zealand
Corporate Training: Rapid Software Testing

July 11
Christchurch, New Zealand
Meeting On-Site with Kira Karlina and Team

July 09-11
Tan Binh District, HCMC, Vietnam
Corporate Training: Rapid Software Testing with Paul Holland

July 14-15
Tan Binh District, HCMC, Vietnam
Corporate Consulting with Paul Holland

July 13
Christchurch, New Zealand
Tester Coaching Session with Huib Schoots via Skype

July 14
Christchurch, New Zealand
Corporate On-Site: "Rapid Testing Briefing"

July 15-17
Christchurch, New Zealand
Corporate Training: Rapid Software Testing

July 18
Christchurch, New Zealand
Corporate Consulting

July 24
Beijing, China
Corporate Presentation: "State of the Practice in Context-Driven Testing"

July 25-26
Beijing, China
Public Class: Rapid Software Testing, 2-day

July 27-30
Beijing, China
Conference: ChinaTest 2014

July 28
ChinaTest Conference, Beijing, China
Half-day Tutorial: "Critical Thinking for Software Testers"

July 29
ChinaTest Conference, Beijing, China
Keynote : "Software is a Side Effect: Your Real Job is Rapid Learning"

July 31- August 1
Beijing, China
Corporate Training: Rapid Software Testing, 2-day

(click here to see the whole schedule...)