Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Título: The One-Hour Regression Test - Find and Fix the Big Bugs Fast
Autor: Steven Woody
Acceso a revista: http://tinyurl.com/3pv4sbw
Las pruebas de regresión son esenciales y desafiantes para los equipos de testing. Por definición, una
prueba de regresión es el proceso de verificar que ninguna de las funcionalidades existentes de un
software se haya roto accidentalmente por corrección de incidentes o cambios recientes. El principal
desafío para las pruebas de regresión es realizar la mayor cantidad de pruebas en el menor tiempo
posible y detectar los errores graves.
1. El equipo de desarrollo libera una versión final del software con las nuevas funcionalidades
implementadas y resueltos los incidentes más severos.
2. Se ejecutan pruebas para las nuevas funcionalidades y pruebas de regresión para las
funcionalidades existentes
3. Se ejecutan pruebas de performance, integración, interoperabilidad y estrés
4. Si se detecta un incidente grave o son necesarios cambios en alguna funcionalidad, se repiten
los pasos del 1 al 3.
5. Cuando todas las funcionalidades necesarias son operables y no presentan incidentes graves, el
software es liberado por testing, y está listo para ser usado por el usuario.
La mayoría de los equipos de testing, dedican la mayoría de sus recursos a las pruebas de regresión, a
escribir y mantener miles de pruebas automatizadas o a ejecutar pruebas manualmente. A medida que
se detectan incidentes, el equipo de testing queda atrapado en una repetición sin fin de ciclos de
prueba, sin poder escapar para utilizar su tiempo adecuadamente en generar nuevos casos de prueba o
mejorar los existentes.
Pruebas globales
Ahora da un paso atrás y mira la imagen global. Asegúrate que pruebes la performance del sistema
general en usos de grandes escalas. ¿Cuáles son las métricas de performance más importantes? ¿Cuáles
pruebas de performance pueden ser usadas como “benchmarks” de otras funcionalidades? ¿Cuales
pruebas mostrarán rápidamente incidentes de memoria, CPU, o uso de recursos?
Resumiendo
Antes de empezar cualquier prueba de regresión es crítico probar la corrección de incidentes, nuevas
funcionalidades u otras modificaciones sustanciales de funcionalidades existentes en esta última
versión.
Estos cambios son la razón por la que se construyó la versión, si no están bien, ya sabes que habrá otra
versión.
Inserta las pruebas de regresión de una hora antes de las pruebas de regresión pero después de probar
las nuevas funcionalidades.
Prueba las razones por las que se creó la versión:
• Prueba la corrección de incidentes y prueba los probables incidentes que se pudieron introducir
con la corrección
• Prueba toda nueva funcionalidad usando el plan de pruebas para nuevas funcionalidades de una
hora
Realiza una hora de pruebas de regresión
• Selecciona pruebas de performance, carga y capacidad
• Selecciona pruebas de interoperabilidad y compatibilidad
• Selecciona pruebas de “backup and restore” de la base de datos
• Selecciona pruebas de redundancia, seguridad e integridad de datos
• Selecciona pruebas funcionales
Continúa con el testing de regresión
• Ejecuta pruebas de humo o de sensatez (“sanity tests”)
• Ejecuta pruebas de carga, capacidad, interoperabilidad y performance
• Ejecuta pruebas de estrés, inyección de fallas, redundancia y de longevidad
• Ejecutar pruebas detalladas de casa funcionalidad por pruebas clásicas de regresión
Continuamente optimiza tu primera hora de pruebas de regresión a medida que van apareciendo
incidentes, son agregadas nuevas funcionalidades y se mejoran las herramientas de testing.
Nuevas funcionalidades
Si nuevas funcionalidades son introducidas durante el ciclo de pruebas de regresión, denle fuerte en la
primera hora, sacudiendo cualquier problema mayor en el diseño. Luego que sobreviven las nuevas
funcionalidades a las pruebas, metódicamente prueba los detalles de las nuevas funcionalidades usando
pruebas completas para la nueva funcionalidad.
Resumen
En el enfoque de una hora de testing de regresión, luego que se libera una nueva versión, se ejecutan
pocas pruebas complejas e importantes, en la primera hora, con el objetivo de encontrar los grandes
incidentes de forma temprana. Los variados enfoques de testing de software pueden obtener todos los
beneficios de la estrategia de una hora de testing de regresión, sea un equipo de testing que usa una
estrategia tradicional, ágil o exploratoria. Requiere ligeros cambios en la forma de pensar para la
primera hora de pruebas, pero puede ahorrar días o semanas de pruebas de regresión repetitivas e
incrementa la calidad global del producto.