X
BLOG

Por qué (y cómo) evolucionar de las pruebas automatizadas a las pruebas continuas

Por qué (y cómo) evolucionar de las pruebas automatizadas a las pruebas continuas Tiempo de leer: 4 minutos

Las iniciativas actuales de DevOps y "Continuous Everything" requieren la capacidad de evaluar los riesgos asociados con un candidato de lanzamiento, de manera instantánea y continua. Prueba continua proporciona una forma automatizada y discreta de obtener retroalimentación inmediata sobre los riesgos comerciales asociados con un candidato a lanzamiento de software. Guía a los equipos de desarrollo para que cumplan con las expectativas comerciales y ayuda a los gerentes a tomar decisiones informadas para optimizar el valor comercial de un candidato de lanzamiento.

La prueba continua NO es simplemente más automatización de pruebas. Dadas las expectativas comerciales en cada etapa del SDLC, Continuous Testing ofrece una evaluación cuantitativa del riesgo, así como tareas procesables que ayudan a mitigar los riesgos antes de que pasen a la siguiente etapa del SDLC. El objetivo es eliminar las actividades sin sentido y producir tareas de valor agregado que impulsen a la organización de desarrollo hacia un lanzamiento exitoso, salvaguardando la integridad de la experiencia del usuario y protegiendo al negocio de los impactos potenciales de las deficiencias de las aplicaciones.

DevOps.com publicó recientemente un nuevo Artículo de prueba continua por Wayne Ariola de Parasoft. Aquí hay un extracto de ese artículo ...

Evolución de pruebas automatizadas a pruebas continuas

A medida que maduran las prácticas de desarrollo ágil y los principios de DevOps se infiltran en nuestras culturas corporativas, las organizaciones se están dando cuenta de la oportunidad única de acelerar la entrega de software. Sin embargo, cuando acelera cualquier proceso, las áreas de práctica inmaduras, como las pruebas y los obstáculos, se vuelven mucho más pronunciadas. Es la diferencia entre conducir sobre un tope de velocidad a 5 mph frente a 50 mph… a 50 mph, ese tope de velocidad va a ser bastante discordante.

Acelerar cualquier proceso empresarial expondrá las limitaciones sistémicas que encadenan a toda la organización a su componente de movimiento más lento. En el caso del ciclo de vida de desarrollo de software acelerado (SDLC), las pruebas se han convertido en la barrera más importante para aprovechar al máximo los enfoques más iterativos para el desarrollo de software. Para que las organizaciones aprovechen estas estrategias de desarrollo transformadoras, deben pasar de la automatización de pruebas a las pruebas continuas.

Hacer una distinción entre la automatización de pruebas y las pruebas continuas puede parecer un ejercicio de semántica, pero la brecha entre la automatización de las pruebas funcionales y la ejecución de un proceso de prueba continuo es sustancial. Esta brecha se cerrará con el tiempo a medida que madure el proceso de entrega de software. Tanto las influencias internas como externas impulsarán la evolución de las pruebas continuas. Internamente, las iniciativas ágiles, DevOps y de procesos lean serán los principales impulsores que generarán la demanda de cambio. Externamente, el gasto y los gastos generales de auditoría de los programas de cumplimiento gubernamentales y basados ​​en la industria serán el impulso principal para el cambio.

Una hoja de ruta para las pruebas

Cualquier iniciativa de cambio real requiere la alineación de las personas, los procesos y la tecnología, siendo la tecnología un facilitador y no la solución mágica. Sin embargo, hay algunos temas tecnológicos básicos que debemos explorar a medida que migramos a un verdadero proceso de garantía de calidad. En general, debemos pasar de un enfoque exclusivo en la automatización de pruebas a la automatización del proceso de medición del riesgo. Para comenzar este viaje, debemos considerar lo siguiente:

Impulsadas por los objetivos comerciales, las organizaciones deben cambiar a métodos más automatizados de garantía de calidad y alejarse de la tarea táctica de probar el software de abajo hacia arriba.

De las observaciones causales a la evaluación probabilística del riesgo

Con el aseguramiento de la calidad (QA) que tradicionalmente ejecuta pruebas manuales o automatizadas, la retroalimentación del esfuerzo de prueba se centra en el caso de que una prueba pase o falle; esto no es suficiente. Las pruebas son causales, lo que significa que las pruebas se construyen para validar un alcance de funcionalidad muy específico y se evalúan como puntos de datos aislados. Aunque estos puntos de datos independientes son críticos, también debemos usarlos como entradas para una ecuación ampliada para identificar estadísticamente los puntos calientes de la aplicación.

El SDLC produce una cantidad significativa de datos que es bastante simple de correlacionar. Monitorear los patrones del proceso puede producir resultados muy útiles. Por ejemplo, se debe activar una revisión de código si un componente de la aplicación experimenta todos los siguientes problemas en una compilación de integración continua determinada:

  • Fallos de regresión mayores que el promedio
  • Densidad de defectos de análisis estático mayor que el promedio
  • Complejidad ciclomática mayor que un umbral prescrito
  • De la documentación de defectos a la reproducción simulada

El ping-pong entre probadores y desarrolladores sobre la reproducibilidad de un defecto informado se ha vuelto legendario. Es más difícil devolver un defecto al desarrollo que enviar un plato principal de un chef de renombre mundial. Dado el objetivo agresivo de acelerar los ciclos de lanzamiento de software, la mayoría de las organizaciones ahorrarán una cantidad significativa de tiempo simplemente eliminando esto de ida y vuelta.

Al aprovechar la virtualización de servicios para simular un entorno de prueba y / o tecnologías de grabación y reproducción de máquinas virtuales para observar cómo se ejecuta un programa, los probadores deberían poder enviar el desarrollo a una instancia de prueba y entorno muy específica en un paquete simple en contenedores. Este paquete debe aislar un defecto encapsulándolo con una prueba, además de brindar a los desarrolladores el marco necesario para verificar la corrección.

De datos estructurados a estructurados y no estructurados

Las herramientas y los sistemas de infraestructura actuales utilizados para administrar el SDLC han realizado mejoras significativas en la generación e integración de datos estructurados (por ejemplo, cómo los motores de CI importan y presentan los resultados de las pruebas). Estos datos son valiosos y deben aprovecharse de manera mucho más efectiva (como dijimos anteriormente en la sección "De las observaciones causales a las probabilísticas".

La gran cantidad de datos de calidad no estructurados dispersos en aplicaciones internas y de acceso público a menudo guarda los secretos que marcan la diferencia entre los usuarios finales felices y los prospectos descontentos que utilizan un producto de la competencia ... [Continúe leyendo el artículo de prueba continua en DevOps.com]

Nuevo libro de pruebas continuas: pruebas continuas para líderes de TI

¿Está listo para evolucionar de las pruebas automatizadas a las pruebas continuas? Lea el nuevo libro de 70 páginas Pruebas continuas para líderes de TI para saber cómo las pruebas continuas pueden ayudar a su organización a responder la pregunta, "¿El candidato a lanzamiento tiene un nivel aceptable de riesgo comercial?"

Usted aprenderá cómo:

  • Cerrar de manera colaborativa la brecha entre las expectativas comerciales y las actividades de DevTest
  • Establezca una red de seguridad que le ayude a llevar nuevas funciones al mercado más rápido.
  • Tome mejores decisiones de compensación para optimizar el valor comercial de un candidato de lanzamiento
  • Establecer circuitos de retroalimentación que promuevan la mejora continua y progresiva de los procesos.

Este libro ofrece una perspectiva empresarial sobre cómo acelerar el SDLC y publicarlo con confianza. Está escrito para gerentes de desarrollo senior y ejecutivos de negocios que necesitan lograr el equilibrio óptimo entre velocidad y calidad.

Escrito por

Parasoft

Las herramientas de prueba de software automatizadas líderes en la industria de Parasoft respaldan todo el proceso de desarrollo de software, desde que el desarrollador escribe la primera línea de código hasta las pruebas unitarias y funcionales, hasta las pruebas de rendimiento y seguridad, aprovechando los entornos de prueba simulados en el camino.

Reciba las últimas noticias y recursos sobre pruebas de software en su bandeja de entrada.

Prueba Parasoft