• Intel
  • Microsoft
  • Google
  • Sun Microsystems
  • BT
  • IBM
  • Yahoo! Inc.
  • Zimbra
  • Atlassian Software Systems
  • Disney
  • EnterpriseDB
  • Etelos
  • Ingres
  • JasperSoft
  • Kablink
  • Linagora
  • MindTouch
  • Mozilla Corporation
  • Novell, Inc.
  • Open Invention Network
  • OpSource
  • RightScale
  • Silicon Mechanics
  • Tenth Planet
  • Ticketmaster
  • Voiceroute
  • White Oak Technologies, Inc.
  • XAware
  • ZDNet

Sponsorship Opportunities

For information on exhibition and sponsorship opportunities at the conference, contact Sharon Cordesse at scordesse@oreilly.com.

Media Partner Opportunities

Download the Media & Promotional Partner Brochure (PDF) for more information on trade opportunities with O'Reilly conferences, or contact mediapartners@oreilly.com.

Press and Media

For media-related inquiries, contact Maureen Jennings at maureen@oreilly.com.

OSCON Newsletter

To stay abreast of conference news and to receive email notification when registration opens, please sign up for the OSCON newsletter (login required).

Contact Us

View a complete list of OSCON 2008 Contacts

Practical Test-driven Development

Programming, Tutorial
Location: Portland 252 Level: Intermediate
Average rating: **...
(2.87, 23 ratings)

Test-driven Development is one of the current buzzwords of programming and while many people have trouble subscribing to the philosophy, even more have trouble actually implementing it in their day-to-day work. It is just too easy to cut a testing corner here or write this little untested subroutine there. What seems like it is saving you time at the moment, might actually be costing you time and increasing your technical debt in the long term.

This tutorial briefly covers some conceptual testing discussion, but quickly moves into examples of test-driven development. The language used for the examples is Perl, though the practices and tools can be applied to other programming languages.

We’ll take an idea for a program, write a base-level test, make that test pass, write another failing test… over and over again until the final product is built. Then we’ll move into gathering and understanding code coverage for the tests that were just written and writing more tests for edge cases.

This tutorial is based on a course conducted by Stonehenge. Slides for the course can be provided upon request.

Photo of Josh McAdams

Josh McAdams


Josh is a programmer and engineering manager at Google. He works on the data warehousing team for DoubleClick/Performics where he gets to play with millions of rows of data each day. He also contributes to the Open Source community with few small projects and through the Perlcast podcast.

OSCON 2008