A.1. TestingThe art of testing is a big topic in its own right. Working with an experienced tester is a good way to pick up testing attitudes and skills and to learn about tools. Many general books on software testing are complementary to this book [KBN+02, KBP02, Mar95]. Few, however, assume that tests are written up front as a way of expressing business requirements. In Testing Computer Software, Kaner et al. [KBN+02] introduce testing in general. In Lessons Learned in Software Testing, Kaner, Bach, and Pettichord [KBP02] show how to apply testing successfully. In Integrated Test Design and Automation, Buwalda, Janssen, and Pinkster [BJP02] cover the management and activities of testing from a tester's point of view, including automatic tests. Their design and use of "action words" have some similarity with the style of Fit, but they do not use a specific automation framework. In Testing Extreme Programming, Crispin and House [CH03] discuss agile testing within the context of Extreme Programming and so share a common point of view with us about how to develop software incrementally. Pragmatic Unit Testing by Hunt and Thomas [HT03] and JUnit Recipes: Practical Methods for Programmer Testing by Rainsberger and Stirling [RS04], are the closest in spirit to our book in that they also introduce a testing framework. However, JUnit is designed for programmers to use and plays a different role from Fit, which is intended for communication with businesspeople. |