Validating database schema
In this sandbox you will rebuild your system and then run all the tests to ensure you haven't broken anything (if so, then back to the development sandbox).Occasionally, at least once an iteration/cycle, you'll deploy your work to the level (demo and pre-production testing), and rerun your test suite (including database tests) each time that you do so to ensure that your changes integrate with the changes made by other developers.Every so often (perhaps once every six to twelve months) into production. There's no magic when it comes to writing a database test, you write them just like you would any other type of test.The primary advantage of sandboxes are that they help to reduce the risk of technical errors adversely affecting a larger group of people than is absolutely necessary at the time. Database tests are typically a three-step process: The article What To Test in an RDBMS goes into greater detail.In this article I argue for a fully automated, continuous regression testing based approach to database testing.
Figure 4 depicts the various types of sandboxes which your team may choose to work in.
Relational database management systems (RDBMSs) often persist mission-critical data which is updated by many applications and potentially thousands if not millions of end users.
Furthermore, they implement important functionality in the form of database methods (stored procedures, stored functions, and/or triggers) and database objects (e.g. The best way to ensure the continuing quality of these assets, at least from a technical point of view, you should have a full regression test suite which you can run on a regular basis.
Furthermore, many agile software developers realize that you can test more than just your code, you can in fact validate every work product created on a software development project if you choose to. In this section I discuss the need for various database sandboxes in which people will test: in short, if you want to do database testing then you're going to need test databases (sandboxes) to work in.
I then overview how to write a database test and more importantly describe setup strategies for database tests.