Pruebas del sistema con sideexComo parte del proceso de desarrollo ágil de una aplicación web es importante entre otras: (1) mantener requerimientos en forma de historias de usuario y tareas, así como su seguimiento, (2) que un equipo de desarrollo implemente los requerimientos y resuelva fallas, (3) que un equipo de pruebas busque fallas, las encuentre y reporte al equipo de desarrollo. Las pruebas del sistema "se realizan a un sistema completo e integrado,
para evaluar que cumpla con los requerimientos especificados. A continuación describimos como realizamos pruebas del sistema en Pasos de Jesús usando sideex (http://sideex.org/), suponiendo que las fuentes de la aplicación (y de las pruebas) se almacenan en un repositorio de github (https://github.com) y que el seguimiento al desarrollo se realiza en un tablero Trello (https://trello.com). 1. Tablero TrelloEl tablero Trello suele tener columnas para:
Solemos estimar que las pruebas del sistema requieren 1/4 del tiempo de desarrollo y solemos dejar en el tablero en la columna "Comprometidas" una tarjeta con título "P-1 Pruebas" donde se hace parte del seguimiento de pruebas. 2. Dinámica desarrollo - pruebas del sistemaDe acuerdo a las prioridades acordadas con clientes (tipicamente en una reunión al inicio de cada carrera) y del diseño de la carrera, el equipo de desarrollo debe buscar corregir primero fallas en el código fuente, refactorizar, implementar novedades, realizar otros tipos de pruebas (unidad, regresión), poner en el repositorio github los cambios, desplegar cambios en sitio de desarrollo (y/o de ensayo) y anunciar al equipo de pruebas un resumen de las fallas resueltas y de las novedades implementadas (eventualmente con indicaciones sobre que aspectos concentrar las pruebas), esto suele hacerse con periodicidad semanal (o según el tipo de contrato). Cada vez que el equipo de desarrollo anuncia cambios, el equipo de pruebas:
3. Pruebas del sistema3.1 Verificar que lo que funcionaba siga funcionandoa. Clonar o actualizar el repositorio que se va a probar. b. Empleando Chrome con sideex instalado, ingresar a la aplicación en el sitio de desarrollo (o de ensayo) con un usuario y contraseña de administrador (de prueba), iniciar sideex, cargar la suit de pruebas y ejecutarla completa. c. Por cada falla que se encuentre: c.1 Reproducirla manualmente y asegurar que es una falla del sistema (y no de las pruebas o de sideex) c.2 Si era una falla ya resuleta buscar la tarjeta donde se había reportado y pasarla de la columna "Hecho" del tablero Trello a "Haciendo" c.3 Si es una falla nueva, crear una nueva tarjeta Trello en la columna
"Haciendo". Iniciar el título con un código c.4. Si se detienen las pruebas pero no por fallas en la aplicación sino en la prueba para sideex o por cambios en funcionalidad de la aplicación pero sin errores, se mejora la prueba de sideex para que pase y se guarda y actualizan pruebas en github. c.5. En la tarjeta P-1 del tablero Trello agregar un comentario del estilo "Ejecutada suit de pruebas. 2 errores" c.6 Si hay dificultades que no logran superarse para describir un caso de prueba con sideex guardar el caso de prueba en un solo archivo en la carpeta test/sideex/con_error 3.2 Probar NovedadesPor cada novedad o falla resuelta que reporte el equipo de desarrollo:
3.3 Ayudas para crear cada caso de pruebaUn caso de pruebas en sideex consta de una serie de ordenes selenese,
cada orden selenese puede tener cero, uno o dos argumentos. El primer
argumento cuando existe típicamente es un selector del elemento al que se aplica
la orden y el segundo cuando existe es un valor. Por ejemplo la orden Al guardar un caso de prueba, se almacenan las ordenes en un formato de tabla HTML, donde cada fila es una orden y con 3 columnas: la primera para el nombre del comando, la segunda para el selector y la tercera para el valor. Las ayudas que se presentan a continuación son mínimas, se recomienda consultar la ayuda de sideex (botón Help o disponible en http://www.seleniumhq.org/docs/02_selenium_ide.jsp ), así como la especificación de cada orden selenese disponible en la pestaña Reference de la interfaz de Selenium-IDE cuando se enfoca la orden en un caso de prueba.
|