Proposing SQL Statement Coverage Metrics: Difference between revisions

Line 155: Line 155:
Halfrond and Orso<sup>[7]</sup> introduce an approach for evaluating the number of database interaction points which have been tested within a system. Database interaction points are similar to target statements in that they are defined by Halfrond and Orso as any statement in the application code where a SQL command is issued to a relational database management system. These authors chose to focus on dynamically-generated queries, and define a ''command form'' as a single grammatically distinct structure for a SQL query which the application under test can generate. Using their tool <code>DITTO</code> on an example application, Halfrond and Orso demonstrate that it is feasible to perform automated instrumentation on source code to gather ''command form coverage'', which is expressed as the number of covered command forms divided by the total number of possible command forms.  
Halfrond and Orso<sup>[7]</sup> introduce an approach for evaluating the number of database interaction points which have been tested within a system. Database interaction points are similar to target statements in that they are defined by Halfrond and Orso as any statement in the application code where a SQL command is issued to a relational database management system. These authors chose to focus on dynamically-generated queries, and define a ''command form'' as a single grammatically distinct structure for a SQL query which the application under test can generate. Using their tool <code>DITTO</code> on an example application, Halfrond and Orso demonstrate that it is feasible to perform automated instrumentation on source code to gather ''command form coverage'', which is expressed as the number of covered command forms divided by the total number of possible command forms.  


Willmor and Embury<sup>[18]</sup> assess database coverage in the sense of whether the output received from the relational database system itself is correct and whether the database is structured correctly. The authors contend that the view of one system to one database is too simplistic; the research community has yet to consider the effect of incorrect database behavior on multiple concurrent applications or when using multiple database systems. The authors define the All Database Operations criteria as being satisfied when every database operation, which exists as a control graph node in the system under test, is executed by the test set in question.
Willmor and Embury<sup>[18]</sup> assess database coverage in the sense of whether the output received from the relational database system itself is correct and whether the database is structured correctly. The authors contend that the view of one system to one database is too simplistic; the research community has yet to consider the effect of incorrect database behavior on multiple concurrent applications or when using multiple database systems. The authors define the ''All Database Operations'' criteria as being satisfied when every database operation, which exists as a control graph node in the system under test, is executed by the test set in question.


== 5. Case Study ==
== 5. Case Study ==