http://www.perlmonks.org?node_id=507671
Order Perl Testing

Item Description: A Developer's Notebook

Review Synopsis:

Chapters six and seven seem to go hand and hand as one reviews database and data set testing and the other covers website and backend testing. I really appreciate the ideas that chapter six presents about database and data set testing. It doesn't just stop at testing connections and such but also goes into mock databases, temporary databases and writing wrappers for extending testing.

Chapter seven goes into testing websites in the same fashion that chapter six covers testing databases. My only gripe is that it doesn't go too deeply into backend testing. The frontend testing is fairly comprehensive and it gives a lot of example on using WWW::Mechanize and other toolkits to efficiently recreate user experience. It also talks lightly about page validation. Toward the end of the chapter it gives a lot of detail on running a test server using Apache::Test and being able to really localize all of your web server and page testing. This is great because it allows you to do basic load and resource testing as well as keeping all of the build and testing of a web service completely separate from production areas.

Chapter 8 tries to cover object oriented testing with Test::Class. This is a relatively different way of testing compared to the styles and standards presented in Test::Simple or Test::More. This presents some very interesting views on object and class testing inheritance.

Chapter 9 cleans up by discussing practical ideas on writing testable code and programs. One thing that I found nice was that it touched shared library testing and interactive program testing.

I find this book very useful because of its practical example and reinforcement of good testing standards. It has become a solid reference for quick tips on test unit creation, testing methods in general, and test coverage testing. I recommend it for anyone who is looking to start working with more focused testing or want to expanding there current testing knowledge in general.

Table of Contents
Chapter 1. Beginning Testing
+ Installing Test Modules
+ Running Tests
+ Interpreting Test Results
+ Writing Your First Test
+ Loading Modules
+ Improving Test Comparisons
Chapter 2. Writing Tests
+ Skipping Tests
+ Skipping All Tests
+ Marking Tests as TODO
+ Simple Data Structure Equality
+ Data Composition
+ Testing Warnings
+ Testing Exceptions
Chapter 3. Managing Tests
+ Organizing Tests
+ Checking your Coverage
+ Writing a Testing Library
+ Testing a Testing Library
+ Writing a Testing Harness
+ Testing Across your Network
+ Automating Test Runs
Chapter 4. Distributing your Tests ( and Code )
+ Testing POD Files
+ Testing Documentation Coverage
+ Distribution Signatures
+ Testing Entire Distributions
+ Letting the User Decide
+ Bundling Tests with Modules
+ Collecting Test Results
+ Validating Kwalitee
Chapter 5. Testing Untestable Code
+ Overriding Built-ins
+ Mocking Modules
+ Mocking Objects
+ Partially Mocking Objects
+ Overriding Live Code
+ Overriding Operators Everywhere
Chapter 6. Testing Databases
+ Shipping Test Databases
+ Testing Database Data
+ Using Temporary Data
+ Mocking Databases
Chapter 7. Testing Web Sites
+ Testing your Backend
+ Testing your Frontend
+ Record and Play Back Browsing Sessions
+ Testing the Validity of HTML
+ Running Your Own Apache Server
+ Testing with Apache-Test
+ Distributing Modules with Apache-Test
Chapter 8. Unit Testing with Test::Class
+ Writing Test Cases
+ Creating Test Fixtures
+ Inheriting Test Fixtures
+ Skipping Tests with Test::Class
+ Marking Tests as TODO with Test::Class
Chapter 9. Testing Everything Else
+ Writing Testable Programs
+ Testing Programs
+ Testing Interactive Programs
+ Testing Shared Libraries

Replies are listed 'Best First'.
Re: Perl Testing
by sauoq (Abbot) on Nov 11, 2005 at 12:07 UTC

    Update: Much better! Thanks for fleshing it out. My original reply is preserved below, but it is no longer applicable as far as I'm concerned. (Original reply follows.)

    Sorry, but I felt I had to downvote this. You've given us a short statement about your opinion of the book. Fine. But you haven't really reviewed it for us. The closest you came to reviewing it was calling it "concise and easy to read". Beyond that, it comes across as a marketing blurb. How has the book been helpful to you? Is it missing anything relevant or is it truly comprehensive? Does it focus on high-level testing issues or low-level details or is there a mix of both? What can you tell us about the book other than that you like it?

    As the old commercial asked, "Where's the beef?"

    -sauoq
    "My two cents aren't worth a dime.";
    
      I wrote this fairly quickly after writing a brief review on another book and after I posted this one I kinda felt like I halfassed it. Hopefully you'll find the updated review more comprehensive and informative. Thanks for giving your input.
      Guns don't kill people, ninjas do.
Re: Perl Testing
by chromatic (Archbishop) on Nov 11, 2005 at 19:17 UTC
    Chapter seven goes into testing websites in the same fashion that chapter six covers testing databases. My only gripe is that it doesn't go too deeply into backend testing.

    Well yeah, that's the point of the rest of the book. If you follow the advice in that chapter about separating interface from logic, you don't need to do anything special to test app backends.