Perl Testing: A Developer's Notebook

Ian Langworth, chromatic

  • 出版商: O'Reilly
  • 出版日期: 2005-08-09
  • 售價: $1,150
  • 貴賓價: 9.5$1,093
  • 語言: 英文
  • 頁數: 202
  • 裝訂: Paperback
  • ISBN: 0596100922
  • ISBN-13: 9780596100926
  • 相關分類: Perl 程式語言
  • 下單後立即進貨 (約1週~2週)




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.



Table of Contents:

The Developer's Notebook Series


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 the 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

     Letting the User Decide (Continued)

     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 Databases

     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 Tests

     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