Introduction - If you have any usage issues, please Google them yourself
It has been said before but it bears repeating: Writing defect-free software is
exceedingly diffi cult. Proof of correctness of real systems is still well beyond our
abilities, and specifi cation of behavior is equally challenging. Predicting future
needs is a hit or miss affair—we’d all be getting rich on the stock market instead
of building software systems if we were any good at it!
Automated verifi cation of software behavior is one of the biggest advances in
development methods in the last few decades. This very developer-friendly practice
has huge benefi ts in terms of increasing productivity, improving quality, and
keeping software from becoming brittle. The very fact that so many developers
are now doing it of their own free will speaks for its effectiveness.
This chapter introduces the concept of test automation using a variety of
tools (including xUnit), describes why you would do it, and explains what
makes it diffi cult to do test automation well.