Вы находитесь на странице: 1из 17

Probando casos de uso

Definicin de casos de uso y otros requisitos Javier Gutirrez / javierj@us.es

Objetivos
Objetivo: Mostrar cmo definir requisitos para aplicar un proceso sistemtico de generacin de casos de prueba.

Probando casos de uso


ndice:
1. Introduccin. 2. El modelo de requisitos de NDT.
Plantillas para casos de uso. Plantillas para requisitos de informacin. Plantillas para requisitos de navegacin.

3. Un sencillo ejemplo. 4. Niveles de detalle de los casos de uso.

Introduccin

Introduccin
Cuanto mejores sean nuestros requisitos, mejores sern nuestras pruebas Qu significa mejores? 1. Completos. 2. Correcto. 3. Validado. 4. Formal. - Menos intervencin humana. 5. No ambiguo. - Automatizables. 6. Verificable. - Ms objetivos. 7. Rastreable. - Bsqueda de mayor nmero de errores. 8. Detalle coherente. El primer paso es mejorar nuestro proceso de requisitos. El primer paso es mejorar nuestro proceso de requisitos.

Introduccin
Ejemplos a evitar Pasado un tiempo, la sesin expira. El sistema guarda el tamao de la imagen. Cunto tiempo?. El tamao en bytes o el tamao en pxeles?. Cmo interaccionan los subsistemas?.

Para realizar una venta, el cliente hace login indicando su nombre y clave, despus el sistema se comunica con los subsistemas de almacn y envos.

Introduccin
Los casos de uso son historias que describen interacciones entre:
Actores: personas u otros sistemas con algn objetivo que cumplir. Sistema: sistema actual o a desarrollar que proporciona ciertos servicios que necesitan los actores para cumplir sus objetivos.

Los casos de uso se utilizan para definir requisitos funcionales. Cuando probemos los casos de uso estaremos probando la funcionalidad del sistema.

Introduccin
Requisito Una cualidad que el sistema debe tener para ser aceptado. Surgen de las necesidades del cliente. De muchos tipos. Caso de uso Una operacin que un actor hace con el sistema para obtener un resultado. Surgen de los requisitos. Slo requisitos funcionales.

Introduccin
Los casos de uso son ms completos y estructurados que una historia de uso. ms generales y detallados que un escenario de uso. ms fciles de definir y entender que requisitos formales.

Introduccin

Crear mensaje foro Autor: Fecha: Joaquin Gracia 24/08/2003

Descripcin: Permite crear un mensaje en el foro de discusin. Actores: Usuario de Internet logeado. Precondiciones: El usuario debe haberse logeado en el sistema. Flujo Normal: 1. El actor pulsa sobre el botn para crear un nuevo mensaje. 2. El sistema muestra una caja de texto para introducir el ttulo del mensaje y una zona de mayor tamao para introducir el cuerpo del mensaje. 3. El actor introduce el ttulo del mensaje y el cuerpo del mismo. 4. El sistema comprueba la validez de los datos y los almacena. Flujo Alternativo: 4. El sistema comprueba la validez de los datos, si los datos no son correctos, se avisa al actor de ello permitindole que los corrija Poscondiciones: El mensaje ha sido almacenado en el sistema.

Navigational Development Technique

Navigational Development Technique


Metodologa para elicitacin de requisitos y anlisis. Orientada a sistemas web e hipermedia. Integracin con UWE. Basado en plantillas de texto. Herramienta de soporte.
Por qu NDT? No es obligatorio utilizar NDT

Navigational Development Technique


Buen diseo Diseo fcil de probar

Buenos requisitos

Requisitos fciles de probar

Necesitamos un modelo formal de requisitos. NDT es un buen punto de partida

NDT y plantillas para requisitos

Modelo de casos de uso


Requisitos NDT.
Modelo de actores. Modelo de requisitos de informacin. Modelo de requisitos de navegacin. Modelo de requisitos funcionales / casos de uso. Modelo de requisitos no funcionales. Se expresan mediante plantillas de texto.

Plantillas de NDT
Plantilla para casos de uso

Las pruebas verificaran que el sistema hace lo que pone aqu.

Este modelo de plantilla es fcilmente extensible.

Plantillas de NDT

Indican cul debe ser el estado inicial del sistema antes de realizar la prueba. Algunas veces tambin sirven para determinar si la prueba ha sido superada.

Plantillas de NDT
Prueba = Acciones + Datos + Resultado

Modelo de requisitos funcionales / casos de uso.

Modelo de requisitos de informacin.

3. El sistema solicita la informacin del cliente. 4. El usuario introduce la informacin del cliente.

Qu informacin se maneja para un cliente?.

Plantillas de NDT
Plantilla para requisitos de informacin

Nos permite construir valores de prueba.


Este modelo de plantilla tambin es fcilmente extensible.

Plantillas de NDT
Plantilla para requisitos de navegacin
Frases: Prototipos de visualizacin:

10

Plantillas de NDT
Plantilla para requisitos de navegacin
Frases: Prototipos de visualizacin:

Navegacin del sistema

Un sencillo ejemplo

11

Descripcin del problema


Sokoban es un juego de varios niveles. Cada nivel est compuesto por un jugador, cajas, repisas y muros. El objetivo del jugador es empujar todas las cajas sobre las repisas. Cuando esto sucede el jugador pasa al siguiente nivel. Para mover una caja, el jugador debe colocarse al lado y empujarla. Si la casilla hacia la que est empujando la caja est libre la caja se mover. Si el jugador se queda bloqueado, es decir, no puede terminar el nivel, puede reiniciar el nivel perdiendo una vida. Cuando el jugador pierde todas sus vidas la partida termina.

Cliente.

Descripcin del problema


Sokoban

Cliente.

12

Casos de uso
Nombre Descripcin

01- Iniciar partida El usuario desea iniciar una nueva partida de Sokoban. Ninguna 01 02 03 El usuario solicita comenzar una nueva partida. El sistema carga el nivel inicial. El sistema muestra la pantalla de juego y espera a que el usuario realice un movimiento (Caso de uso 02).

Diagrama de casos de uso


Iniciar partida

Precondicin Secuencia principal

Errores / Alternativas

No Partida iniciada No
02- Mover jugador El usuario desea mover al jugador. Partida iniciada (caso de uso 01).
01 02 03 04 El usuario solicita realizar un movimiento. El sistema comprueba que el movimiento es vlido y lo realiza. El sistema muestra la pantalla de juego con la posicin actual del jugador y las cajas. El sistema comprueba si el usuario ha completado el nivel, muestra la pantalla de juego y espera un nuevo movimiento.
Si el movimiento no es vlido, el sistema no hace nada y espera un nuevo movimiento. Si el usuario ha completado el nivel, el sistema carga el siguiente nivel, muestra la pantalla de juego, y espera un nuevo movimiento.

Mover jugador

Postcondicin Notas
Nombre

Usuario Reiniciar nivel

Descripcin Precondicin Secuencia principal

Terminar partida
Errores / Alternativas

02 04

Postcondicin Notas

No. Un movimiento es vlido si el jugador se desplaza hacia una posicin libre (se mueve solo el jugador) o si se desplaza hacia una posicin con una caja y la posicin est libre (se mueve el jugador y la caja).

Requisitos de informacin
Nombre Descripcin Datos especficos IR-01. Nivel Informacin de un nivel del juego Nombre Naturaleza 1 Muros Tabla de coordenada X e Y 2 Cajas Tabla de coordenada X e Y 3 Zonas de carga Tabla de coordenada X e Y 1 No puede haber ninguna caja ni zona de carga en un muro. 2 Inicialmente, ninguna caja se colocar sobre una zona de carga.
Nombre Descripcin Datos especficos IR-02. Jugador Informacin del jugador. Nombre Naturaleza 1 Nivel IR-01 2 Posicin Coordenada X e Y 3 Imagen Bitmap 4 Nmero de reintentos Entero 1 El nmero de reintentos no puede ser negativo. 2 La posicin no podr ser igual que la posicin de un muro o caja.

Restricciones

Restricciones

13

Niveles de casos de uso

Niveles de casos de uso


Es posible utilizar los casos de uso en distintos momentos del desarrollo y con distintos niveles de detalle.

Algunas propuestas.
Cockburn : 5 niveles NASA: 4 niveles. Earlr-requirements / Later-requirements.
Pero cul es el nivel ms adecuado para probar los casos de uso.?

14

Niveles de casos de uso


Un resumen de propuestas de niveles de casos de uso:

Procesos de negocio. Requisitos del sistema.


Alto nivel. Bajo nivel.

Funciones del sistema. Escenarios de uso.


No todas respetan las definiciones.

Niveles de casos de uso


Ejemplos:

Procesos de negocio. Requisitos del sistema.


Alto nivel. Bajo nivel.

Todo un proceso de venta, desde que se Todo un proceso de venta, desde que se recibe un pedido hasta que se cobra yy recibe un pedido hasta que se cobra contabiliza. contabiliza. Todo un proceso de venta, desde el punto Todo un proceso de venta, desde el punto de vista del cliente. de vista del cliente. Buscar productos por criterios, aadirlos al Buscar productos por criterios, aadirlos al carrito, etc. carrito, etc. Comunicacin con la BBDD para Comunicacin con la BBDD para recuperar productos. recuperar productos. Comprar 10 ejemplares del libro Cmo Comprar 10 ejemplares del libro Cmo ser inmensamente feliz con NDT. ser inmensamente feliz con NDT.

Funciones del sistema. Escenarios de uso.

Pero cul es el nivel ms adecuado para probar los casos de uso.?

15

Niveles de casos de uso

Niveles de casos de uso


Los casos adecuados para pruebas del sistema rara vez ofrecen valor a los clientes (y viceversa para pruebas de aceptacin).

Nivel adecuado

Nivel inadecuado Realizar venta. Gestin de existencias. Aadir mensaje en foro moderado

Insertar nuevo elemento. Consultar informacin Acceso al sistema. Registrar venta.

16

Cmo redactar casos de uso


1. 2. 3. 4. 5. Como un partido de ftbol. Como un partido de tenis. Como el sorteo de la primitiva. Como en un aula del colegio. Aburridos.

Conclusin
Con esto, tenemos buenos requisitos / casos de uso y la prueba es ms eficiente.
Veamos como probarlos.

17

Вам также может понравиться