Database application programs play a central role in our information based society, so testing whether they behave correctly is of great importance. Because of the huge space of possible database states that must be considered, these programs pose new challenges to software testing. On the other hand, the structure of this state space and constraints on legitimate states, expressed in the database schema and in additional business rules, offer opportunities for automatic generation of tests and of oracles to check aspects of their correctness.
In this talk, we describe AGENDA (A test GENerator for Database Applications), a set of tools for testing database applications. Our approach is based on the observation that the states of the database before and after application's execution play an important role in testing. AGENDA includes components to extract relevant information from the database schema, the application source, and information supplied by testers, and uses these to generate database states, to generate application inputs, to check database state after executing each transaction in the application, and to check application outputs.
Phyllis Frankl is a Professor of Computer and Information Science at Polytechnic University, in Brooklyn, NY. She received a BA in math and physics from Brandeis University, and MA in math from Columbia, and MS and PhD in computer science from NYU. Her research interests include software testing and program analysis, along with wireless information systems and application security. Her research has been supported by the National Science Foundation, IBM Research, and the New York State Office of Science, Technology, and Academic Research. Recent professional activities include program committees for the International Symposium on Software Testing and Analysis, 2002 (program chair), 2004, and 2006; International Conference on Software Engineering 2005, and TestCom, 2004 - 06.