martes, 2 de diciembre de 2014

5.3. MODELOS DE PRUEBA




La fase de pruebas del sistema tiene como objetivo verificar el sistema software para comprobar si este cumple sus requisitos. Dentro de esta fase pueden desarrollarse varios tipos distintos de pruebas en función de los objetivos de las mismas. Algunos tipos son pruebas funcionales, pruebas de usabilidad, pruebas de rendimiento, pruebas de seguridad, etc. Este trabajo se centra en pruebas funcionales de aplicaciones con interfaces gráficas. Estas pruebas verifican que el sistema software ofrece a los actores humanos la funcionalidad recogida en su especificación.




Este trabajo describe los modelos necesarios para generar de manera sistemática un conjunto de pruebas que permitan verificar la implementación de los requisitos funcionales de un sistema software.




Una de las técnicas más empleadas para la espcecificación funcional de sistemas software son los casos de uso. Las principales ventajas de los casos de uso son que ocultan los detalles internos del sistema, son rápidos de construir, fáciles de modificar y entender por los clientes y futuros usuarios del sistema  y pueden aplicarse a distintos tipos de sistemas y  Actualmente, existe un amplio número de propuestas que describen cómo generar pruebas del sistema a partir de los casos de uso.
 Aunque la generación de pruebas se adapta a la filosofía propuesta por MDA, tal y como mostraremos a continuación, ninguna de estas propuestas define su proceso en base a las técnicas de MDA. Por este motivo, una de las principales carencias es la falta de modelos que recojan la información necesaria en el proceso de generación de pruebas.




  • Modelos de requisitos
  • Modelo de comportamiento
  • Modelo de datos de prueba
  • Modelo de interfaz abstracta
  • Modelo de interacción


Los únicos modelos de requisitos necesarios son los casos de uso y los requisitos de almacenamiento, aunque otros modelos, como por ejemplo modelos de interfaces  o modelos de navegación  pueden enriquecer el proceso de prueba. Actualmente existen varias propuestas de modelos de requisitos. 

Un gran número de técnicas de requisitos están basadas en casos de uso definidos en prosa. Uno de ellos es el modelo WebRE utilizado en el punto anterior. Pero no es sencillo manipular programáticamente casos de uso escritos en prosa. Por este motivo, el primer paso de nuestro proceso sistemático de generación de pruebas consiste en expresar dicha prosa mediante un modelo formal manipulable de manera automática.

Los casos de uso contienen elementos variables cuyos valores o comportamiento difiere de una ejecución de un caso de uso a otra. Algunos ejemplos son la información suministrada por un actor, una opción seleccionada por un actor, o la información mostrada por el sistema como resultado del caso de uso.

Los modelos anteriores nos indican lo que una prueba debe hacer (ejecutar un escenario posible de un caso de uso), qué información hay que suministrarle y qué información nos va a devolver. Sin embargo estos modelos aún son demasiado abstractos y no se pueden convertir en modelos dependientes de la plataforma ni en pruebas ejecutables de manera directa. Por este motivo, a partir de los modelos anteriores, se obtienen los modelos de interfaz abstracta y de interacción.

Una vez que se conocen las interfaces con las que las pruebas interactuarán, expresadas mediante el modelo de interfaz abstracta, se refina el modelo de comportamiento para indicar cómo realizar cada uno de los pasos del caso de uso sobre dicha interfaz.



No hay comentarios:

Publicar un comentario