Saltar al contenido

Perfeccionando el testing continuo

Capgemini
2019-03-29

Echa un vistazo a este blog para saber acerca de los elementos clave que los testers deberían considerar para mantener la calidad en el mundo del testing.

Migrarse hacia la entrega continua es un viaje ambicioso. Tal como un rascacielos, no se puede construir sin cimientos sólidos. Para perfeccionar la calidad en este contexto, debemos transformar nuestra manera de trabajar y adaptarlo a nuestras organizaciones. Las personas deben estar significativamente en el corazón de esta transformación. Aquí hay algunos elementos clave a considerar si queremos alcanzar el santo grial de la calidad controlada en el mundo del todo continuo.

Automatización

Con el riesgo de citar lo obvio, empecemos con el pilar del testing continuo. “¿Yo debería automatizar?” Esa ya no es la pregunta a plantearse. El despliegue continuo no puede suceder sin un testing continuo y el testing continuo no puede llevarse a cabo sin la automatización. Pero entonces ¿Qué debo automatizar? El ROI y la eficiencia nos impone que abordemos esta pregunta con precaución.

¿Quién debería automatizar? Desde que los equipos deben ser autónomos, es razonable hacer que gente funcional automatice funcionalmente y que los usuarios se prueben ellos mismos. Hay herramientas interesantes que lo permiten y, en este caso, no es necesario una transferencia profunda del conocimiento de personas funcionales para probar a los “automaters”. Pero la experiencia también muestra que no es sencillo para ellos pensar como testers, considerar las mejores prácticas, la criticidad y la estrategia. Necesitan ser entrenados y guiados en su nueva práctica. Y no hay que olvidar que su verdadero valor agregado es en actividades funcionales y de negocio, no en testing.

La automatización no es siempre un acelerador ya que toma tiempo y esfuerzo. Una estrategia de automatización es requerida para determinar las prioridades y los criterios que hace que sea interesante automatizar ciertas pruebas. Desde la prueba de unidad hasta la prueba de usuario, el acercamiento debe ser definido y basado en el sentido común (recurrencia, esfuerzo técnico, esfuerzo de mantenimiento, criticidad, etc) y la automatización debe seguir las buenas prácticas para ser eficiente y confiable. La modularidad, reusabilidad y todas las reglas estándar tienen que aplicarse para obtener buenos resultados. Todo continuo implica que siempre tenemos menos tiempo. No hay espacio para desperdiciarlo.

Colaboración

Este es un Agile Credo que se vuelve cada vez más cierto cuando se aplican los principios Agile en toda la compañía con SAFe® o métodos similares. La colaboración y transparencia lo hacen posibles.

Agile Dev — > Agile Testing

La historia comienza con el desarrollo de Agile. Pero personalmente, solo sé de un gran proyecto que ha aplicado las buenas prácticas para el testing Agile (La correcta pirámide de pruebas, TDD, BDD, ATDD, etc). ¿Será coincidencia que este proyecto sea también excepcional al perfeccionar la calidad?

Así, si queremos construir fundamentos sólidos para esta transformación, apliquemos las reglas correctas antes de pensar en el color de las paredes. El Agile Testing es un tema por si mismo y no debe ser descuidado.

Más coaching y menos administración

Agile necesita equipos autónomos. Esto también aplica para Agile a escala. Por lo tanto, la competencia debe fomentarse en los equipos. Más que nunca, los test managers tienen que ser maestros, tanto como los testers deben estar en un scrum para mostrar a los desarrolladores cómo beneficiarse del poder de la prueba y la automatización.

Datos y Ambientes

Para poder correr pruebas continuas, los datos y ambientes deben estar siempre listos. Esto es parte de los objetivos mas duros de alcanzar. Mientras podemos usar un ambiente de prueba para las unidades de pruebas, no es posible usarlos para pruebas de mayor nivel. Para este punto, necesitamos automatizar los conjuntos de datos de prueba. Esto solo se puede hacer mediante una consulta (en una replica de producción, por ejemplo) o al generar esta data. Las herramientas apropiadas también se pueden utilizar pero este esfuerzo es casi el mismo que para la automatización de pruebas.

Modelos

En MBT (pruebas basadas en modelos) confiamos. Los procesos de negocio modelados proporcionan muchos beneficios. Un modelo es visual, más sencillo de entender y compartir. Esto se puede convertir en una base de conocimientos usados como una única referencia (para evitar muchas fuentes). Esto puede ser una base para definir caminos críticos que serán los escenarios nominales que se deben correr tanto como sea posible.

Las herramientas dedicadas proveen guías de pruebas automatizadas desde los procesos de negocio. También pueden calcular un análisis de impacto cuando el cambio es aplicado, lo cual es muy valioso cuando se diseñan los conjuntos de pruebas de regresión (cuando la herramienta no tiene la capacidad de construirlo por si misma). Los modelos proveen muchos beneficios para la eficiencia, credibilidad y el mantenimiento.

Soporte de Inteligencia Artificial

Dentro de los múltiples anuncios sobre herramientas mágicas que emergen de la Inteligencia Artificial, hay también algunas que son realistas y que se ha demostrado que pueden ayudar en nuestro viaje hacia el testing continuo. Por ejemplo, Cognitive QA® es una solución que se puede usar para probar datos para proveer un plan de pruebas de regresión optimizada, paneles de analíticos acerca de calidad e información predictiva para la optimización del tiempo y esfuerzo.

Para concluir, la entrega continua es una ambición elevada. Implica la perfección de la calidad en un proceso continuo. Los principios que conocemos para los ciclos de vida estandarizados tienen que revisitarse y las organizaciones deben ser adaptadas. La automatización es un componente esencial de la transformación, pero debe usarse metódicamente si se quiere obtener resultados. La experiencia indica que varios elementos pueden afectar la transformación, empezando por el factor humano.

Por lo tanto, hay que ser consientes que todos los elementos básicos deben ser considerados para hacer tu viaje sea lo más sencillo posible.

Descarga la primera edición del Reporte de Testing Continuo para obtener conocimientos más profundos sobre las tendencias más actuales del mundo del testing.