On the design of relational database schemata
ACM Transactions on Database Systems (TODS)
Endo-testing: unit testing with mock objects
Extreme programming examined
DART: directed automated random testing
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
An AGENDA for testing relational database applications: Research Articles
Software Testing, Verification & Reliability
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
CUTE: a concolic unit testing engine for C
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
An intensional approach to the specification of test cases for database applications
Proceedings of the 28th international conference on Software engineering
Mock-object generation with behavior
ASE '06 Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering
Dynamic test input generation for database applications
Proceedings of the 2007 international symposium on Software testing and analysis
A genetic approach for random testing of database systems
VLDB '07 Proceedings of the 33rd international conference on Very large data bases
ICFEM '09 Proceedings of the 11th International Conference on Formal Engineering Methods: Formal Methods and Software Engineering
Future of developer testing: building quality in code
Proceedings of the FSE/SDP workshop on Future of software engineering research
Database state generation via dynamic symbolic execution for coverage criteria
Proceedings of the Fourth International Workshop on Testing Database Systems
Testing software in age of data privacy: a balancing act
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Generating program inputs for database application testing
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Dynamic test data generation for data intensive applications
HVC'11 Proceedings of the 7th international Haifa Verification conference on Hardware and Software: verification and testing
ConSMutate: SQL mutants for guiding concolic testing of database applications
ICFEM'12 Proceedings of the 14th international conference on Formal Engineering Methods: formal methods and software engineering
Exposing behavioral differences in cross-language API mapping relations
FASE'13 Proceedings of the 16th international conference on Fundamental Approaches to Software Engineering
State of the art: Dynamic symbolic execution for automated test generation
Future Generation Computer Systems
Guided test generation for database applications via synthesized database interactions
ACM Transactions on Software Engineering and Methodology (TOSEM)
Generation of test databases using sampling methods
Proceedings of the 2013 International Symposium on Software Testing and Analysis
Hi-index | 0.00 |
Software testing has been commonly used in assuring the quality of database applications. It is often prohibitively expensive to manually write quality tests for complex database applications. Automated test generation techniques, such as Dynamic Symbolic Execution (DSE), have been proposed to reduce human efforts in testing database applications. However, such techniques have two major limitations: (1) they assume that the database that the application under test interacts with is accessible, which may not always be true; and (2) they usually cannot create necessary database states as a part of the generated tests. To address the preceding limitations, we propose an approach that applies DSE to generate tests for a database application. Instead of using the actual database that the application interacts with, our approach produces and uses a mock database in test generation. A mock database mimics the behavior of an actual database by performing identical database operations on itself. We conducted two empirical evaluations on both a medical device and an open source software system to demonstrate that our approach can generate, without producing false warnings, tests with higher code coverage than conventional DSE-based techniques.