SQL komandas saturošu programmas fragmentu testēšana
Author
Bakašs, Andrejs
Co-author
Latvijas Universitāte. Datorikas fakultāte
Advisor
Arnicāns, Guntis
Date
2012Metadata
Show full item recordAbstract
Darba mērķis ir izpētīt SQL komandu testēšanas problemātiku. Darbā ir apskatītas metodes šādu problēmu risināšanai: SQL komandas saturošu programmas pirmkoda fragmentu noteikšana, pārklājuma kritērija definēšana SQL komandu testēšanai, testa datu ģenerēšana SQL vaicājumiem un testa datubāzes adekvātuma novērtēšana.
Darbā tiek piedāvātas esošo metožu uzlabošanas iespējas un to apvienošana savā starpā ar mērķi iegūt pilnu SQL komandu testēšanas stratēģiju no pirmkoda analīzes līdz testa datubāzes ģenerēšanai, kas var tikt automatizēta. Darbā tiek arī piedāvāti jauni pārklājuma kritēriji un metodes SQL komandu testēšanai.
Darba ietvaros tika veikti eksperimenti automātiskai SQL vaicājumu meklēšanai Java projektos un testa datubāzes adekvātuma novērtēšanai ar mērķi parādīt kā ar ārējo rīku palīdzību mazināt risināmās problēmas sarežģītību. Master thesis: Testing of program slices containing SQL statements
This thesis brings insights to the field of testing program slices containing SQL statements based on a number of publications and research work done in the area. It provides ideas on how to extend and combine existing approaches and methods to produce a tool for verification and validation of embedded SQL statements and an end-to-end test data generator for testing SQL commands with adequate coverage. Thesis also proposes new coverage criterions and methods for testing SQL statements.
Some experiments conducted in the area of automatically gathering and evaluating coverage of embedded SQL statements from educational and real-life Java projects working with relational databases. It is demonstrated that involving existing third-party tools in the solution can significantly decrease complexity of problem in subject.
Keywords: SQL, database testing, command form analysis, structural testing, automatic test data generation.