Documentos de Académico
Documentos de Profesional
Documentos de Cultura
05 SR
05 SR
Objetivo
Objetivo: Mostrar cmo Objetivo: Mostrar cmo aplicar el proceso ETUC aplicar el proceso ETUC para la generacin de casos para la generacin de casos de prueba a una aplicacin de prueba a una aplicacin web real. web real.
ndice
1. 2. 3. 4. 5. Aplicacin Web-Link. Generacin de objetivos de prueba. Pruebas abstractas. Pruebas concretas. Conclusiones.
Aplicacin Web-Link
Aplicacin Web-Link
Un sistema para guardar y mostrar un catlogo de enlaces en lnea. Los enlaces se agrupan en categoras. Cualquier visitante puede aadir nuevos enlaces o consultar los enlaces almacenados.
Aplicacin Web-Link
Aplicacin Web-Link
Nombre Precondicin Secuencia principal UC-01. Aadir nuevo enlace. No 1 El visitante solicita aadir un nuevo enlace. 2 El sistema solicita la informacin del enlace (SR-02). 3 El visitante introduce la informacin del nuevo enlace. 4 El sistema almacena el nuevo enlace. 3.1.i El visitante cancela la operacin y este caso de uso termina. 3.2.i Si el visitante desea cambiar la categora, se ejecuta el caso de uso Cambiar categora y se repite el paso 2. 4.1.p Si el nombre del enlace o su URL estn vacos, el sistema muestra un mensaje de error y se repite el paso 2. Nuevo enlace aadido al sistema. Por defecto, el sistema selecciona la categora Top para el nuevo enlace.
Nombre Precondicin Secuencia principal
Post-condicin Notas
UC-02. Cambiar categora. El visitante est introduciendo un enlace 1 El visitante solicita cambiar la categora. 2 El sistema muestra todas las categoras disponibles. 3 El usuario selecciona una categora. 4 El sistema modifica la categora del nuevo enlace. 2.1.i Si no hay ninguna categora o el sistema no puede recuperar las categoras, se muestra un mensaje de error y el caso de uso termina. No.
Aplicacin Web-Link
Categora
Nombre Informacin especfica SR-01. Categoras Nombre Dominio Identificador Entero Descripcin Cadena Categora padre Entero El identificador debe ser nico. La categora padre debe existir. Categora Top.
Los requisitos de informacin describen los datos del mundo real que nuestro sistema debe utilizar.
Enlace
Nombre Informacin especfica SR-02. Enlaces. Nombre Dominio Identificador Entero Nombre Cadena Categora Entero URL Cadena Descripcin Cadena Aprobado Boolean Fecha Fecha El identificador debe ser nico. Todos los campos son obligatorios excepto descripcin.
Restricciones
Procesos e informacin
Una visin global
Proceso ETUC.
El proceso ETUC
1
Generacin de objetivos.
Generacin de secuencias de acciones. Generacin de valores de prueba. Resultado: Objetivos de prueba. (pasos + valores de prueba) Construccin de objetivos de prueba.
Objetivos de prueba
Nombre Precondicin Secuencia principal Error / Secuencias alternativas UC-01. Aadir nuevo enlace. No 1 El visitante solicita aadir un nuevo enlace. 2 El sistema solicita la informacin del enlace (SR-02). 3 El visitante introduce la informacin del nuevo enlace. 4 El sistema almacena el nuevo enlace. 3.1.i El visitante cancela la operacin y este caso de uso termina. 3.2.i Si el visitante desea cambiar la categora, se ejecuta el caso de uso Cambiar categora y este caso de uso continua.. 4.1.p Si el nombre del enlace o su URL estn vacos, el sistema muestra un mensaje de error y solicita de nuevo la informacin del enlace. Nuevo enlace aadido al sistema. Por defecto, el sistema selecciona la categora Top para el nuevo enlace.
Post-condicin Notas
Errores / alternativas
Objetivos de prueba
Nombre Precondicin Secuencia principal Error / Secuencias alternativas UC-01. Aadir nuevo enlace. No 1 El visitante solicita aadir un nuevo enlace. 2 El sistema solicita la informacin del enlace (SR-02). 3 El visitante introduce la informacin del nuevo enlace. 4 El sistema almacena el nuevo enlace. 3.1.i El visitante cancela la operacin y este caso de uso termina. 3.2.i Si el visitante desea cambiar la categora, se ejecuta el caso de uso Cambiar categora y este caso de uso continua.. 4.1.p Si el nombre del enlace o su URL estn vacos, el sistema muestra un mensaje de error y solicita de nuevo la informacin del enlace. Nuevo enlace aadido al sistema. Por defecto, el sistema selecciona la categora Top para el nuevo enlace.
Post-condicin Notas
1. Cada paso de la secuencia principal es una actividad. 2. Cada paso de la secuencia alternativa es una decisin (y, a veces, ms actividades).
Objetivos de prueba
Nombre Precondicin Secuencia principal Error / Secuencias alternativas UC-01. Aadir nuevo enlace. No 1 El visitante solicita aadir un nuevo enlace. 2 El sistema solicita la informacin del enlace (SR-02). 3 El visitante introduce la informacin del nuevo enlace. 4 El sistema almacena el nuevo enlace. 3.1.i El visitante cancela la operacin y este caso de uso termina. 3.2.i Si el visitante desea cambiar la categora, se ejecuta el caso de uso Cambiar categora y este caso de uso continua.. 4.1.p Si el nombre del enlace o su URL estn vacos, el sistema muestra un mensaje de error y solicita de nuevo la informacin del enlace. Nuevo enlace aadido al sistema. Por defecto, el sistema selecciona la categora Top para el nuevo enlace.
Post-condicin Notas
UC-02. Cambiar categora. El visitante est introduciendo un enlace 1 El visitante solicita cambiar la categora. 2 El sistema muestra todas las categoras disponibles. 3 El usuario selecciona una categora. 4 El sistema modifica la categora del nuevo enlace. 2.1.i Si no hay ninguna categora o el sistema no puede recuperar las categoras, se muestra un mensaje de error y el caso de uso termina. No.
Objetivos de prueba
Objetivos de prueba
Qu puede cambiar entre 2 ejecuciones del mismo caso de uso?. Qu informacin debe suministrar el visitante/prueba al sistema?. Qu informacin suministra el sistema al visitante/prueba Variable Operacional: Cualquier cosa que puede cambiar entre dos ejecuciones de un mismo caso de uso.
Objetivos de prueba
Nombre Precondicin Secuencia principal UC-01. Aadir nuevo enlace. No 1 El visitante solicita aadir un nuevo enlace. 2 El sistema solicita la informacin del enlace (SR-02). 3 El visitante introduce la informacin del nuevo enlace. 4 El sistema almacena el nuevo enlace. 3.1.i El visitante cancela la operacin y este caso de uso termina. 3.2.i Si el visitante desea cambiar la categora, se ejecuta el caso de uso Cambiar categora y este caso de uso continua.. 4.1.p Si el nombre del enlace o su URL estn vacos, el sistema muestra un mensaje de error y solicita de nuevo la informacin del enlace. Nuevo enlace aadido al sistema. Por defecto, el sistema selecciona la categora Top para el nuevo enlace.
Post-condicin Notas
UC-02. Cambiar categora. El visitante est introduciendo un enlace 1 El visitante solicita cambiar la categora. 2 El sistema muestra todas las categoras disponibles. 3 El visitante selecciona una categora. 4 El sistema modifica la categora del nuevo enlace. 2.1.i Si no hay ninguna categora o el sistema no puede recuperar las categoras, se muestra un mensaje de error y el caso de uso termina. No.
En este caso, no hay ningn resultado que se exprese como una variable.
Objetivos de prueba
Relacin entre las actividades y las variables op.
accinVisitante
nuevoEnlace
listadoCategoras
categoraSeleccionada
Objetivos de prueba
Listado de variables operacionales.
Nombre categoraEnlace datosEnlace accionVisitante listadoCategorias errorCategoras Abr. C E A LC EC Dominio SR-01 SR-02 {Introducir, cancelar cambiar} Array de SR-01 {Sin error,.} Tipo Informacin Informacin Actor Contexto Contexto
Informacin: Datos que el actor suministra al sistema. Actor: Acciones que el actor realiza sobre el sistema. Contexto: Informacin dependiente del estado del sistema.
Resumen
Construccin del modelo de comportamiento
Abr. C E A LC EC
Dominio SR-01 SR-02 {Introducir, cancelar cambiar} Array de SR-01 {Sin error,.}
El proceso ETUC
1
Generacin de valores de prueba. Resultado: Objetivos de prueba. (pasos + valores de prueba) Construccin de objetivos de prueba.
Cobertura
Cobertura: Cantidad de cdigo verificada por las pruebas .
La cobertura es: - Qu seleccionamos y qu dejamos fuera. - Medida de la cantidad que estamos probando. La seleccin se aplica en varios momentos: - Seleccionando casos de uso. - Seleccionando valores de prueba. - Seleccionando recorridos en el modelo de comportamiento, etc
Objetivos de prueba
Seleccin de un algoritmo de recorrido.
Todos los nodos (actividades / desiciones). Todas las transiciones. Todas las decisiones y alternativas. Todos los escenarios
Todos los escenarios para 0 o 1 repeticiones de bucles.
Objetivos de prueba
Calculamos todos los posibles caminos (recorremos todos los nodos y transiciones).
Objetivos de prueba
Objetivos de prueba
Repeticiones
Caminos
Objetivos de prueba
Bucle 01 Repeticiones 0 1 0 1 (primero) 1 (segundo) Bucle 02 0 0 1 1 (segundo) 1 (primero)
Caminos
Objetivos de prueba
Repitiendo esto para todas las combinaciones.
Bucle 01
Repeticiones
Caminos 3 3 3 3 3
0 1 0 1 (primero) 1 (segundo)
15 caminos en total. Cada camino es un objetivo de prueba, es decir, escribiremos al menos una prueba para verificarlo.
Objetivos de prueba
Un objetivo de prueba se puede expresar como un diagrama de actividades sin bifurcaciones.
Resumen
Generacin de secuencias de acciones.
01, 02, 03, D01(Cancelar) 01, 02, 03, D01(Cambiar), 01, 02, D03(Error)
El proceso ETUC
1
Objetivos de prueba
Categora
Nombre Informacin especfica SR-01. Categoras Nombre Dominio Identificador Entero Descripcin Cadena Categora padre Entero El identificador debe ser nico. La categora padre debe existir. Categora Top.
Enlace
Nombre Informacin especfica SR-02. Enlaces. Nombre Dominio Identificador Entero Nombre Cadena Categora Entero URL Cadena Descripcin Cadena Aprobado Boolean Fecha Fecha El identificador debe ser nico. Todos los campos son obligatorios excepto descripcin.
Restricciones
N.D.T.
Objetivos de prueba
Nombre categoraEnlace datosEnlace accionVisitante listadoCategorias errorCategoras Abr. C E A LC EC Dominio SR-01 SR-02 {Introducir, cancelar cambiar} Array de SR-01 {Sin error,.} Tipo Informacin Informacin Actor Contexto Contexto
Objetivos de prueba
El dominio de las variables se parte en particiones. Cmo identificamos las categoras?.
Valores lmite de los dominios. Alternativas del caso de uso / alternativas del modelo de comportamiento.
Nombre categoriaEnlace datosEnlace Categoras Dominio (una categora que engloba todo su dominio) Nombre Datos correctos Descripcin Todos los datos del enlace son correctos Datos incorrectos Algn dato del enlace es incorrecto. listadoCategoras Nombre Lista vaca Lista no vaca accinVisitante errorCategora Descripcin Ninguna categora Al menos una categora
Una por cada posible valor Una por cada posible valor
Es posible aplicar tcnicas de cobertura para seleccionar slo un subconjunto de las categoras posibles.
Objetivos de prueba
Las categoras se aaden al modelo de datos usando UML Testing Profile.
Restriccin de la categora.
Objetivos de prueba
Se genera. Al menos, un valor de prueba para cada categora de una variable informacin o contexto (si tiene sentido).
Nombre categoraEnlace datosEnlace accionVisitante listadoCategorias errorCategoras Abr. C E A LC EC Dominio SR-01 SR-02 {Introducir, cancelar cambiar} Array de SR-01 {Sin error,.} Tipo Informacin Informacin Actor Contexto Contexto
Resumen
Generacin de valores de prueba.
enlace01 : Enlace Identificador = * Nombre = CodeCharge Categora = 1 URL = www.codecharge.com Descripcin = Revolutionizing the way you code. Fecha = * partition enlace02 : EnlaceConNombreVacio Identificador = * Nombre = < vaco > Categora = 1 URL = www.vacio.com Descripcin = Enlace vaco Fecha = * partition enlace03 : EnlaceConURLVacia Identificador = * Nombre = prueba Categora = 1 URL = < vaca > Descripcin = Enlace con URL vaca Fecha = *
listaVaca : ListadoCategoras
listaNoVaca : ListadoCategoras 1 *
El proceso ETUC
Construccin del modelo de comportamiento
1
Objetivos de prueba
Relacin entre decisiones y variables.
Decisin D01 Ramas y variables (1) accionVisitante = IntroducirEnlace (2) accionVisitante = Cancelar (3) accionVisitante = CambiarCategora (1) datosEnlace = EnlaceCorrecto (2) datosEnlace = EnlaceConURLVacia o EnlaceConNombreVacio (1) listadoCategoras = NoVaco (2) listadoCategoras = Vaco
D02 D03
Objetivos de prueba
A continuacin se calculan las instancias de las variables. Una instancia es una realizacin concreta de una variable. Las instancias son necesarias puesto que podemos pasar ms de una vez por una mismas decisin y pueden tener distintos valores las variables implicadas.
Cada vez, el visitante decide lo que quiere hacer. Necesitamos dos instancias.
Paso opcional
Clculo de combinaciones de valores de prueba vlidas.
Objetivos de prueba
Instancias de variables.
Instancias (1) Accin visitante 1(AV1) (2) Accin visitante 2 (AV2) (1) Datos enlace 1 (DE1) (2) Datos enlace 2 (DE2) (1) Listado de categoras (LC)
Objetivos de prueba
Reglas para clculo de restricciones:
1. Si una variable toma un valor que evita otra decisin, la variable asociada no tiene valor. 2. Si una variable toma un valor que termina el caso de uso, el resto de variables no tiene valor.
Objetivos de prueba
Podemos obtener todas las combinaciones vlidas de todas las instancias mediante un sencillo script.
// Accion del visitante String [] AV = {"IntroducirEnlace", "Cancelar", "CambiarCategoria"}; String [] AV2 = {"IntroducirEnlace", "Cancelar"}; // Listado de categoras String [] LC = {"Vaca", "NoVaca"}; // Datos del enlace String [] DE = {"Correcto", "NombreVacio", "URLVaca"}; String [] DE2 = {"Correcto"}; int id = 0; String tmp; for (mav1 : AV) { for (mlc1 : LC) { for (mde1 : DE) { for (mav2 : AV2) { for (mde2 : DE2) { if (av1 == "IntroducirEnlace") lc1 = "*"; if (av1 == "Cancelar") lc1 = de1 = av2 = de2 = "*"; if (av1 != "CambiarCategoria") lc1 = "*"; if (av1 == "CambiarCategoria") de1 = "*"; if (lc1 == "Vaca") de1 = av2 = de2 = "*"; if (de1 == "Correcto") av2 = de2 = "*"; // Condicin 4. if (av2 == "Cancelar") de2 = "*"; // Mostrar combinacin } } } }
Script en accin.
Objetivos de prueba
Combinamos los valores de prueba con los objetivos. Un mismo objetivo podra ejecutarse varias veces con distintos valores de prueba.
Objetivo de prueba.
Instancias (1) Accin visitante 1(AV1) (2) Accin visitante 2 (AV2) (1) Datos enlace 1 (DE1) (2) Datos enlace 2 (DE2) (1) Listado de categoras (LC)
Objetivos de prueba
Conclusiones:
Bastante difcil de desarrollar. El orden en que las variables toman valores y se evalan las restricciones es muy importante (y no siempre obvio). Muy poco escalable (caso prctico del correo).
Paso opcional
Fin.
Objetivos de prueba
Combinamos los valores de prueba con los objetivos. Un mismo objetivo podra ejecutarse varias veces con distintos valores de prueba.
01, 02, 03, D01(Cancelar)
Decisin D01 Ramas y variables (1) accionVisitante = IntroducirEnlace (2) accionVisitante = Cancelar (3) accionVisitante = CambiarCategora (1) datosEnlace = EnlaceCorrecto (2) datosEnlace = EnlaceConURLVacia o EnlaceConNombreVacio (1) listadoCategoras = NoVaco (2) listadoCategoras = Vaco
D02
D03
Objetivos de prueba
Resultado final:
Objetivo (Este objetivo es el camino principal del caso de uso.: 01 -> 02 -> 03 -> D1(1) -> D2(1) -> 04 Descripcin: 01. El visitante solicita introducir un enlace. 02. El sistema pide los datos del enlace. 03. El visitante introduce la informacin del enlace (datosEnlace) D1(1). El visitante selecciona la opcin de introducir un enlace. D2(1). Los datos del enlace son correctos. 04. El sistema almacena el enlace. Datos de prueba: datosEnlace = enlace01 accinVisitante = IntroducirEnlace Resultado esperado: No se especifica en el caso de uso.
Procesos e informacin
Una visin global
Proceso ETUC.
Pruebas abstractas
Al intentar escribir una prueba nos surgen varias dudas:
1. Cmo ser la interfaz del sistema? 2. Cmo interactuamos con dicha interfaz?. 3. Cmo comprobamos si la prueba se super con xito?. 4. En que estado debe estar el sistema antes de iniciar la prueba?.
Pruebas abstractas
2
Construccin de rbitros.
Pruebas abstractas
Interfaz abstracta: descripcin cualitativa de las interfaces de usuario. Componente de interfaz abstracta: abstraccin de un componente de la interfaz de usuario.
Tambin podemos utilizar Tambin podemos utilizar modelos de anlisis, diseo, modelos de anlisis, diseo, prototipos, etc.. prototipos, etc.. Existen varios. A Existen varios. A continuacin veremos uno continuacin veremos uno ad-hoc para sistemas web. ad-hoc para sistemas web.
Pruebas abstractas
Un modelo de interfaz abstracta.
Con este modelo construimos la Con este modelo construimos la interfaz yylos elementos necesarios. interfaz los elementos necesarios.
Independiente de una Independiente de una aplicacin web oode escritorio. aplicacin web de escritorio.
Pruebas abstractas
Construccin de la interfaz Actividades candidatas:
1. Las actividades del sistema que tengan una transicin hacia una actividad del actor, o viceversa. 2. En las actividades que dan por terminado el caso de uso 3. En decisiones gobernadas por variables de tipo actor. 4. Actividades que muestran informacin al actor.
Pruebas abstractas
Construccin de la interfaz
El sistema debe disponer de El sistema debe disponer de una pantalla yycomponentes una pantalla componentes para solicitar introducir un para solicitar introducir un enlace. enlace. El sistema debe disponer una El sistema debe disponer una pantalla yycomponentes para pantalla componentes para introducir la informacin del introducir la informacin del enlace. enlace. El sistema debe disponer de El sistema debe disponer de una pantalla de error. una pantalla de error. El sistema debe disponer de El sistema debe disponer de componentes para poder componentes para poder cambiar la categora yy cambiar la categora cancelar. cancelar.
Pruebas abstractas
Construccin de la interfaz
El sistema debe disponer una El sistema debe disponer una pantalla yycomponentes para pantalla componentes para introducir la informacin del introducir la informacin del enlace. enlace.
El sistema debe disponer de El sistema debe disponer de componentes para poder componentes para poder cambiar la categora yy cambiar la categora cancelar. cancelar.
Pruebas abstractas
Una idea de la interfaz:
No muestra todos los elementos, slo los relevantes para las pruebas.
Pruebas abstractas
Construccin de la interfaz
El proceso ETUC
2
Generacin de pruebas abstractas. Definicin de interfaces abstractas. Construccin de casos de prueba abstractos.
1. Construccin de casos de prueba abstractos.
Pruebas abstractas
Sistema.
Pruebas abstractas
Lenguaje para pruebas abstractas
Instruccin ClickOn(component) SetField(field, value) Select(list, element) Select(list, index) Descripcin Representa una pulsacin con el botn izquierdo sobre el componente indicado Asigna al campo el valor indicado. Selecciona el elemento de la lista indicado.
Pruebas abstractas
ClickOn(aadirEnlaceAction)
SetField(nombreField, enlace01.nombre) SetField(URLField, enlace01.URL) SetField(descripcionField, enlace01.descripcion)
ClickOn(insertar)
ClickOn(cancelar)
ClickOn(categora)
Pruebas abstractas
ClickOn(aadirEnlaceAction)
SetField(nombreField, enlace01.nombre) SetField(URLField, enlace01.URL) SetField(descripcionField, enlace01.descripcion)
Pruebas abstractas
Ejemplo de caso de prueba abstracto.
ClickOn(aadirEnlaceAction) SetField(nombreField, enlace01.nombre) SetField(URLField, enlace01.URL) SetField(descripcionField, enlace01.descripcion) ClickOn(insertar) ClickOn(aadirEnlaceAction) ... ClickOn(cancelar)
Los valores de una variable de tipo actor se codifican como variantes de la secuencia de ejecucin de una prueba.
Pruebas abstractas
Modelo de interaccin.
Pruebas abstractas
Este proceso se podra aplicar a una herramienta concreta. Por qu usamos un lenguaje abstracto en lugar de un lenguaje concreto?
Nos abstrae de la interfaz y de detalles de muy bajo nivel. Si la interfaz no est estable o cambia (probable) no hay que cambiar la prueba. En un lenguaje abstracto las pruebas son las mismas independientemente de que usemos HTML, AJAX o Flash. En un lenguaje concreto, no.
Resumen
Sistema.
El proceso ETUC
2
Pruebas abstractas
Un rbitro nos indica si la prueba se ha superado o no. Un rbitro comprueba el estado de los componentes de la interfaz de usuario. Necesitamos saber los rbitros que pondremos en nuestras pruebas y un lenguaje para definirlos.
El proceso y el lenguaje para definir un arbitro es similar al de construccin de las interacciones.
Pruebas abstractas
Las pruebas cuentan con dos tipos de validaciones:
1. Ejecucin estricta de las instrucciones.
ClickOn(aadirEnlaceAction) SetField(nombreField, enlace01.nombre) SetField(URLField, enlace01.URL) SetField(descripcionField, enlace01.descripcion) ClickOn(insertar)
2. Satisfaccin de rbitros.
Pruebas abstractas
La prueba verifica que est en la pantalla correcta. La prueba verifica que est en la pantalla correcta. La prueba verifica que el mensaje de error es el correcto
Un punto de verificacin es una actividad (generalmente del sistema) donde definiremos un rbitro para realizar comprobaciones sobre la interfaz.
Pruebas abstractas
Lenguaje para definir rbitros.
Instruccin Assert(component.attribute, value) Descripcin Verifica que el atributo del componente indicado coincide con el valor. Verifica que la fila indicada por index de la tabla contiene todos los atributos del objeto en el mismo orden y con el mismo valor. Verifica que la pgina contiene el texto indicado y que este texto es visible para los actores. Verifica que la pantalla que muestra el sistema coincide con la pantalla indicada
AssertText(Text)
Screen(GUIScreen)
Estos asertos comprueban estados de la interfaz.
Pruebas abstractas
Ejemplo de rbitro.
Screen(actionScreen)
Screen(linkScreen)
Screen(linkScreen)
Pruebas abstractas
Prueba abstracta + rbitro.
ClickOn(aadirEnlaceAction)
Screen(actionScreen) Screen(linkScreen)
SetField(nombreField, enlace01.nombre) SetField(URLField, enlace01.URL) SetField(descripcionField, enlace01.descripcion)
ClickOn(insertar)
Resumen
Ejemplo de caso de prueba.
Objetivo: 01 -> 02 -> 03 -> D1(1) -> D2(1) -> 02 -> 03 -> D1(1) -> D2(1) -> 04 Se introduce un enlace incorrecto y, despus, un enlace correcto) Acctiones:
Screen(actionScreen)
ClickOn(aadirEnlaceAction)
Screen(linkScreen)
SetField(nombreField, enlace02.nombre) SetField(URLField, enlace02.URL) SetField(descripcionField, enlace02.descripcion) ClickOn(insertar)
El caso de uso no indica el resultado. En este caso podemos buscar otros artefactos, como mapas de navegacin, o esperar a que el sistema est construido.
Procesos e informacin
Una visin global
Proceso ETUC.
El proceso ETUC
2 Generacin de pruebas ejecutables.
Arquitectura de prueba.
Pruebas ejecutables
Ya tenemos la interfaz de usuario:
Pruebas concretas
Ya podemos implementar y ejecutar las pruebas:
Objetivo: 01 -> 02 -> 03 -> D1(1) -> D2(1) -> 02 -> 03 -> D1(1) -> D2(1) -> 04 Se introduce un enlace incorrecto y, despus, un enlace correcto) Acctiones:
Screen(actionScreen)
ClickOn(aadirEnlaceAction)
Screen(linkScreen)
Herramienta de prueba.
Pruebas concretas
Herramientas de prueba para interfaces web:
Selenium
(URL).
JWebUnit
(http://jwebunit.sourceforge.net).
Canoo WebTest
(URL). Open-source Java (Selenium multilenguaje) Maduras
Pruebas concretas
Arquitectura de pruebas:
Pruebas concretas
Traduccin de los valores de prueba:
public class Link { private String name; private String URL; private String description;
public String getName() { return this.name; } public String getURL() { return this.URL; } public String getDescription() {return this.description; } public static Link GetEnlace01() { Link e01 = new Link(); e01.name = "CodeCharge"; e01.URL = "www.CodeCharge.com"; e01.description = "Revolutionizin the way you code"; return e01; } }
Pruebas concretas
Interfaz abstracta Interfaz concreta
Pruebas concretas
Traduccin de secuencias de ejecucin y rbitros:
Screen(actionScreen) ClickOn(aadirEnlaceAction) Screen(linkScreen) SetField(nombreField, enlace01.nombre) SetField(URLField, enlace01.URL) SetField(descripcionField, enlace01.descripcion) ClickOn(insertar)
public void testInsertarEnlaceCorrecto() { beginAt("/Default.jsp"); assertTitleEquals("Links"); assertLinkPresentWithImage("images/home.gif"); assertLinkPresentWithImage("images/add.gif"); assertLinkPresentWithImage("images/admin.gif"); assertTextPresent("Search"); assertTextPresent("Description"); // 2. Pulsamos en el enlace de aadir nuevo enlace clickLinkWithImage("images/add.gif"); // 4. Rellenamos el formulario con los valores de prueba assertTitleEquals("Links"); setFormElement("name", enlace.getName()); setFormElement("link_url", enlace.getURL()); setFormElement("description", enlace.getDescription()); System.out.println("Adding: \n" + enlace.getName() + "\n" + enlace.getURL() + "\n" + enlace.getDescription() ); // 5. Pulsamos aceptar submit(); // 6. Comprobamos que hemos vuelto a la pgina principal assertFormPresent(); assertLinkPresentWithImage("images/home.gif"); assertLinkPresentWithImage("images/add.gif"); assertLinkPresentWithImage("images/admin.gif"); assertTextPresent("Search"); assertTextPresent("Description"); }
Conclusiones
Conclusiones
Carencias en ETUC:
Estado del sistema. Mejorar nuestras herramientas.
Conclusiones
Ms casos prcticos en .
Objetivos de prueba
Tres pasos para obtener objetivos de prueba:
Generacin de objetivos. Generar objetivos de prueba a partir del modelo de comportamiento. Obtener variables y valores de prueba para los escenarios.