An AGENDA for testing relational database applications

Database systems play an important role in nearly every modern organization, yet relatively little research effort has focused on how to test them. This paper discusses issues arising in testing database systems, presents an approach to testing database applications, and describes AGENDA, a set of tools to facilitate the use of this approach. In testing such applications, the state of the database before and after the user's operation plays an important role, along with the user's input and the system output. A framework for testing database applications is introduced. A complete tool set, based on this framework, has been prototyped. The components of this system are a parsing tool that gathers relevant information from the database schema and application, a tool that populates the database with meaningful data that satisfy database constraints, a tool that generates test cases for the application, a tool that checks the resulting database state after operations are performed by a database application, and a tool that assists the tester in checking the database application's output. The design and implementation of each component of the system are discussed. The prototype described here is limited to applications consisting of a single SQL query. Copyright © 2004 John Wiley & Sons, Ltd.

[1]  Yuetang Deng,et al.  Demonstration of AGENDA tool set for testing relational database applications , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[2]  A. Jefferson Offutt,et al.  Experimental results from an automatic test case generator , 1993, TSEM.

[3]  Kenneth Baclawski,et al.  Quickly generating billion-record synthetic databases , 1994, SIGMOD '94.

[4]  David J. DeWitt,et al.  The 007 Benchmark , 1993, SIGMOD '93.

[5]  C. J. Date A Guide to the SQL Standard , 1987 .

[6]  Shing-Chi Cheung,et al.  Automatic generation of database instances for white-box testing , 2001, 25th Annual International Computer Software and Applications Conference. COMPSAC 2001.

[7]  Arnaud Gotlieb,et al.  Automatic test data generation using constraint solving techniques , 1998, ISSTA '98.

[8]  Yuetang Deng,et al.  Testing Database Transaction Consistency , 2003 .

[9]  Ramez Elmasri,et al.  Fundamentals of database systems (2nd ed.) , 1994 .

[10]  Lee J. White,et al.  A Domain Strategy for Computer Program Testing , 1980, IEEE Transactions on Software Engineering.

[11]  Ramez Elmasri,et al.  Fundamentals of Database Systems , 1989 .

[12]  Mary Lou Soffa,et al.  Automated test data generation using an iterative relaxation method , 1998, SIGSOFT '98/FSE-6.

[13]  Bogdan Korel,et al.  Automated Software Test Data Generation , 1990, IEEE Trans. Software Eng..

[14]  Donald R. Slutz,et al.  Massive Stochastic Testing of SQL , 1998, VLDB.

[15]  Shing-Chi Cheung,et al.  Testing Database Applications with SQL Semantics , 1999, CODAS.

[16]  Alfons Kemper,et al.  Databases and transaction processing: an application-oriented approach , 2002, SGMD.

[17]  Michael Stonebraker,et al.  The design of POSTGRES , 1986, SIGMOD '86.

[18]  Phyllis G. Frankl,et al.  Testing database transaction concurrency , 2003, 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings..

[19]  Wei-Tek Tsai,et al.  Automated Test Case Generation for Programs Specified by Relational Algebra Queries , 1990, IEEE Trans. Software Eng..

[20]  Alexander Pretschner,et al.  Model-Based Testing in Practice , 2005, FM.

[21]  Jennifer Widom,et al.  Database System Implementation , 2000 .

[22]  Phyllis G. Frankl,et al.  Test data generation for relational database applications , 2004 .

[23]  Phyllis G. Frankl,et al.  A framework for testing database applications , 2000, ISSTA '00.

[24]  Norman R. Lyons,et al.  An automatic data generating system for data base simulation and testing , 1977, SIML.

[25]  Marc J. Balcer,et al.  The category-partition method for specifying and generating fuctional tests , 1988, CACM.

[26]  Kelly C. Bourne Testing Client/Server Systems , 1997 .

[27]  M. Camuffo,et al.  Automatic software test generation , 1990 .

[28]  Elaine J. Weyuker,et al.  Automatically Generating Test Data from a Boolean Specification , 1994, IEEE Trans. Software Eng..