Introduction to pairwise testing

Alexandr Romanov
What is pairwise testing? Google it!

Pairwise (all-pairs) testing is an effective test
case generation technique that is based on the
observation that most faults are caused by
interactions of at most two factors.
Pairwise-generated test suites cover all
combinations of two therefore are much smaller
than exhaustive ones yet still very effective in
finding defects.
Pairwise testing: give us an example

Simple

Combinations: 2x2 = 4
Pairwise testing: give us an example
Simple
Combination number

Bed linen

Tea

1

checked

checked

2

unchecked

checked

3

checked

unchecked

4

unchecked

unchecked
Pairwise testing: give us an example
Pairwise testing: give us an example
Combination
number

Seat type

Bed linen

Tea

Gypsies

Demobees

1

Berth

checked

checked

checked

checked

2

Coupe

checked

checked

checked

checked

3

Lux

checked

checked

checked

checked

4

Berth

unchecked

unchecked

unchecked

unchecked

5

Coupe

unchecked

unchecked

unchecked

unchecked

6

Lux

unchecked

unchecked

unchecked

unchecked

7

Berth

unchecked

unchecked

unchecked

checked

8

Coupe

unchecked

unchecked

unchecked

checked

...

...

...

...

...

...

Combinations (all): 3x2x2x2x2 = 48
Demo
Combination

Seattype

Bedlinen

Tea

Gypsies

Demobees

1

Berth

checked

checked

checked

checked

2

Berth

unchecked

unchecked

unchecked

unchecked

3

Coupe

checked

unchecked

checked

unchecked

4

Coupe

unchecked

checked

unchecked

checked

5

Lux

checked

checked

unchecked

unchecked

6

Lux

unchecked

unchecked

checked

checked

Combinations (pairwise technique applied) = 6
Do we need to do it manually?

Tools:
- All-pairs - free
- PICT - free
- Jenny - free
- Hexawise free/commercial
others;
Should we use pairwise everywhere?!

Always remember:
- Use pairwise testing technique when it’s
necessary;
- Explore your system under test;
- Select the right values to test with;
- Pay attention to high probable fail
combination;

Introduction to pairwise testing