Complutense University Library

Generación de casos de prueba para SQL

Luzón Martín, José and Tenorio Fornés, Antonio (2012) Generación de casos de prueba para SQL. [Coursework] (Unpublished)

[img]
Preview
PDF
856kB
View download statistics for this eprint

==>>> Export to other formats

Abstract

El uso de bases de datos está ampliamente extendido, sin embargo, hay una falta de herramientas de depuración y prueba que asistan su desarrollo. Comprobar la corrección de una consulta SQL es difícil usando bases de datos reales, ya sea porque el número de filas en bases de datos pobladas es normalmente muy elevado o por la carencia de datos en las primeras fases del desarrollo. Para solventar este problema hemos desarrollado una herramienta que, dada
la definición de una base de datos SQL y una vista objetivo, encuentra una instancia de la base de datos para la cual la consulta de la vista no devuelve una respuesta vacía, lo que se considera un caso de prueba positivo. Aplicando recientes resultados de investigación, transformamos la búsqueda de esta instancia a un problema de resolución de restricciones. Ampliamos también el ámbito de aplicación de esta técnica presentando un nuevo enfoque para tratar condiciones existenciales anidadas. Dividimos el proceso de obtención de casos de prueba en tres fases. Primero se analiza el código SQL que define la base de datos a estudiar. Posteriormente, dado el nombre de la vista objetivo, se generan las fórmulas que representan las
condiciones que una instancia debe cumplir para ser un caso de prueba de dicha vista. Finalmente se traducen estas fórmulas a un lenguaje de programación con restricciones específico, cuyas soluciones constituyen los casos de prueba
buscados. El trabajo presenta un prototipo novedoso en el campo de las bases de datos y muestra una forma de suplir la carencia actual de herramientas de prueba para su desarrollo.
[ABSTRAC]
The use of databases is widely extended, however, there is a lack of testing and debugging tools to assist it's development. To test the correctness of an SQL query is difficult using actual databases, either because the number of rows in populated databases is usually large or because they have few data in early stages of development.
To solve this problem we have developed a tool that, given an SQL database definition and a target view, fnds a database instance for which the view's query does not return an empty answer, this is considered to be a positive test case. Implementing recent research results, we transform the search for this instance to a constraint satisfaction problem. We also expands this technique's scope by presenting a new approach for nested existential conditions. We divide the test case generation process in three phases. First the SQL code of the database is analysed. Then, given the target view's name, the formulas
representing the conditions that an instance has to satisfy in order to be a test case for this view are generated. Finally this formulas are translated into an specific constraint language, which solutions are the desired test cases. This work presents a prototype which introduces new approaches in the field of databases and shows a way of solving the lack of test tools for it's development.


Item Type:Coursework
Additional Information:

Proyecto de Sistemas Informáticos (Facultad de Informática, Curso 2011-2012)

Uncontrolled Keywords:Restricciones, SQL, Caso de Prueba, Prueba, Bases de Datos. Constraints,Test Case, Test, Databases
Subjects:Sciences > Computer science > Databases
ID Code:16106
Deposited On:30 Jul 2012 12:15
Last Modified:06 Feb 2014 10:38

Repository Staff Only: item control page