Test-Driven Database Development

Max Guernsey

Published by






Reviewed by

A P Sutcliffe PG Dip CCI, MBCS


7 out of 10

The development of databases and the applications that access them are important functions; and it is essential that the programs constructed meet the requirements defined, so that it all operates as intended.

Therefore, part of the development process must be to undertake a series of testing processes to validate the development of the product to prove that it will work correctly when in use.

The author of this book proposes a methodology that might appear to be at odds with traditional ideas; he proposes that the tests be designed before the database or software.

His argument is that if the test is created first, before the application, it enforces a discipline that ensures the software meets the needs of the project. He also proposes that by understanding a database as being part of a class, it makes it easier to create repeatable tests.

It’s written in a conversational format that reflects the personality of the writer and this makes it easier to follow the ideas than would be the case if it were in a more formal style.

The text is broken up into logical chapters that make it easier to find key sections; and this would be of value to any developer who wanted to take advantage of the scripts included. There are also a number of links and other selected online material that could be of worth to anyone who wanted to test out the process described.

Although the author suggests that the book could be understood by relatively inexperienced people or non-programmers, it seems unlikely.

The text is quite extensive and has a large number of example scripts designed to show the various concepts, most of which require at least a good understanding of SQL commands and their functions. Although the principles are sound and well explained, unless the reader can follow the scripts, it is unlikely that they would be able to confirm this for themselves.

The book could be of interest to many database developers and does offer an insight into a process that is often neglected or given less attention than it deserves. It might be of particular importance to those working with agile development methods, but could equally be used by those working with a more formal iterative development practice.

Further information: Addison-Wesley

July 2013