En mis más de 10 años de experiencia en el sector he visto cómo las compañías han dado mayor importancia a que sus aplicaciones tengan un buen proceso de calidad del software. Es un área que ha evolucionado exponencialmente y, si se realiza una retrospectiva, es obvio que el Testing está en auge y que está evolucionando a gran velocidad.
A continuación, voy a analizar aspectos de la calidad del software, haciendo una comparativa de la situación actual respecto a la de hace más de una década.
- Necesidad
Los clientes eran reacios a contratar un servicio de Testing al tener a sus equipos de desarrollo para realizar las pruebas y no sentían la necesidad de un proceso de Testing externo.
Actualmente la mayoría de los clientes han comprobado la necesidad de ese equipo externo, encargado de mejorar la calidad del producto antes de su salida al mercado.
- Documentación
El equipo de Testing necesita tener información del proyecto (análisis funcional, análisis técnico, análisis de requisitos, etc.). Se consigue información en documentación, reuniones de proyecto o, lo más habitual, preguntando a las personas que poseen la información.
En este apartado no he visto mucho avance con el paso de los años. No se suele disponer de la documentación requerida en los proyectos y se requiere una labor de investigación para conseguirla.
- Calendario
En la década anterior era prácticamente impensable arrancar un proyecto de Testing al inicio o en fases tempranas del proyecto. Las pruebas, si se realizaban, eran al finalizar el proyecto y en un tiempo reducido que impedía realizar una alta cobertura de pruebas de la aplicación.
Actualmente va en aumento el número de proyectos en los que se inicia en paralelo el Testing y el Desarrollo de la aplicación, más aún con la implantación de las metodologías ágiles. Están más que comprobados los beneficios de introducir tareas de QA en los inicios de los proyectos.
- Testing manual
Cada vez surgen más técnicas para el diseño y ejecución con sus consiguientes metodologías de pruebas, por ejemplo, las técnicas ágiles tan en auge hoy en día.
Hace una década prácticamente no existían metodologías de pruebas, lo que unido a la falta de documentación, el diseño y ejecución era mucho más difícil e incluía mucha parte exploratoria.
- Testing automático
Creo que es el área que más ha evolucionado en estos últimos años, tanto las herramientas para su diseño como la necesidad y aceptación que tiene por parte de las compañías.
Gracias al avance de las herramientas, automatizar es un proceso más fiable y preciso que antiguamente en el que el mayor problema era hacer funcionar el script en el que el método de grabación era por coordenadas en pantalla.
Recuerdo con mucho cariño el entusiasmo y la emoción que mostró una responsable del cliente de un proyecto al ver que se realizaba un flujo de negocio ejecutando un script automático.
- Testing de rendimiento
Al igual que en el apartado anterior las herramientas de pruebas de rendimiento han evolucionado a gran velocidad en esta última década. Es más sencillo planificar un buen escenario de pruebas de carga diseñando la entrada de usuarios, tiempos de espera y la distribución de carga en los diferentes inyectores.
Me vienen a la cabeza la cantidad de hojas de papel escritas y las cuentas realizadas que teníamos que hacer hace unos años para planificar un escenario lo más real posible. Esta tarea ahora es más sencilla e incluso me aventuro a decir que más fiable.
Para monitorizar los servidores involucrados en la prueba había que generar scripts de monitorización u obtener directamente los datos del departamento de sistemas del cliente. En la actualidad las propias herramientas de pruebas de rendimiento generan los informes con las métricas y gráficas deseadas de cada uno de los servidores.
- Gestión Pruebas
Hace 10 años para la gestión de pruebas se utilizaban generalmente plantillas de hojas de cálculo para introducir los casos de prueba diseñados y controlar su ejecución. Se generaban gráficos para controlar el avance de ejecución y del estado general del proyecto. Empezaban a salir al mercado herramientas que te facilitaban esa tarea.
Actualmente existen muchas herramientas que te permiten realizar esta gestión incluyendo métricas, gráficos, estado general del proyecto, diseño desde requisitos, generación de informes, trazabilidad total, etc.
- Datos de prueba
Preparar datos era una tarea ardua y complicada en la que generando secuencias o con scripts de base de datos se obtenían los datos necesarios para las pruebas. Ahora existen herramientas en las que introduciendo los campos en los que se quieren rellenar datos con sus diferentes valores generan automáticamente un juego de datos completo.
Como se ha podido observar, se han realizado muchas mejoras en la forma de trabajar, pero aún quedan muchas piedras en el camino que tenemos que ir esquivando día a día. Me apunto volver a escribir este artículo dentro de una década y observar los cambios experimentados. ¡Nos vemos en 10 años!
Alberto Garrido
Ingeniero de Test Senior | SOGETI España
0 comments on “Cuéntame cómo probé”