ComputingComputer ScienceData ManagementDatabasesTest DevelopmentDatabase ManagementQuery ProcessingAutomated Test GenerationDatabase Management SystemsTest Case GenerationTest GenerationTest Suite GenerationTesting
Today, a common methodology for testing a database management system (DBMS) is to generate a set of test databases and then execute queries on top of them. However, for DBMS testing, it would be a big advantage if we can control the input and/or the output (e.g., the cardinality) of each individual operator of a test query for a particular test case. Unfortunately, current database generators generate databases independent of queries. As a result, it is hard to guarantee that executing the test query on the generated test databases can obtain the desired (intermediate) query results that match the test case. In this paper, we propose a novel way for DBMS testing. Instead of first generating a test database and then seeing how well it matches a particular test case (or otherwise use a trial-and-error approach to generate another test database), we propose to generate a query-aware database for each test case. To that end, we designed a query-aware test database generator called QAGen. In addition to the database schema and the set of basic constraints defined on the base tables, QAGen takes the query and the set of constraints defined on the query as input, and generates a query-aware test database as output. The generated database guarantees that the test query can get the desired (intermediate) query results as defined in the test case. This approach of testing facilitates a wide range of DBMS testing tasks such as testing of memory managers and testing the cardinality estimation components of query optimizers.
15
A relational model of data for large shared data banks
E. F. Codd · Communications of the ACM · 1970 · 5.2K citations · Full text
Symbolic execution and program testing
James C. King · Communications of the ACM · 1976 · 3K citations · Full text
Human Behaviour and the Principle of Least Effort.
P. Sargant Florence, G. K. Zipf · The Economic Journal · 1950 · 1.2K citations
Quickly generating billion-record synthetic databases
Jim Gray, Prakash Sundaresan, Susanne Englert et al. · 1994 · 352 citations
Optimization of nested SQL queries revisited
Richard A. Ganski, Harry K. T. Wong · 1987 · 177 citations · Full text