This paper presents the design of a system for testing database-centric software applications using surrogate databases. Traditional testing approaches, such as using test bed databases and using stub code or mock objects, are often either difficult to implement and manage, or do not provide entirely effective verification of the functionality of the application under test. Testing database-centric applications using database surrogates addresses these issues. A database surrogate is a data source, such as an XML file, which has the same structure as the backend database of the application under test. Database surrogates can be easier to implement and manage than actual test bed databases, but provide a mechanism for thoroughly testing the functionality of the application under test. The essence of the surrogate database testing system is to create a very lightweight library which provides an interface which is independent of the actual physical implementation of the underlying data source.