Mejora de casos de prueba en aplicaciones con bases de datos utilizando medidas de cobertura de sentencias sql

  1. SUAREZ CABAL, MARIA JOSE
Supervised by:
  1. Pablo Javier Tuya González Director

Defence university: Universidad de Oviedo

Fecha de defensa: 13 December 2006

Committee:
  1. José Miguel Toro Bonilla Chair
  2. Claudio de la Riva Álvarez Secretary
  3. Mario G. Piattini Velthuis Committee member
  4. Natalia Juristo Juzgado Committee member
  5. José Antonio Corrales González Committee member
Department:
  1. Informática

Type: Thesis

Teseo: 136654 DIALNET

Abstract

Durante años se han realizado estudios que determinan la importancia de la realización de la prueba del software así como su influencia en la calidad y el coste del producto final. En los últimos años ha crecido sustancialmente la investigación en medidas, criterios de suficiencia, métodos y herramientas para la selección de los casos de prueba así como su automatización. Aunque la mayor parte del software empresarial accede a bases de datos (generalmente mediante código SQL embebido dentro del imperativo), la mayoría de la investigación en pruebas del software ignora el componente de base de da tos y lenguajes de consulta. El objetivo de esta tesis es definir criterios de suficiencia y utilizarlos como ayuda para la creación de los casos de prueba de consultas SQL. Los criterios establecidos utilizan un enfoque de cobertura estructural y se dividen en dos: cobertura de condiciones y cobertura de ejecución. La cobertura de condiciones se define para las condiciones delas consultas SQL que están en las cláusulas FROM (cuando incluyen joins), WHERE y HAVING. La cobertura de ejecución se define para los atributos de agrupamiento de la clásula GROUP BY, parámetros de las funciones de agregación (count, max, min, sum y avg) así como para los cuantificadores ALL y DISTINCT. Además, se contempla la existencia de valores constantes y parámetros, el uso de vistas definidas en la base de datos, el uso de consultas SQL anidadas y la concatenación de varias consultas mediante el operador UNION. Finalmente, se realiza la validación de la efectividad del os casos de pruebas seleccionados utilizando los criterios de cobertura definidos. Esta efectividad se determina en relación a la capacidad de encontrar defectos en las consultas SQL. Para ello se utiliza un caso de estudio.