Edinburgh Castle
Perl Testing - A Developer's Notebook
AuthorsIan Langworth & chromatic
PublisherO'Reilly
ISBN0-596-10092-2
DateJuly 2005
Pages180
Price£20.95
ReviewerRory Macdonald
Cover image for Perl Testing : A Developer's Notebook

First of all, let me deal with the format. This is my first experience of O'Reilly's "Developer's Notebook" series, and I'm not impressed. O'Reilly spend 4 (!) pages at the front of the book (and half a page at the back) trying to explain to the reader what a developer's notebook is all about - attempting to differentiate it from other books in the O'Reilly series.

This section should not be missed. It prepares the reader for the thin paper, jotter-style hatching, coffee stains, layout and lack of diagrams - which could potentially have the casual browser returning the book to the shelf. I certainly started quietly muttering "what the..." upon my first thumb through.

Oh - and O'Reilly say its not a cookbook. Really really.

I don't care how much marketing makeover is applied to a text, but as far as I'm concerned, when the content follows a "how do I do this" ... "here's how you do this" format - its a cookbook.

Did this marketing makeover help me? No. For example, using a "hand writing" font for comments in the margins is not a good idea when those comments can contain code snippets (eg \x{$0} on p30).

The book is aimed at any Perl developer wanting to use testing to do a better job. This to be accomplished by presenting the "frantic scribbling and notes" of a "true-blue alpha geek".

These scribblings are quite shallow in their coverage of the solutions presented. While this may be in keeping with the book's style, as the book proceeded, this shallowness had me wondering if the book wouldn't be equally effective as a FAQ referencing relevant Test::xxx modules.

I question whether this approach is appropriate for the initial chapter; "Beginning Testing". This chapter is ripe for a (shallow) chat about selecting ranges and values for testing. Without at least an awareness of these issues (boundary value analysis etc), the new Perl tester is still flying blind.

On the plus side, the writing style gets to the "meat and two veg" very quickly. Here's a quick list of items which I felt were usefully covered;

There's something there for pretty much everyone, although there is no mention of testing for Perl software featuring a non-web GUI (eg Perl/Tk).

Summary

I would recommend this book as a good jump-start for those looking for a quick introduction in Perl testing or those looking for inspiration to introduce more advanced testing procedures to their projects.

For those not interested in moving beyond basic testing of straight forward modules I would leave this book on the shelf and read the POD for Test::Simple, Test::More, Test::Distribution and Test::Kwalitee.

My final comment would be that the format and style left me feeling that the book would perhaps be better off as a chapter in the next edition of Perl Cookbook.

Table of contents

The Developer's Notebook Series
Preface
Ch1 : Beginning Testing
Ch2 : Writing Tests
Ch3 : Managing Tests
Ch4 : Distributing Your Tests (and Code)
Ch5 : Testing Untestable Code
Ch6 : Testing Databases
Ch7 : Testing Web Sites
Ch8 : Unit Testing with Test::Class
Ch9 : Testing Everything Else
Index
faded separator

Page maintained via github.com/edinburgh-pm/edinburgh.pm