
Reserve it at BN.com & pick it up in 60 minutes at your local store.
Enter a zip code
(Paperback)
Somewhere fairly far down the technology fun chain, not to mention the popularity poll, dwells the test function. However, good software testing is a vital part of the development process and is essential to shipping a product that meets customer (and corporate) needs. Perl is unique in that from its birth it has offered a comprehensive test suite. In this "all lab, no lecture" workbook the authors cover the basics programmers need to conduct tests, including how to write tests (including testing warnings and testing exceptions), managing tests (including writing a testing library and then testing it), distributing your tests and code, testing "untestable" code, testing databases and web sites, conducting unit testing with Test::Class, and, the authors modestly note, "Testing Everything Else" such as interactive programs and shared libraries. Annotation ©2005 Book News, Inc., Portland, OR
More Reviews and RecommendationsIan Langworth has been using Perl since 1997, and actively involved in the Perl community since 2003. In 2004 he contributed Apache-TinyCP and several Kwiki modules to CPAN, and spoke at Perl-related conferences such as YAPC, Usenix, and LISA.
Chromatic lives in the Pacific Northwest and is a freelance writer and programmer. He is a frequent contributor to Slashdot and to Slash itself and wrote the Everything Bible for the Everything Development Company.
Reader Rating:
See Detailed Ratings
September 03, 2005: 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. Authors Ian Langworth and chromatic have done an outstanding job of putting together a book that shows you how easy it is to use the Perl tools described therein, to handle all sorts of testing problems you might encounter. Langworth and chromatic begin by explaining everything you need to start writing and running tests, including how to install testing modules, how to understand test results, and the basic test functions you'll use in every test. Next, the authors demonstrate further test techniques and modules. Then, they explain how to take advantage of the basic testing tools, so that you can customize them for your environment and projects. The authors continue by covering some of the issues you'll face when you want to distribute your project, especially the issues of non-code portions of your project. In addition, the authors next recommend another way of thinking that allows you to substitute testable code for code that otherwise looks untestable. They also focus on simple and effective techniques to verifying that your code does what it should. The authors next explore an alternative web application design strategy that makes projects easier to maintain and easier to test as well as, how to test them. Next, the authors discuss a Perl testing framework that allows good code reuse within object-oriented project tests and yet works within the familiar Perl testing libraries. Finally, they suggest a few ways to use everything you've learned to test other projects written in other languages. With the preceding in mind, the authors have done an excellent job in this book of showing you how to go forth and improve software quality worldwide. At the end of the day, after reading this book, you'll want to do your job of testing a little bit better.