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.
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.
Comments on this page are now closed.
For information on exhibition and sponsorship opportunities at the conference, contact Sharon Cordesse at firstname.lastname@example.org
Download the OSCON Sponsor/Exhibitor Prospectus
For media-related inquiries, contact Maureen Jennings at email@example.com
To stay abreast of conference news and to receive email notification when registration opens, please sign up for the OSCON newsletter (login required)
View a complete list of OSCON contacts