Testing in the Imperial Database

Data is precious, and it’s not only valuable but also very fun to test for its correctness at the level where it’s stored: the database.

In a fast-changing tech world, there is one thing that commonly stays the same for years or even decades: the system that holds the data. This data is often one of the most important assets of a business and it’s critical to keep it safe and in good condition.

In this talk, I want to show you that it’s not only viable but also a lot of fun to do this directly at the database level! Join me on a journey to the infamous Death Star, where the Galactic Empire runs the Imperial Database™ with all the expectable problems of a complex, long-running software system. It has survived numerous iterations of different frontend-systems - and we are suddenly responsible to ensure the stability and reliability of the data, while constantly dealing with new changes and features.

We will quickly learn that there are some challenging key differences between testing in databases and testing in applications, but will also meet new friends like “Team Transaction” and use practical examples to answer a number of questions: What can we test for in a database on a high and low level? How can we introduce automated tests to a database? And what are these ancient relational force-techniques that can be used to prevent errors before they appear? While the Imperial Database™ runs on Oracle, all of the examples will be presented in a way that is adaptable to other relational databases. Having beginner-knowledge about SQL is beneficial for attendees.