  Testing a database application is a challenging process where both the
database and the user interaction have to be considered in the design of test
cases. This paper describes a specification-based approach to guide the design
of test inputs (both the test database and the user inputs) for a database
application and to automatically evaluate the test adequacy. First, the system
specification of the application is modelled: (1) the structure of the database
and the user interface are represented in a single model, called Integrated
Data Model (IDM), (2) the functional requirements are expressed as a set of
business rules, written in terms of the IDM. Then, a MCDC-based criterion is
applied over the business rules to automatically derive the situations of
interest to be tested (test requirements), which guide the design of the test
inputs. Finally, the adequacy of these test inputs is automatically evaluated
to determine whether the test requirements are covered. The approach has been
applied to the TPC-C benchmark. The results show that it allows designing test
cases that are able to detect interesting faults which were located in the
procedural code of the implementation.
