Plan de Pruebas
En este plan de pruebas se pretende identificar y definir cuáles son los casos de prueba cuya comprobación o ejecución (en caso de poder automatizarse) es necesario validar para garantizar que la plataforma esté completamente operativa. Además también tiene el objetivo de identificar cuáles de ellos son automatizables (detallando cómo se puede llevar a cabo la automatización de los mismos y cómo comprobar los resultados).
Automatización de Pruebas
Para automatizar las pruebas es posible usar el plugin de Firefox llamado Chickenfoot que se puede obtener en esta web. Este plugin permite automatizar la navegación y manipular la web mediante Javascript con algunas variaciones, lo que hace que se adapte bien a las necesidades de las pruebas a generar.
Como ejemplo ilustrativo del resto de las pruebas, se va a realizar una prueba que valide el correcto funcionamiento del login en la plataforma. Primero se comprobará el caso correcto de que se pueda acceder al área de trabajo con un usuario y una contraseña legítimos, los cuales introducimos con los correspondientes comandos del plugin, los cuales se pueden consultar en la API de Chickenfoot. El resultado de la operación es la captura de la derecha.
En la zona correspondiente a la salida registrada por el plugin se observa que se han realizado dos llamada al comando go, una para la autenticación y la segunda para acceder al área de trabajo. En cambio si se introduce un dato erróneo se observa que sólo hay una llamada de tipo go en el registro de la salida, lo cual indincia que no se ha logrado el objetivo.
De esta forma, el análisis de los resultados registrados tras la ejecución de los scripts correspondientes a cada caso de uso será lo que indique la validación de la funcionalidad que se desea testear.
Casos de prueba
Los casos que se presentan a continuación son los que se estima necesario que tienen que ser verificados antes de poder liberar una nueva versión de la plataforma. Dentro de estos casos se han identificado aquellos que pueden ser automatizados por el procedimiento anteriormente descrito. Los casos a probar son:
- Comprobación de login.
- Verificación de la internacionalización (no se puede automatizar).
- Creación, renombrado, bloqueo y eliminación de áreas de trabajo.
- Creación, renombrado, bloqueo y eliminación de pestañas.
- Acceso al Catálogo.
- Acceso al Wiring.
- Añadir recursos al catálogo (casos de gadgets correctos, con template incorrecto y repetidos).
- Funcionamiento de los botones situados en la esquina superior derecha de cada recurso del catálogo.
- Búsqueda sencilla por palabras.
- Ordenar recursos por distintos criterios.
- Mostrar distintas cantidades de gadgets por página.
- Mostrar el interfaz de búsqueda avanzada (y ocultarlo) y realizar búsquedas en función de los distintos criterios.
- Mostrar el interfaz de etiquetado avanzado (y ocultarlo) y etiquetar diversos gadgets con distintos usuarios y comprobar los resultados.
- Desplegar la pestaña de información de un recurso (y plegarla) y comprobar todas sus funcionalidades.
- Añadir instancias de gadgets a distintas áreas de trabajo y pestañas.
- Probar las redimensiones de gadgets y el movimiento de gadgets en el dragboard (no se puede automatizar).
- Verificar la minimización y la restauración del tamaño de los gadgets.
- Creación, renombrado y eliminación de canales.
- Conexión y desconexión entre eventos y ranuras.
- Propagación de datos entre gadgets conectados.
- Conexión de eventos y pestañas y verificación de su funcionamiento.
- Pruebas de funcionamiento de gadgets (no es automatizable porque depende de los gadgets).
Scripts de pruebas
Aquí aportamos algunos scripts de pruebas que hemos ido desarrollando y que pretendemos ampliar y mejorar hasta cubrir estos casos. Adjunto a esta entra entrada de la wiki esta el fichero "pruebas.zip" el cual contiene los siguientes scripts de pruebas:
- login.js - Permite comprobar el login de un usuario y verifica el acceso al catálogo y al wiring y realiza unas pequeñas pruebas de idioma
- pruebaCanales.js - Prueba la creación, renombrado y eliminación de canales
- gadgetsPerPage.js - Prueba la opción de mostrar distinto número de gadgets por página
- añadir_instancias.js - Accede al catálogo, despliega la pestaña de información de un gadget y verifica sus funcionalidades para despues añadir una instancia del gadget al dragboard
- añadir_recursos.js - Crea nuevos gadgets dentro del catálogo (existentes y no existentes)
- advanced_tagging_button.js - Esta funcionalidad no está aún disponible en la plataforma. Su funcionalidad será la de probar añadir tags a los recursos del catálogo y probar toda su funcionalidad .
- añadir_gadgets.js - Este script añade nuevas instancias de los recursos disponibles en el catálogo dentro de distintos Tabs. También prueba la ordenación de los gadgets dentro del catálogo.
- buscar_catalogo.js - Accede a la funcionalidad de búsqueda avanzada de la plataforma, y ejecuta una prueba de búsqueda para cada tipo a partir de varios tokens para su búsqueda, de forma que la búsqueda se efectúe de forma correcta y a continuaciçon de forma incorrecta para mostrar errores.
- tabs.js - Este script realiza pruebas sobre los Tabs de la plataforma, de forma que se prueba a renombrarlos, bloquearlos, añadir nuevos tabs y borrar alguno ya existente.
- workspace.js - Este script realiza comprobaciones similares a las del script anterior, pero en este caso con los workspace de la plataforma.
Attachments
- LoginIncorrecto.png (53.7 kB) - added by miglesia-upm on 06/09/08 13:03:39.
- PreviaLogin.png (55.6 kB) - added by miglesia-upm on 06/09/08 13:04:37.
- ResultadoLogin.png (70.0 kB) - added by miglesia-upm on 06/09/08 13:05:22.
- pruebas.zip (3.4 kB) - added by miglesia-upm on 06/13/08 13:21:20.
- advanced_tagging_button.js (164 bytes) - added by rnogal on 07/23/08 12:32:10.
- anadir_gadgets.js (2.3 kB) - added by rnogal on 07/23/08 12:32:30.
- anadir_recursos.js (1.1 kB) - added by rnogal on 07/23/08 12:32:59.
- buscar_catalogo.js (4.6 kB) - added by rnogal on 07/23/08 12:33:12.
- conexiones.js (128 bytes) - added by rnogal on 07/23/08 12:33:35.
- login.js (1.1 kB) - added by rnogal on 07/23/08 12:33:48.
- minimizar.js (204 bytes) - added by rnogal on 07/23/08 12:33:58.
- tabs.js (1.1 kB) - added by rnogal on 07/23/08 12:34:08.
- workspace.js (0.8 kB) - added by rnogal on 07/23/08 12:34:49.
- wiring.js (1.5 kB) - added by rnogal on 08/13/08 09:50:52.
- anadir_instancias.js (4.1 kB) - added by rnogal on 08/13/08 09:51:07.



