Cuando los analistas finalizan el listado casos de prueba para testing comienza una nueva odisea: tener en tiempo y forma el set de datos necesario para ejecutar la batería planificada. Surgen problemas como registros específicos que solo algunos recursos saben generar, alta dependencia de gerencias con otras prioridades, cantidad limitada o de calidad objetable en los ambientes disponibles…
Esta problemática se multiplica cuando el QA pasa a un modelo ágil de gestión, con calendarios de entregas más acotados. La necesidad de la información ya no es semanal ni mensual, sino diaria. Todo este tiempo desperdiciado en actividades que no se relacionan directamente con las pruebas del software afectan la eficiencia y la eficacia en la comprobación.
La automatización de casos de prueba no resuelve el problema por completo. Los scripts automatizados realizan secuencias funcionales, pero requieren datos de acceso complejo o no automático para su inicio.
La importancia de Test Data Management
En este contexto surge lo que se conoce como TDM (Test Data Management). Comprende prácticas y lineamientos que permiten acelerar el tiempo de obtención de la cantidad y la calidad de datos que las organizaciones necesitan y mejoran la eficiencia en los productos a desarrollar. Entre éstos se destacan:
- Analizar profundamente los datos requeridos y definir el set de datos que pueda ser ocupado por más de un caso de prueba.
- Identificar y proteger datos sensibles o crear datos artificiales.
- Priorizar la información más importante a procesar y entregar.
- Identificar las reglas del negocio que se deban incorporar para generar la información.
- Implementar la extracción automatizada de datos productivos.
- Armar un repositorio central donde archivar y versionar los datos para encontrar todos los tipos de datos para diferentes tipos de pruebas.
Cómo obtener los mejores resultados
Un análisis realizado por DevOps Research and Assessment (DORA) indica que los equipos con mejor resultado en testing automatizados manejan principios básicos con los datos de prueba. A continuación los principales:
- Son adecuados y están disponibles para ejecutar paquetes de prueba automatizados completos.
- Se pueden adquirir según demanda.
- No limitan las pruebas automatizadas que los equipos pueden ejecutar.
Python es un lenguaje de programación libre, multiplataforma y multiparadigma muy utilizado. Permite realizar casi cualquier tipo de solución y cuenta con una gran cantidad de frameworks de gran calidad para resolver lo que haga falta de manera bastante rápida.
Además, existen muchas soluciones para colaborar con el manejo de la información. Por ejemplo, pandas (análisis y manipulación), faker o fogger (enmascaramiento), pymongo (persistencia a través de la base de datos NoSQL MongoDB) o Jenkins (ejecución con integración continua).
La importancia de los indicadores
Los indicadores que indiquen el avance (o retroceso) de nuestros esfuerzos en la administración de datos de prueba son fundamentales para una gestión exitosa. Algunos de estos indicadores son, por un lado, la cantidad de casos de prueba creados vs. aquellos con datos disponibles al comienzo de la certificación, así como las veces por unidad de tiempo que se accede a un set de datos automatizado y su periodicidad de la actualización. Por último, la cantidad de casos automatizados vs aquellos que no necesitan datos externos para ser ejecutados.
El objetivo es asegurar soluciones de alta efectividad en testing y virtualización en la nube e innovación a la hora de incorporar IA y computación cognitiva. ¿Te interesaría profundizar en este tema? Contactanos en nuestro Twitter o LinkedIn.