Self Verifying Data: Testing without an Oracle

[article]
Summary:

In this paper, we describe "Self Verifying Data," a method that stores both the test data and the oracle in a single data set. Combining the data and oracle solves most of the expensive maintenance problems and makes verification simpler. This method easily scales to data sets of any size and it can be used with manual and automated testing. You can adapt Self Verifying Data principles to the data you use to test almost any kind of software application.

Most of today's software applications can work with large amounts of data. Whether you're testing a database, a word processor, an Internet browser or a 3D-action game, you need to do some of your testing with very large, rich data sets. Maintaining oracles for those data sets is time consuming and expensive.

But without a good oracle, a traditional data set is worthless for testing, because your tests' accuracy can't be verified.

In this paper, we describe "Self Verifying Data," a method that stores both the test data and the oracle in a single data set. Combining the data and oracle solves most of the expensive maintenance problems and makes verification simpler. This method easily scales to data sets of any size and it can be used with manual and automated testing. You can adapt Self Verifying Data principles to the data you use to test almost any kind of software application.

About the author

CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.