Cuando se desarrolla un proyecto de software nunca se deben subestimar sus pruebas. Esta parte es crítica, tanto para ofrecer la calidad que el cliente espera como para desarrollar un software robusto y libre de errores.
Dependiendo del tipo de pruebas, estas actividades podrán ser implementadas en cualquier momento de dicho proceso de desarrollo. Cuanto antes empecemos a probar nuestra aplicación, menos costoso nos resultará encontrar errores y corregirlos, siempre es mejor plantear un cambio en etapas tempranas del desarrollo que al finalizar el proyecto.
Para desarrollar un plan de pruebas completo a nuestra aplicación web, se han definido varios tipos. En cada una de estas pruebas testearemos diferentes aspectos de nuestra aplicación web.
Tipos de Pruebas
- Pruebas de Aceptación. Pruebas que realizamos con la finalidad de verificar si el producto cumple todos los requisitos especificados por el cliente, sus reglas de negocio. Debemos tratar la aplicación como una caja opaca en la que ingresamos valores y controlamos su respuesta.
- Pruebas de Sistemas. En este tipo de pruebas evaluamos varios aspectos:
- Usabilidad: se refiere a la capacidad de un software de ser comprendido, aprendido, usado y atractivo para el usuario, en condiciones específicas de uso. En este tipo de pruebas comprobamos el comportamiento del usuario dentro de la aplicación, si le resulta fácil de usar, si cuando empieza un flujo de trabajo no lo termina a medias, si no se pierde dentro de nuestra aplicación. En definitiva, si interactúa de manera fácil y sencilla con nuestra aplicación.
- Interfaz de usuario: en estas pruebas evaluamos, por ejemplo, el tamaño de las ventanas, tipos de letras, colores, ubicación de los controles…
- Rendimiento: se evalúa el tiempo de respuesta de nuestra aplicación web, de nuestros componentes y funcionalidad. Comprobamos el comportamiento del sistema ante diferentes situaciones.
- Configuración: validamos que nuestra aplicación web funciona correctamente para distintos tipos de (en nuestro caso) navegadores web (firefox, chrome, internet explorer…)
- Pruebas de Integración. Evaluamos cómo se integran cada una de las partes de nuestra aplicación, como interactúan entre ellas. Puede ser que varias partes por separado pasen todos nuestros tests, pero que a la hora de comunicarse entre sí no lo hagan bien, gracias a estas pruebas detectamos este tipo de errores.
- Pruebas de Regresión. Son un tipo particular de pruebas. El objetivo es probar un error detectado en nuestra aplicación, corregirlo y volver a ejecutar la prueba para ver si la aplicación responde correctamente. Es importante en este tipo de pruebas realizar todos los tests ya hechos en nuestra aplicación, y comprobar que, al corregir el error, no nos hemos cargado nada por el camino.
Herramientas
Para ayudarnos a realizar todos estos tipos de pruebas, existen muchas herramientas. Facilitan la creación, automatizan las pruebas y nos ayudan a simular diferentes escenarios. Aunque, en el momento del análisis de los resultados, es necesario la presencia de un especialista que pueda interpretar y analizar los datos arrojados por las pruebas.
Si hablamos de testing de aplicaciones web, tenemos que hablar de Selenium, un entorno de pruebas de software para aplicaciones web.Selenium es uno de los entornos más grandes y nos proporciona un IDE, donde podemos grabar las pruebas desde Firefox. Una API muy completa, donde programar nuestros tests y una herramienta que nos permite automatizar pruebas en paralelo para todos los navegadores que queramos.
Alrededor del entorno Selenium han crecido otras herramientas que pretenden solucionar alguna de sus carencias. Una de ellas, y la más completa a nuestro parecer, es Geb. Geb es una herramienta de desarrollo especializada en automatizar la interacción entre los navegadores y el contenido web. Dispone de infinidad de utilidades de las que carece Selenium, nos ayuda a centrarnos en los tipos de test, que es su desarrollo.
Si quieres saber más sobre el testeo de aplicaciones web, te recomendamos que te formes en TDD y herramientas para pruebas, en Selenium y en creación de Entornos de Pruebas software. En CLEFormación podemos ayudarte.