We’re all used to unit testing our applications by now. The Extreme and Agile programming movements have done a great deal to promote unit testing, to the extent that many of us are now dependent on tests to assure that our applications work reliably. But how often do we test the database underlying our applications? Given that the database, as the repository for all of the knowledge and data for an application, just might be the single most important part of that application, and that in a busy development environment one developer can change the database in ways unexpected by other developers, the time for standardized database unit testing has come.

This talk promotes the practice of writing and running unit tests that directly test the schema, storage, and functionality of application databases. Following a review of the available PostgreSQL unit testing frameworks, we’ll review examples of testing tables, views, columns, constraints, indexes, triggers, and functions. The idea is to promote complete test coverage of every aspect of a database, independent of application unit tests, to ensure reliably canonical data integrity.

People planning to attend this session also want to see:

David Wheeler

iovation

David E. Wheeler is President of Portland-based Kineticode, and former CTO of Values of n, creators of the PostgreSQL-and-Rails-powered iwantsandy.com, home of Sandy, your personal email assistant. David is also maintainer and lead developer of Bricolage, a content management and publishing system powered by Perl and PostgreSQL. For his next trick, he may or may not build a Python or Lisp or BASIC-powered Web application, but whatever it is, it will likely be built on PostgreSQL. Unless it’s a blog, in which case he’ll just use SQLite.