Navegación

Búsqueda

Búsqueda avanzada

Evaluación de la cobertura en la interacción usuario-base de datos utilizando un enfoque de caja negra

Probar una aplicación de bases de datos es una tarea laboriosa debido a que su comportamiento no sólo depende de los valores suministrados por el usuario a través de un interfaz, sino que también depende de la estructura y la información almacenada en la base de datos. Por ello, durante el diseño de los casos de prueba se debe considerar tanto la interacción con el usuario como la interacción con la base de datos. Además, la estructura de la base de datos puede tener una gran complejidad, lo que dificulta el diseño de datos de prueba de calidad. Este trabajo describe un enfoque basado en la especificación (caja negra) que guía el diseño de los datos de prueba (entradas del usuario y base de datos de prueba) para una aplicación de bases de datos y que evalúa automáticamente la cobertura alcanzada por dichos datos de prueba. Para ello se modela de forma conjunta la estructura de la base de datos y del interfaz del usuario, dando lugar a un modelo llamado Modelo Integrado de Datos (IDM), y se expresa la funcionalidad requerida mediante un conjunto de reglas de negocio, escritas en términos del IDM, que forman el Modelo de Reglas Integrado (IRM). Posteriormente se aplica un criterio de suficiencia basado en MCDC sobre el IRM para derivar automáticamente las situaciones de interés a probar (requisitos de prueba). Finalmente, se evalúa automáticamente la cobertura alcanzada por los datos de prueba diseñados. El enfoque ha sido aplicado a dos aplicaciones de bases de datos y los resultados muestran que permiten diseñar casos de prueba capaces de detectar fallos significativos.

Enfoque dirigido por modelos para probar Sistemas de Información con Bases de Datos

La base de datos es un componente esencial de los sistemas de información. En efecto, para una base de datos dada, una organización tendrá, probablemente, múltiples aplicaciones que la gestionen, de acuerdo a los diferentes tipos de usuarios, plataformas, dispositivos, etcétera. Aunque la propia base de datos ya incorporará su propio conjunto de restricciones, la lógica de los programas asociados a ella debe también contemplarlas y manejarlas correctamente. En este artículo proponemos un enfoque de generación de casos de prueba centrado en la base de datos, donde se prueba el comportamiento de las aplicaciones que la gestionan, comprobando si son capaces de manejar las particularidades de las estructuras definidas en forma adecuada para las distintas capas de la arquitectura (lógica, interfaz de usuario, etc.). Esta propuesta representa el modelo de datos usando UML Data Modeling Profile, el cual es extraído automáticamente a partir del esquema relacional de la base de datos mediante técnicas de ingeniería inversa, para luego generar el modelo de pruebas de forma automática usando transformaciones entre modelos. Dicha transformación busca ocurrencias de patrones que, desde el punto de vista del testing, representan situaciones de prueba interesantes, y genera casos de prueba siguiendo el estándar UML Testing Profile. En este artículo se describe el entorno de trabajo y se presentan, a modo de ejemplo, el diseño de las pruebas para las operaciones de creación y eliminación de instancias.

DruidaTest: Herramienta para pruebas de cobertura en aplicaciones de bases de datos

Una de las tareas más laboriosas que se llevan a cabo durante el diseño de casos de prueba para una aplicación de bases de datos es la preparación de un conjunto adecuado de datos de prueba, el cual permita cubrir los diversos aspectos del comportamiento de dicha aplicación. Estos datos deben incluir la información almacenada en la base de datos y los valores suministrados por el usuario en el interfaz de usuario. En este artículo, se presenta la herramienta DruidaTest, la cual permite guiar la generación de datos de prueba a partir de la especificación del sistema, utilizando un criterio de suficiencia basado en MCDC. Para alcanzar este propósito DruidaTest utiliza un modelo denominado IDM (Integrated Data Model), que integra la estructura de la base de datos y el interfaz de usuario, y un modelo denominado IRM (Integrated Rules Model), que representa la funcionalidad requerida mediante un conjunto de reglas de negocio escritas en términos del IDM. DruidaTest procesa estos modelos para derivar las situaciones de interés a ser probadas (requisitos de prueba), evalúa automáticamente la cobertura alcanzada y proporciona retroalimentación al ingeniero de pruebas para que pueda incrementar la cobertura.