Most helpful positive review
9 of 9 people found the following review helpful
no nonsense introduction to the imporant stuff
on August 5, 2007
I was initially not excited by O'Reilly's "Developer's Notebook" line of books. A lot of things conspired to make me turn up my nose. The design looked too gimmicky, the first few books turned me off (I don't remember specifics, but it was something like Excel Macros, Java Networking, and some other crap), and something inside me just felt like it was a dumb idea. I don't know why: I used to use similar references all the time, back when the Linux HOWTOs weren't useless. Anyway, when I heard that the new Perl testing book was going to be a notebook, I sort of groaned, but I still made sure I got it as soon as it was out and dug in.
Testing is Really Important. It serves as a secondary form of documentation, it makes it easier to add new features, it makes it easier to fix broken features, and it makes your replacement's job a lot easier when you win the lottery and retire early. It's a sad fact that plenty of people don't test their code, and that many of those who want to just don't know how. PTDN is a crash course for those people. It gets right to the point: page one says, roughly, "You know you should be testing, so here's how you do it. First, run the CPAN shell and install Test::Simple."
The rest of the book sticks to that no-crap attitude. "You want to do X. Here's what you do, and here's what happens when you do it." There isn't much of "why should I do this" or "how does this work on the inside" and that's just right. The book isn't there to show you how Devel::Cover works, or to explain the ideas behind agile development. It's there to help you do the job you know you need to do. It's like an old-style HOWTO extracted back one level of abstraction, or a set of nice fat articles on a series of related topics.
In fact, I think it's safe to say that a more traditional technical book on this subject might have been just the sort of overblown self-important thing that would've kept more people scared of and away from testing. Instead, it's a great crash course for the uninitiated.
For the initiated, I'm not sure how useful it would be. I must say that I didn't find many new or esoteric things in PTDN, but I don't think I'm its target audience. I already use and love coverage reports, I aim for full coverage on my code, and I like keeping my eye on the Test:: namespace for neat new tricks. If I were to hire a lackey, though, who wasn't already familiar with testing, this book would be high up on his must-read list. Knowing how to test your software is vitally important, and this book provides a very short path to that knowledge.