7Derivacion de casos de prueba a partir de casos de uso

Anuncio
Modelo de casos de uso
En el curso “Documentación y reportes”, en la lección “Documentación”, vimos
que los casos de uso son un tipo de documento con el que se puede encontrar
un tester. Definiremos algunos conceptos y un ejemplo de este modelo del cual
podemos
derivar
casos
de
prueba.
Jacobson define un "caso de uso" como un escenario que describe el uso del
sistema
por
un
actor
para
lograr
un
objetivo
específico.
Por actor se refiere a usuario, desempeñando un rol en el sistema buscando
cumplir
con
un
objetivo
en
un
contexto
particular.
Un escenario es una secuencia de pasos que describen la interacción entre el
actor
y
el
sistema.
Un diagrama de casos de uso muestra la relación entre los actores y los
casos de uso.
Un caso de uso es una descripción que ilustra, paso a paso, cómo los actores
tienen
la
intención
comportamiento
del
de
usar
sistema
el
sistema,
desde
el
esencialmente
punto
de
vista
capturando
del
el
usuario.
Un caso de uso puede especificarse en una tabla, como se muestra a
continuación:
Por ejemplo el caso de uso “Alquilar película” puede representarse:
Un caso de uso es una descripción que ilustra, paso a paso, cómo los actores
tienen
la
intención
comportamiento
del
de
usar
sistema
el
sistema,
desde
el
esencialmente
punto
de
vista
capturando
del
Las principales características de los casos de uso y sus escenarios:

Modelan la interacción entre un actor y el sistema

Son iniciados por un actor

Describen una secuencia de acciones

Capturan requerimientos funcionales
el
usuario.

Representan un flujo completo y significativo de eventos
El flujo principal de un caso de uso, representa el flujo más importante de
eventos. Es el que llamamos el “camino feliz”, porque es cuando no ocurren
errores ni excepciones. Luego de tener definido el flujo principal, es más
sencillo
identificar
los
flujos
alternativos
en
cada
uno
de
los
pasos.
No existe un estándar de cómo especificar un caso de uso, por lo que cuando
nos enfrentamos a un caso de uso, tenemos que ser críticos y decidir si
tenemos toda la información que necesitamos para diseñar casos de prueba a
partir
del
nivel
de
detalle
de
su
especificación.
Un caso de uso podemos representarlo como un grafo, en el que se representa
el flujo principal (FP) y los distintos flujos alternativos (A1, A2, A3, A4 o
FA1,...,FA4).
Se ilustra a continuación un caso de uso modelado con un grafo.
¿Cómo se procede para derivar casos de prueba de los casos de uso?
Diseño de casos de prueba
Un primer paso consiste en identificar los escenarios posibles, recorriendo todo
los flujos que lo componen, desde el principio al fin del caso de uso.
El pasaje del flujo principal a un flujo alternativo, el eventual retorno al flujo
principal o el tránsito a otro flujo alternativo se produce porque cambian las
condiciones de ejecución del caso de uso en función de los valores que toman
las variables involucradas. En el ejemplo del video, se pasa del flujo principal al
flujo
alternativo
según
el
valor
de
la
variable
sanción.
Los escenarios se pueden identificar fácilmente a partir del caso de uso
modelado como un grafo.
Expresado de otra forma, se identifican los siguientes escenarios:
Una vez identificados los escenarios es preciso profundizar en las condiciones
de ejecución, o sea identificar las variables involucradas, que denominaremos
operacionales.
Un primer problema es que los casos de uso describen la interación entre el
actor y el sistema, en la que intervienen distintas variables, pero en general, no
indican los dominios de las variables. Pero éstos son muy importantes para
diseñar casos de prueba eficaces, por lo tanto, es fundamental definirlos. Otra
dificultad consiste en que pueden existir variables del ambiente o del estado del
sistema no explicitadas en el caso de uso. En el ejemplo del video, no se
menciona la cantidad de ejemplares de la película que hay en el video ni si
están
todos
prestados
o
hay
alguno
disponible.
Por lo tanto hay que hacer el esfuerzo por identificar todas las variables
operacionales, o sea las variables de entrada, salida y condiciones ambientales
que:
o
implican un comportamiento significativamente diferente de un
actor
o
motivan una respuesta significativamente diferente del sistema
o
resumen el estado de la unidad bajo prueba
Estas variables operacionales, dan paso a los diferentes escenarios y sus
valores se utilizan para diseñar los casos de prueba específicos. Por lo tanto
para derivar los casos de prueba de los casos de uso procedemos a:

Identificar los escenarios

Identificar las variables operacionales

Definir el dominio de éstas e identificar los valores significativos para
cada variable

Seleccionar casos de prueba, considerando los escenarios

Asignarle valores a las variables
Otros elementos a tener en cuenta es la frecuencia relativa de cada caso de
uso así como las dependencias funcionales entre los casos de uso. A los
efectos del cubrimiento e intensidad de las pruebas no es lo mismo un caso de
uso que será ejecutado una vez cada seis meses por pocos usuarios, que los
casos de uso que se ejecutan cotidianamente por la mayoría de los usuarios.
También tenemos que analizar el riesgo de cada uno de los casos de uso.
Recuerden que los casos de uso pueden ser los componentes del inventario de
pruebas.
Con respecto a las dependencias funcionales es importante diseñar pruebas que
consideren la relación entre distintos casos de uso. En el ejemplo del video
habría que considerar algunos alquileres sin devoluciones en tiempo y forma
para generar sanciones, así como algunos alquileres de películas cuyos
ejemplares no hayan sido devueltos aún, alquileres y devoluciones sucesivas,
etc.
Considerando estos aspectos podemos hablar entonces de casos de uso
extendidos
para
el
diseño
de
los
casos
de
prueba.
Los casos de uso proporcionan parte de la información necesaria para testing.
Se pueden derivar casos de prueba para:

los flujos esperados de eventos

todos los otros flujos de eventos

otros requerimientos o características descritas en la documentación de
usuario que puedan vincularse a casos de uso
En Ejemplo CP de CU, se detalla un ejemplo de diseño de los casos de prueba a
partir de un caso de uso.
Resumen
Ventajas de utilizar el modelo de casos de uso:

Su uso se ha extendido y consolidado

Reflejan el punto de vista del cliente/usuario, las características del éxito
o fracaso de la unidad

Los casos de uso extendidos contribuyen a completar la información
necesaria

Ayudan a detectar casos de uso inconsistentes, incompletos o ambiguos
La principal desventaja es que no hay acuerdo sobre el nivel apropiado de
abstracción y especificidad de los casos de uso. Por lo tanto en las etapas de
diseño
de
casos
de
prueba
hay
que
resolver
las
ambigüedades.
Finalmente, veamos cómo podemos enmarcar la técnica de casos de uso en la
concepción general de las técnicas de diseño de casos de prueba que
adoptamos:

Modelo de la realidad
o

Un criterio de cobertura
o

Recorrer todos los escenarios
Un estrategia de selección
o

Casos de uso
Relación operacional lógicamente completa y mínima
Una teoría de errores
o
Variada
Descargar