There’a a good article on the benefits of pairwise test over at Tyner Blain. I’ve said before that I believe that Extreme Programming is the way to go in the future for software development, but that it has two big hurdles to overcome: a) explaining it to management, b) making it work better with project management.
The XPers will tell you that iterative releases will solve the PM issues, but I’m not totally sold that that has all the answers. That, however, belongs to another topic. This post deals with a). Show this article to your manager, and if it doesn’t get them at least thinking about pairwise programming, then it’s time to find a new manager.
Stealing a little thunder from the article:
For a complex system, the amount of testing required can be overwhelming. Imaging a product with 20 controls in the user interface, each of which has 5 possible values. We would have to test 5^20 different combinations (95,367,431,640,625) to cover every possible set of user inputs.
The power of pairwise
With pairwise programming, we can achieve on the order of 90% coverage of our code in this example with 54 tests! The exact amount of coverage will vary from application to application, but analysis consistently puts the value in the neighborhood of 90%.