Del aseguramiento de la calidad a la ingeniería de calidad: ¿por qué debería implementar Shift Left Testing?

Foto de Possessed Photography en Unsplash

Si trabaja en la industria del software, lo más probable es que haya oído hablar de Shift Left Testing en conferencias, blogs, y compañeros de trabajo, etc.

Con prácticas ágiles (incluidas TDD, BDD y CI) y DevOps cada vez más popular, Shift Left es la respuesta a cómo encaja QA, haciéndolos una realidad en su organización, en lugar de meras aspiraciones. Hacer este cambio modifica la visión de las pruebas: en lugar del control de calidad tradicional, se transforma en ingeniería de calidad (Quality Engineering).

¿Qué se entiende por el enfoque Shift Left Testing?

Shift Left Testing se refiere a la integración de las actividades de testing con desarrollo, comenzando más anticipadamente en el ciclo de desarrollo, en en lugar de tardíamente como en los enfoques tradicionales de desarrollo de software, como por ejemplo el enfoque de cascada.

Para tener éxito hoy en día, un tester no solo debe ser bueno en las pruebas, sino también ser un ingeniero del proceso de pruebas Agile.

Esto significa trabajar junto con el desarrollo y las operaciones y analizar la calidad durante cada etapa del desarrollo, como se muestra en el siguiente gráfico:

¿Qué es Shift Left Testing?

Por ejemplo, los testers deben participar y asumir un papel más proactivo incluso antes de que comience el desarrollo al estar presentes durante la recopilación de los requisitos.

Entre otras actividades relacionadas se encuentran:

  • Testers que ayudan a los desarrolladores a implementar pruebas unitarias.
  • Planificación, creación y automatización de casos de prueba de integración.
  • Planificación, creación y uso de servicios virtualizados en cada etapa y nivel de componente.
  • Recopilación, priorización y procesamiento de comentarios.

Algunos cambios de proceso que ocurren durante este “desplazamiento” pueden incluir lo siguiente:

  • En lugar de esperar semanas para agregar código al del resto del equipo, hágalo todos los días, o incluso varias veces al día.
  • En lugar de realizar manualmente todas las pruebas, automatícelas y ejecútelas todos los días, o incluso varias veces al día.
  • En lugar de detectar problemas al final, analice la calidad a medida que avanza el desarrollo.

Principales beneficios de implementar Shift Left Testing

¿Por qué hacer el cambio a Shift Left si aún no lo ha hecho? En este post, abordamos los tres principales beneficios de implementar Shift Left Testing: costos reducidos, mayor eficiencia y calidad, y obtención de una ventaja competitiva.

Principales beneficios de implementar Shift Left Testing

1. Reducción de los costos de las pruebas y del desarrollo

Aún es válido lo mencionado por Larry Smith hace más de 15 años cuando se introdujo por primera vez el concepto de Shift Left: “Bugs son baratos cuando se atrapan jóvenes”.

Uno de los objetivos de las pruebas ágiles es detectar errores lo antes posible. Lo que entendemos por tan pronto como sea posible es: tan pronto como sea posible después del momento exacto en que se insertó el incidente en el sistema.

Cuando se realizan pruebas con cada compilación (especialmente durante las pruebas unitarias), los incidentes que se encuentran son más pequeños, más fáciles de detectar y localizar, y también menos costosos de solucionar. Asegurar la calidad sobre la marcha también significa minimizar costos elevados y el trabajo innecesario de tener que volver al inicio y rehacer ciertas cosas.

Para obtener más información sobre cuánto dinero puede llegar a ahorrar, le recomendamos leer acerca del ROI de la automatización de pruebas.

2. Aumentar la eficiencia y la calidad

Usualmente encontramos que los mayores niveles de automatización cuando se realizan al inicio del ciclo permiten:

  • Aumentar la cobertura de las pruebas ejecutando más pruebas en la misma cantidad de tiempo.
  • Liberar de tiempo a los testers para que se concentren en tareas más desafiantes y críticas.
  • Reducir el error humano.
  • Hacer seguimiento del rendimiento en el tiempo.
  • Checks de calidad del código.
  • Comprobaciones de controles de seguridad.
  • Reducir problemas en producción (que enfrentarán los usuarios).

Más allá de los beneficios mencionados, poder comenzar a probar anticipadamente trae como resultado una mayor calidad, ya que los testers no tienen que esperar hasta el final del proceso para hallar los errores.

3. Obtener una ventaja competitiva

Mover al inicio el proceso del control de calidad le brinda una ventaja competitiva de dos posibles maneras: acelerar el time to market y atraer a los mejores talentos.

Acerca de mantenerse competitivo en el actual panorama tecnológico en constante cambio, Alon Girmonsky, lo dijo mejor:

“Hoy, la barrera para competir es mínima, y ​​la única forma de defender la estatura de uno es innovando en iteraciones cortas… lo que significa adoptar Agile”.

Alon Girmonski, fundador de BlazeMeter

Si bien todos podemos estar de acuerdo en que es importante lanzar el software más rápidamente, tampoco se debe apresurar demasiado. Shift Left Testing responde al problema de acelerar el desarrollo sin perder calidad.

En segundo lugar, Shift Left Testing es lo que los desarrolladores de software y los ingenieros de pruebas esperan hoy de su organización, convirtiéndose oficialmente en la corriente principal con más de un 66% de los trabajadores de TI que, según se informa, utilizan métodos Agile o “se inclinan hacia Agile”.

Según Zephyr, la cantidad de encuestados que usan Agile/Scrum, Waterfall o un híbrido de los dos se muestra en este diagrama de su informe:

Agile, Scrum, Híbrido, Diagrama de cascada

En este contexto, no sorprende que dentro de los hallazgos clave del Informe sobre el estado de las pruebas de software de 2021, un 59% de los equipos de testing están adoptando prácticas Shift Left que están vinculadas a un enfoque de pruebas ágiles. Asimismo, están implantando prácticas de integración continua, entrega continua y DevOps en cerca del 85% de sus proyectos. 

Por lo tanto, si busca ser un compañía que está a la vanguardia, es importante adoptar las prácticas modernas que tanto los testers como los desarrolladores buscan dominar para mantenerse relevantes en el mercado laboral actual.

¿Cuando Shift Left Testing no funciona?

Si había escuchado los anteriores beneficios pero aún no está convencido de Shift Left Testing, puede ser quizá por que los equipos ágiles pueden enfrentar los mismos cuellos de botella que se ven en Waterfall.

Por ejemplo, como explica Shridhar Mittal, ex gerente general de Application Delivery en CA Technologies, “Debido a la complejidad de los entornos y las aplicaciones compuestas, los equipos ágiles suelen se quedan atrapados esperando una vez que todas las piezas se juntan en las fases de prueba de rendimiento y aceptación del usuario.”

La solución que proporciona y con la que estamos de acuerdo es utilizar la virtualización de servicios. La virtualización de servicios emula el comportamiento de los componentes esenciales que estarán presentes en la producción, lo que permite que las pruebas de integración se realicen mucho antes en el desarrollo. Así es como es posible eliminar ese cuello de botella crítico, al tiempo que se beneficia de la eliminación de incidentes anticipadamente.

Junto con la virtualización de servicios, tiene varias herramientas para configurar sus sistemas automatizados y CI, como Jenkins, Bamboo y TeamCity, que tienen interfaces de administración web. O bien, puede optar por una solución en la nube como Amazon Pipeline Code, TravisCI, CircleCI, Codeship y Visual Studio Team Services de Microsoft.

Una aclaración importante

El simple hecho de contar con estas herramientas no garantiza un cambio exitoso y no implica una ingeniería de calidad. Hay varias condiciones previas y un nivel de madurez de testing que se debe alcanzar para lograr pruebas continuas/ágiles/Shift Left Testing.

Por ejemplo, una condición previa para la automatización de pruebas sería tener configurados los entornos de prueba apropiados. Sin considerar esta y otras condiciones, el cambio de control de calidad hacia la izquierda será un problema.

¿Su equipo está listo para adoptar Shift Left Testing? Realice nuestra evaluación de madurez de pruebas de software para averiguarlo.

Dado que Agile es la norma, Shift Left Testing es un factor clave para aumentar la calidad y la eficiencia en su compañía, minimizar los costos y riesgos, y mantenerse competitivo en el mercado.

En Shift Left Testing, todos se convierten en ingenieros de calidad y la responsabilidad de producir software de alta calidad se comparte por igual entre cada miembro del equipo.

En última instancia, esto da como resultado un mejor producto, lanzado aún más rápido.

¿Quién no querría eso?


Otros contenidos relacionados

4 desafíos comunes de la Automatización de Pruebas: ¿cómo enfrentarlos?

Cómo Shift Left Testing puede impulsar la adopción de DevOps

Shift Left a11y: ¿cómo incluir la accesibilidad lo antes posible en los proyectos?