Perl Testing: A Developer's Notebook (Developers Notebook) | 
enlarge | Authors: Ian Langworth, Chromatic Publisher: O'Reilly Media, Inc. Category: Book
List Price: $29.95 Buy New: $16.45 You Save: $13.50 (45%)
New (33) Used (10) from $16.45
Avg. Customer Rating: 15 reviews Sales Rank: 125489
Format: Illustrated Media: Paperback Number Of Items: 1 Pages: 200 Shipping Weight (lbs): 0.8 Dimensions (in): 9.1 x 6.9 x 0.6
ISBN: 0596100922 Dewey Decimal Number: 005.133 EAN: 9780596100926 ASIN: 0596100922
Publication Date: July 14, 2005 Availability: Usually ships in 1-2 business days Condition: All orders ship same business day via standard shipping (USPS Media Mail) if received by 1 PM CST.
|
| Editorial Reviews:
Product Description Is there any sexier topic in software development than software testing? That is, besides game programming, 3D graphics, audio, high-performance clustering, cool websites, et cetera? Okay, so software testing is low on the list. And that's unfortunate, because good software testing can increase your productivity, improve your designs, raise your quality, ease your maintenance burdens, and help to satisfy your customers, coworkers, and managers. Perl has a strong history of automated tests. A very early release of Perl 1.0 included a comprehensive test suite, and it's only improved from there. Learning how Perl's test tools work and how to put them together to solve all sorts of previously intractable problems can make you a better programmer in general. Besides, it's easy to use the Perl tools described to handle all sorts of testing problems that you may encounter, even in other languages. Like all titles in O'Reilly's Developer's Notebook series, this "all lab, no lecture" book skips the boring prose and focuses instead on a series of exercises that speak to you instead of at you. Perl Testing: A Developer's Notebook will help you dive right in and: - Write basic Perl tests with ease and interpret the results
- Apply special techniques and modules to improve your tests
- Bundle test suites along with projects
- Test databases and their data
- Test websites and web projects
- Use the "Test Anything Protocol" which tests projects written in languages other than Perl
With today's increased workloads and short development cycles, unit tests are more vital to building robust, high-quality software than ever before. Once mastered, these lessons will help you ensure low-level code correctness, reduce software development cycle time, and ease maintenance burdens. You don't have to be a die-hard free and open source software developer who lives, breathes, and dreams Perl to use this book. You just have to want to do your job a little bit better.
|
| Customer Reviews: Read 10 more reviews...
A Very Useful Notebook September 7, 2007 1 out of 1 found this review helpful
I've been working with perl for many years, but it seems that every time I pick up a new perl book, there's always something to learn. This Developer's Notebook on Testing was no exception.
I found several tips that helped me speed up my development and maintenance of test harnesses, as well as a number of new coding techniques (new to me, at least).
I consider this one of the best purchases I've made this year.
Excellent book for discovering what Perl has to offer for testing code August 19, 2007 2 out of 2 found this review helpful
Throughout history, many writers have written glowingly about the noble tester; the one who ensures that quality is part of every line of code. Children know the names of all of the famous testers, and have committed to memory their noble deeds. There are series of trading cards with the stats of every code tester that has ever lived. OK, perhaps this is all a load of humbug. Testing code is as highly thought of as documentation and debugging; we know we need to do it, but not many developers look forward to doing it. Its the rare developer that leaps from her chair and exclaims "I've just finished this code! Now I get to go test it!". Perl Testing: A Developer's Notebook (hereafter referred to as Perl Testing) may not make the process of debugging Perl code any more sexy or appealing, but it does have some excellent tips and strategies for tightening and streamlining the whole development process.
Perl Testing is part of O'Reilly's Developer's Notebook series of books. The idea is to get the ideas to press quickly, so the books are very concise, straight to the point, and include some themed features such as notes in the margins and "coffee stains". It makes for a more causal book, and stresses workable solutions rather than extreme formality. Sure, its a bit gimmicky, but the format works, and gets the information out quickly. Unfortunately it appears O'Reilly hasn't published any books in this series since Perl Testing so I hope they resurrect it for future topics.
Perl Testing is divided into nine chapters: Beginning Testing, Writing Tests, Managing Tests, Distributing Your Tests (and Code), Testing Untestable Code, Testing Databases, Testing Web Sites, Unit Testing with Test::Class, and Testing Everything Else. Each chapter has several subtopics, beginning with a prelude describing the testing situation, a "How do I do that" explanation, a "What just happened" discussion of the results, and a "What about..." exploration of other tips and tricks. This formality, even for such an informal book, makes for an easy-to-read style, and allows for the book to be used both as a tutorial and a reference for specific tests and testing situations. The code for the tests is both well written and clear, and the tests themselves are well thought out. One might accuse the authors of being too paranoid with their testing, but when bugs are out to get you, paranoia is just good thinking.
Perl Testing is a well-thought out book. I enjoyed leafing through the tests, and found myself thinking "I never thought of that" at some of the tests performed. Some might think that a whole book devoted to testing might be a bit extreme, but compared with other books who dedicate maybe a chapter or two for testing, having this subject covered at length is long overdue. The best summary for Perl Testing would be on the back cover: "You don't have to be a die-hard free and open source developer who lives, breathes, and dreams Perl to use Perl Testing: A Developer's Notebook. You just have to want to do your job better". This is an excellent resource for those looking to have their Perl programs truly sing, and demonstrate their resilience to the bugs and other foibles that plague software development. If you're even thinking of doing Perl programming, and care at all about the quality of your code, you owe yourself a read through Perl Testing: A Developer's Notebook.
no nonsense introduction to the imporant stuff August 5, 2007 3 out of 3 found this review helpful
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.
A brisk canter around Perl testing modules July 23, 2007 2 out of 2 found this review helpful
This is a decent overview of Perl testing libraries, that goes further than the material in Intermediate Perl and the second edition of Advanced Perl Programming. It also moves pretty fast, as is the practical bent of the Developer's Notebook series. This will be welcome for any programmer familiar with testing tools in other languages, although testing newbies should be able to understand the mechanics without trouble.
Apart from the unit testing basics, it also goes over mocks, coverage, databases, webpages, testing documentation and module layout, and (most importantly for Perl) testing scripts. The Test::Class module, a xUnit-style module is also covered, although the more procedural Test::More seems to be the standard tool in Perl and is given the most attention. Code for a simple continuous integration tool is presented, which is pretty neat, given how short it is.
The emphasis in this book is very much on the how, rather than the why. Unlike many other books, you are given complete code along with how to execute the scripts and the expected output, which is very helpful. What isn't covered is any of the development methodologies that have driven the interest in testing methods. There's no discussion of Test Driven Development here, or how developer-driven unit testing meshes with the software building process, and there's only cursory or no discussion of what to test, where to start, test organisation (which IMO quickly becomes the limiting step in going test-infected), dealing with legacy code, dummies vs stubs vs mocks, white box vs black box testing etc. For the latter, you will have to consult the likes of xUnit Test Patterns, Unit Testing in Java and Test Driven Development: A Practical Guide. None of these books contain Perl code, however.
This is not a very long book, and there's not always the detail you might want for the more advanced topics. The emphasis on applications rather than principles also means that the book is a little vulnerable to API changes and newer CPAN modules. That said, part of the deal with the Developer's Notebook series is the lack of ceremony, so as long as you know what you're getting it's hard to complain, particularly as it's possible to pick up a copy at a reasonable price. Also, the writing itself is clear, direct and no-nonsense. It's a useful resource, and certainly in a more convenient format than scrolling through countless perldoc pages.
A pretty good intro June 11, 2007 0 out of 1 found this review helpful
This is a short but solid intro to perl's Test modules. Easy to read, mostly easy to follow.
What it's not: * an intro to TDD methodologies; for that you should look at the Beck book * an in-depth guide to the full array of Test::* modules. There's a section on using MockModule and MockObject, but like all the other chapters it's basically just one example of a class + a test script with a brief discussion of "What just happend?" * Cheap. With largish print and only 180 pages (including index) the cover price of $29.95 is no bargain.
Still recommended for someone trying to get started with perl test frameworks.
|
|
|