Maximizing Code Coverage in Database Applications
Abstract
A database application takes input as user-defined queries and determines the program logic to be executed based on the
results returned by the queries. A change in existing application or a new application is expected pass through extensive
testing to cover the entire code and check all the cases possible in execution. Testing the code coverage of traditional or
CRUD-based applications is a straightforward process backed by various tools and libraries. Unlike traditional applications,
checking the code coverage of database applications is a complex procedure due to its inherent structure and the inputs passed
to it. Measuring the code coverage of such programs involves the participation of DBA’s to generate mock databases that can
epitomize the existing data and trigger as many paths in the program as possible. Recent studies have introduced techniques
to directly test the programs using the existing data. In this paper, we are comparing two methods of code coverage that will
help software engineers to test their database applications without being dependent on mock databases. We aim to evaluate
the performance of Baseline and Leaf Query approaches for testing such applications. Our work focuses on using decision
trees as database applications and testing them by using both the methods. The efficiency of each method is assessed on
several parameters by conducting experiments to understand the advantages and disadvantages of each technique.