DevTestOps: la pata que faltaba en los nuevos modelos de desarrollo de software

In Blogfest by Baufest

En el terreno del desarrollo de software se instalaron una serie de prácticas ágiles y complementarias del modelo agile que en su conjunto colaboran para poder efectuar despliegues más veloces y frecuentes.

jueves 30 - junio - 2022
Baufest
Dos programadores profesionales que cooperan y trabajan en un proyecto de sitio web en un software que se desarrolla en una computadora de escritorio de la empres

En este campo, la tendencia invita a poner énfasis en diseñar y ejecutar pruebas de forma temprana y continua dentro del ciclo de vida de desarrollo de software. Y esto ha encontrado su punto más alto con DevTestOps.

Cabe recordar que DevOps trae consigo un conjunto de prácticas cuyo objetivo es aumentar la colaboración entre los desarrolladores de software y el equipo de operaciones, lo que habilita a desarrollar y desplegar software con más confiabilidad y rapidez. Pues bien, la meta de DevTestOps es aún más específica: incluir pruebas continuas en el proceso de DevOps, iniciando las mismas desde la fase de requisitos, acompañando en cada estadío y ambiente hasta llegar a producción, donde continúa como monitoreo.

¿Y por qué son tan relevantes las pruebas continuas? Porque propician la retroalimentación y facilitan la detección temprana de problemas.

Es decir que en palabras simples DevTestOps contagia la cultura que enfatiza la importancia de proporcionar retroalimentación de prueba continua a los desarrolladores a lo largo de las etapas de desarrollo del producto.

Automatización de procesos

DevTestOps en realidad es un framework en el que los desarrolladores, evaluadores e ingenieros de operaciones “trabajan juntos para mejorar la calidad, acelerar la entrega y agregar valor al producto”.

Los términos lo dicen todo: DevTestOps suma la palabra “test” a DevOps. En este framework se requiere que los testers ofrezcan comentarios continuos a los desarrolladores en cada etapa del desarrollo. Se trata de incluir pruebas con la mayor frecuencia posible y poner mayor foco en la automatización de los procesos a fin de ganar tiempo, lo que inscribe a este enfoque dentro de las prácticas de QA automation. Todo ello ayuda a obtener comentarios más rápido, lo que resulta  clave, ya que un proceso de retroalimentación lento ocasionaría demoras en la implementación y pondría palos en la rueda de la entrega continua (continuous delivery).

Por otra parte con DevTestOps también se busca evitar que las pruebas se realicen en contextos de silos: la idea es que se realicen en todo el equipo “y no en departamentos de pruebas aislados”.

Entrega continua

Dado que las pruebas se realizan lo antes posible y con la mayor frecuencia que se pueda, los errores se encuentran y corrigen más rápido en cada etapa del proceso de desarrollo. En virtud de ello los desarrollos optimizan su calidad y se reducen tanto el riesgo comercial como el de encontrar errores en etapas tardías (con el consiguiente costo que tendría esto último).

De este modo DevTestOps garantiza no solamente que el producto se entregue en tiempo y forma y con las funcionalidades esperadas, sino que la cobertura de prueba también sea lo más amplia posible.

Es decir que con DevTestOps queda definitivamente atrás la práctica de realizar pruebas solo una vez que se terminó de codificar la solución. Con este enfoque los eventuales defectos se identifican mucho antes.

Por todo lo dicho, definitivamente estamos ante un conjunto de prácticas que han llegado para quedarse.