Blog

Shift Left Testing y Shift Right Testing, una estrategia posible

Implementar prácticas de Shift-Left Testing es fundamental para analizar de forma anticipadamente la calidad y crear software más ágil y eficiente, no solo para resolver problemas, sino también para prevenirlos. Sin embargo, Shift-Right Testing ofrece otras ventajas para mejorar las estrategias de prueba. A menudo nos preguntamos: ¿Es posible combinar ambas prácticas? Descúbrelo en este artículo, que incluye una entrevista con Matías Fornara.

Shift Left Testing y Shift Right Testing: Buenas prácticas para liberar software de calidad y más rápido
Foto de Pablo García Saldaña en Unsplash

Si bien el concepto del Shift-Left Testing ha estado presente durante un tiempo, muchas empresas y profesionales aún no lo han adoptado en su rutina laboral. Curiosamente, estas mismas empresas tienden a optar por el enfoque de trabajo en cascada en lugar de las metodologías ágiles como Scrum, las cuales promueven realizar pruebas en etapas tempranas del proceso, en las fases iniciales y, por supuesto, en las etapas críticas.

Por otro lado, aunque es considerado una mala práctica lanzar a producción sin realizar pruebas, hay equipos con excelentes resultados que implementan procesos donde los usuarios ejecutan las pruebas. Estos equipos forman parte del ciclo de desarrollo de software, realizan lanzamientos de forma frecuente y escalonada, entregando primero a un grupo reducido de usuarios y avanzando progresivamente en el despliegue. Además, analizan lo que ocurre en el entorno de producción y, ante cualquier problema, revierten los cambios. Así, los comentarios de los usuarios se vuelven esenciales para el lanzamiento de las funciones.

Esto se logra mediante la implementación de numerosas pruebas automatizadas que impactan mínimamente a los usuarios reales. Obtener información de producción sobre la calidad del sistema para tomar decisiones que mejoren el producto es parte de lo que se conoce como Shift-Right Testing.

Estas prácticas reflejan una filosofía de trabajo que puede tener un gran impacto no solo en el desarrollo de software ágil y eficiente, sino también en los costos de desarrollo, la sostenibilidad de las organizaciones que las implementan y su capacidad de expansión.

Enfoques Shift Left y Shift Right Testing

La implementación de Shift-Left y Shift-Right Testing implica cambios que no siempre son fáciles de realizar, pero que pueden traer excelentes resultados. Por ello, lo vemos sumamente necesario en una sociedad que vive una acelerada transformación digital, que requiere software de calidad para la medicina, la educación, el mundo laboral y todos los ámbitos de la vida de las personas.

En esta línea, Sofia Palamarchuk, miembro del Consejo de Administración de Abstracta y CEO de Apptim expresó: “Prácticas ágiles, incluyendo Test Driven Development (TDD), Behavior Driven Development (BDD) e Integración Continua (CI)/Entrega Continua (CD) , promueven la idea de desplazarse hacia la izquierda (es decir, realizar pruebas Shift-Left), permitiendo que las pruebas participen en el proceso de construcción del software de una manera más temprana y más involucrada. Hacer este cambio modifica la visión del testing: en lugar del tradicional control de calidad, se convierte en Ingeniería de Calidad”. 

Si bien esto no es algo nuevo, creemos que es importante no dejar este tema de lado y continuar teniendo este tipo de intercambios y conversaciones con clientes y socios, para hacer más claras y eficientes las formas de trabajo y los procesos. .

Revisaremos las definiciones de Shift-Left Testing y Shift-Right Testing, con Matías Fornara, líder del hub de automatización de pruebas de Abstracta , para entender por qué decimos que son formas de trabajar que parecen tan antagónicas pero que en realidad pueden complementarse para lograr mejores resultados. resultados.

¿Por qué es fundamental la automatización en las pruebas Shift-Left? ¡Te invitamos a leer este artículo!

Matías Fornara, Líder Hub Automatización en Abstracta Inc.

¿Qué es Shift Left Testing?

El enfoque de ampliar las actividades de prueba hacia la izquierda en el proceso de desarrollo se entiende visualmente como una línea de tiempo. La etimología de esta idea se origina en metodologías más tradicionales, como la cascada, donde las actividades de calidad se sitúan más ‘a la derecha’, es decir, al final.

El concepto de Shift-Left Testing implica incorporar actividades de calidad desde el inicio, incluso desde la planificación de las funcionalidades, para mitigar posibles riesgos y tener un análisis de calidad más sólido en cada etapa del proceso.

No implica centrarse únicamente en las actividades ‘a la izquierda’ (al inicio del proceso de desarrollo), sino que el enfoque está en ese punto. También es crucial evaluar la calidad en todas las etapas del proceso.

¿Cómo contribuye Scrum a una estrategia de Shift Left Testing? Descúbrelo aquí.

¿Qué es Shift Right Testing?

Por otro lado, el concepto de Shift-Right se refiere a realizar acciones más avanzadas en el proceso de desarrollo, generalmente en etapas posteriores al lanzamiento del producto. Con la popularización del concepto de DevOps, las prácticas Shift-Right también se han vinculado a los procesos de lanzamiento, configuración y monitoreo de aplicaciones. Un concepto fundamental asociado con esto es el de ‘observabilidad’

¿Te gustaría aprender más sobre la observabilidad? ¡Te recomendamos escuchar este episodio completo de Quality Sense!

Sin duda, el nivel de riesgo al llevar a cabo exclusivamente este tipo de prácticas es mayor, ya que podrían surgir incidencias que afecten a los usuarios. Por ello, existen diversas prácticas orientadas a mitigar estos riesgos, como un despliegue canary, A/B testing, pruebas de aceptación de usuario (UAT), features flags y monitoreo de API.

¿Cómo se complementan entre sí Shift Left Testing y Shift Right Testing?

Testing temprano: características y beneficios
Foto de Nick Fewings en Unsplash

Es crucial considerar que el Shift-Left Testing no solo busca corregir incidencias, sino también prevenirlas. Este enfoque contribuye a acelerar el ‘time to market’ del desarrollo, dado que los equipos integran pruebas desde etapas tempranas, preferiblemente antes de escribir el código o durante su desarrollo.

En contraposición, las prácticas de Shift-Right Testing se enfocan en evaluar la confiabilidad del software en entornos de producción y condiciones del mundo real. Como resultado, los equipos logran una cobertura de prueba más centrada en el uso real del usuario, no en suposiciones.

Además, la información obtenida es más holística, ya que se tiene la capacidad de observar las funcionalidades, el rendimiento de las aplicaciones, la experiencia del usuario y la tolerancia a fallos en condiciones difíciles de simular en entornos de prueba. Todo esto conduce a otro concepto fundamental, la observabilidad de una aplicación.

¿Cuáles son los beneficios de cada aplicación?

lo cual ayuda en la resolución de incidencias y en la optimización de los procesos de desarrollo de software para mejorar la calidad de los incrementos de nuestros productos. De esta manera, estamos reduciendo los riesgos para minimizar el impacto en nuestro producto. Además, brinda notables beneficios a los equipos de trabajo, mejorando su funcionamiento y metodologías.

Por otro lado, al incorporar la idea de Shift-Right Testing, creamos un ‘bucle de retroalimentación continua’ que conecta la experiencia real del usuario con nuestro proceso de desarrollo.

Este ‘bucle’ refleja la realidad de la industria de TI actual, donde cada vez más equipos se están moviendo hacia prácticas de implementación ágiles y cambiantes, pasando de lanzamientos una vez cada pocos meses o una vez al año a lanzamientos cada pocas semanas o días, e incluso varias veces al día. El propósito es maximizar nuestras posibilidades de éxito.

A pesar de que puedan parecer prácticas opuestas, en realidad se complementan, ya que el enfoque de las pruebas cambia, el tipo de problemas que buscamos encontrar es diferente, y tanto la manera en que procesamos la información como las acciones que tomamos en base a esa información varían.

¿Cambio de paradigma?

Poco a poco, cuando el contexto lo permite, se está produciendo un cambio en el que se combinan ambas prácticas: Shift-Left Testing y Shift-Right Testing.

‘La propuesta es expandir las pruebas hacia la izquierda (Shift-Left Testing), y también hacia la derecha (Shift-Right Testing), incluyendo actividades de calidad durante todo el proceso’, dijo Federico Toledo, COO de Abstracta. A pesar de ello, agregó que es importante enfocarse ‘en las ventajas de Shift-Left Testing’ para involucrar a los testers en las primeras etapas del proceso de desarrollo.

Siguiendo la misma línea, Matías Fornara comentó: ‘Es esencial analizar la calidad en cada etapa. La calidad debe estar presente desde el inicio para reducir riesgos. Pero en esta mentalidad ágil, si algo no funciona o no tiene el impacto deseado, hay que cambiarlo, complementarlo o mejorar. Y si eso se logra mediante la inclusión de prácticas de prueba Shift-Right, es algo positivo’.

Matías explicó que es factible combinar ambas prácticas de manera inteligente. ‘Puedes realizar todas las pruebas con enfoque Shift-Left y llevar a producción haciendo pruebas A/B o canary release’, ejemplificó. ‘Son prácticas que aparentemente son opuestas porque se supone que debes realizar una para evitar la otra, pero en realidad, al hacer ambas, estás complementando el proceso de manera integral’.

En resumen, esta combinación implica una forma distinta de realizar pruebas de manera continua, es decir, empezar lo antes posible pero, al mismo tiempo, no tener un punto final.

‘Siempre que se realicen modificaciones en sistemas o datos, existe el riesgo de introducir errores, por eso es crucial que la calidad se evalúe continuamente más allá del ciclo de vida del proyecto‘, especificó Alejandra Viglietti, Gerente de Operaciones de Abstracta.


Práctica de Testing Continuo en DevOps

“Se trata de pruebas continuas, y cómo lograrlas depende de ti”, dijo Matías. “En la búsqueda de optimizar el proceso de entrega, se implementan prácticas porque tienen impacto. No creo que ninguna de las dos corrientes sea la definitiva. Siempre depende del contexto, las habilidades del equipo, la presión de los stakeholders y la criticidad de lo que se está haciendo, entre otros factores. Por eso, un enfoque combinado de Shift-Izquierda y Shift-Derecha es más que prometedor“, concluyó.


¿Buscas un Partner de Pruebas? Abstracta es una de las empresas más confiables en ingeniería de calidad de software.

Las pruebas tempranas y las pruebas al final del ciclo de desarrollo son un factor clave para aumentar la calidad y la eficiencia en tu empresa, minimizar los costos y riesgos y mantenerte competitivo en el mercado.

Obtén más información sobre nuestras soluciones y contáctanos para analizar cómo podemos ayudarlo a hacer crecer su negocio.

¡Síguenos en LinkedIn, X, Facebook, Instagram y YouTube para ser parte de nuestra comunidad!

214 / 247