Architecture and Data Blog

Thoughts about intersection of data, devops, design and software architecture

Behavior Driven Database Development

Asserting behavior of the database just like software

When Behavior Driven Development BDD was introduced, some of the key principles were

  • Requirements are behavior,
  • Provides “ubiquitous language” for analysis,
  • Acceptance criteria should be executable.
  • Design constraints should be made into executable tests.

Article about Behavior Driven Database Design is out

Database schema has behavior encoded in them and its imperative that it be tested

Recently I have been thinking a lot about making specification and behavior expected about the database and the code that interfaces with the databases executable. The Behavior Driven Design has a lot of parallels in the database world. Just finished writing a article about Behavior Driven Design applied to Databases or Behavior Driven Database Design. for Methods and Tools.

Database Testing revisited

Testing the database layer that interacts with the database is critical.

Some time ago I wrote about what it means to do database testing.. more I think about this and having had some strange situations recently I want to add more to the list of things we should be testing. Persistence Layer. We should persist the objects to the database using the applications persistence layer and retrieve the objects using the same mechanism and test that we get the same object back.