Automatic Result Verification for the Functional Testing of a Query LanguageCarsten Binnig; Donald Kossmann; Eric Lo; Angel Saenz-Badillos
In: Gustavo Alonso; José A. Blakeley; Arbee L. P. Chen (Hrsg.). Proceedings of the 24th International Conference on Data Engineering. IEEE International Conference on Data Engineering (ICDE-2008), April 7-12, Cancún, Mexico, Pages 1534-1536, IEEE Computer Society, 2008.
Functional testing of a query language is a challenging task in practice. In order to reveal errors in the query processing functionality, it is necessary to verify the actual result of a test query with the expected correct result. However, automatically computing the expected query result of an arbitrary test query is not trivial. One solution is to first generate a set of test database instances and test queries and then to compute the expected result for each test query over the individual test database instances. The problem of this solution is that many test queries might return an empty query result, which is not interesting for the functional testing of a query language. In this paper, we present a new approach to verify the result of a test query so as to facilitate the functional testing of a query language. Instead of first generating the database instance and then computing the expected result for each test query, we first create one or more interesting expected results for a given test query and then generate a test database instance for each combination of a test query and an expected result individually which returns the expected result if the test query is executed correctly. That way, we enable the verification of the actual result and allow an explicit definition of interesting test cases for the functional testing of a query language.