Presentación PDF - Departamento de Lenguajes y Sistemas

Anuncio
Hacia una Propuesta de Pruebas
Tempranas del Sistema
Javier J. Gutiérrez, María J. Escalona, Arturo H.
Torres, Manuel Mejías y Jesús Torres
escuela técnica superior
de ingeniería informática
Introducción
Prueba del sistema: Verifican si el
comportamiento del sistema
coincide con sus requisitos.
Prueba del sistema: Funcionales, de
navegación, usabilidad,
rendimiento, escalabilidad,
seguridad, carga, etc.
Un proceso de prueba.
Objetivos de prueba
Objetivos de prueba
Diseño de casos de
Diseño de casos de
prueba
prueba
Codif. de casos de
Codif. de casos de
prueba
prueba
Ejecución
Ejecución
Análisis de resultados
Análisis de resultados
Nuestro objetivo
Nuestro objetivo
Introducción
–
No existe la propuesta completa.
–
La documentación es escasa y los trabajos son
aislados.
–
Falta de sistematización y de automatización.
–
Falta de herramientas que soporten las propuestas.
–
Falta de estudios empíricos.
23 propuestas en total.
12 análisis comparativo.
Introducción a la generación de pruebas
Punto de partida.
Use
case
UC-01
UC-01
UC-03
UC-03
UC-03
UC-03
UC-04
Variable
Nam e
Type
Dom ain
System configuration
C
In
(SR-01)
Use
Variable
Nam e Array
Type
Combination
to
Cd
Out
case
discover
UC-01
System configuration
In
System configuration
C
InC
(SR-01)
UC-01
Combination
to
Out
Combination
to
Cd
InCd
Array
discover discover
Use
Variable
UC-03
System
configuration
C
In
User combination
Cj
Inner
Array
case
UC-03
Cd
In
User tries Combination
Ni SystemInner
Integer
UC-01 to
configuration
discover
System configuration
Out
UC-01 C Combination
to(SR-01)
UC-03
User combinationdiscoverCj
Inner
UC-03
User tries
Inner
UC-03
System Ni
configuration
UC-04
System
configuration
C
UC-03
Combination
to Out
discover
UC-03
User combination
UC-03
User tries
UC-04
System configuration
Domain
(SR-01)
Array
Nam e
(SR-01)
CArray
Cd
Array
CInteger
(SR-01)
Cd
Cj
Ni
C
Type
Dom ain
In
Out
(SR-01)
Array
In
In
(SR-01)
Array
Inner
Inner
Out
Array
Integer
(SR-01)
Punto de llegada.
Un proceso de generación de pruebas
Nombre
Precondición
Secuencia
principal
Requisitos
Error /
Secuencias
alternativas
Post-condición
Notas
Use
case
UC-01
UC-01
UC-03
UC-03
UC-03
UC-03
UC-04
Variable
Nam e
Type
UC-01. Añadir nuevo enlace.
No
1 El visitante solicita añadir un nuevo enlace.
2 El sistema solicita la información del enlace (SR-02).
3 El visitante introduce la información del nuevo enlace.
4 El sistema almacena el nuevo enlace.
3.1.i El visitante cancela la operación y este caso de uso
termina.
3.2.i Si el visitante desea cambiar la categoría, se ejecuta el
caso de uso “Cambiar categoría” y este caso de uso
continua..
4.1.p Si el nombre del enlace o su URL están vacíos, el
sistema muestra un mensaje de error y solicita de nuevo
la información del enlace.
Nuevo enlace añadido al sistema.
Por defecto, el sistema selecciona la categoría “Top” para el nuevo
enlace.
Dom ain
System configuration
C
In
(SR-01)
Use
Variable
Nam e Array
Type
Combination
to
Cd
Out
case
discover
UC-01
System configuration
In
System configuration
C
InC
(SR-01)
UC-01
Combination
to
Out
Combination
to
Cd
InCd
Array
discover discover
Use
Variable
UC-03
System
configuration
C
In
User combination
Cj
Inner
Array
case
UC-03
Cd
In
User tries Combination
Ni SystemInner
Integer
UC-01 to
configuration
discover
System configuration
Out
UC-01 C Combination
to(SR-01)
UC-03
User combinationdiscoverCj
Inner
UC-03
User tries
Inner
UC-03
System Ni
configuration
UC-04
System
configuration
C
UC-03
Combination
to Out
discover
UC-03
User combination
UC-03
User tries
UC-04
System configuration
Domain
(SR-01)
Array
Nam e
(SR-01)
CArray
Cd
Array
CInteger
(SR-01)
Cd
Cj
Ni
C
Type
Dom ain
In
Out
(SR-01)
Array
In
In
(SR-01)
Array
Inner
Inner
Out
Array
Integer
(SR-01)
•Nuestro punto de partida son
requisitos escritos en lenguaje
informal.
•Es difícil manipularlos de
manera automática.
… el primer paso será transformar los requisitos
en modelos manipulables automáticamente.
Un proceso de generación de pruebas
•A partir de dichos modelos obtenemos los objetivos de prueba.
•Un objetivo de prueba es algo que tenemos que probar.
Id
Objetivo de prueba
1
01, 02, 03, 04, 04.1
2
01, 02, 03, 04, 04.2
3
01, 02, 03
Sabemos qué tenemos que probar.
¿Cómo escribimos pruebas para probarlo?
Un proceso de generación de pruebas
Interfaz abstracta del sistema.
Prueba abstracta.
GUI Component
GUI Screen
GUI Object
-title
GUIErrorScreen
Descripción
ClickOn(component)
Representa una pulsación con el botón
izquierdo sobre el componente indicado
SetField(field, value)
Asigna al campo el valor indicado.
-name
1
-errorMsg : string
Instrucción
*
Field
-value
Text
Table
ActionObject
-text
*
*
1
1
Header
insertar : Action
1
name
Body
cancelar : Action
categoria : Action
name
name
1
1
nombreField : Field
name
value
1
1
1
1
URLField : Field
1
1
1
nombreLabel : Text
linkScreen : GUI1Screen
name
title
1
1 text
11
URLLabel : Text
name
value
1
name
text
1
descriptionField : Field
1
descripcionLabel : Text
name
value
name
text
Id
Objetivo de prueba
1
01, 02, 03, 04, 04.1
2
01, 02, 03, 04, 04.2
3
01, 02, 03
Implementación de las pruebas
Herramienta de prueba.
(JWebTest, Canoo WebTest, Selenium, etc.)
Casos de
prueba.
Estado actual y futuros trabajos
Estado actual:
ObjectGen
Futuros trabajos:
Todo lo demás
Datos de contacto
Pruebas
Javier Gutiérrez
javierj@us.es
www.lsi.us.es/~javierj/
Requisitos
María José Escalona
mjescalona@us.es
www.lsi.us.es/~escalona/
Descargar