Abstract

Testing techniques for database applications typically include generation of database states (synthetic data) along with automatic generation of test cases. The quality of such test cases is evaluated on the basis of structural coverage of the host language (e.g., Java), whereas, the quality of test cases for the embedded language (e.g., SQL) is evaluated separately using mutation testing. In mutation testing, several mutants or variants of the original SQL query are generated and mutation score is calculated. It is the percentage of mutants that can be differentiated in terms of their results using the given test cases. Higher mutation score indicates higher quality of the test cases. In existing approaches the generated test cases achieve high structural coverage with respect to the generated synthetic data, but suffer from low mutation score with respect to the same data. We present a novel framework called \textit{SynConSMutate} for test case and synthetic data generation for database applications. The generated test cases with respect to the newly generated synthetic data ensure high quality not only in terms of coverage of code written in the host language, but also in terms of mutant detection of the queries written in the embedded language.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.