Estrategia de Testing: Un enfoque proactivo para la agilidad de negocio



Una Estrategia de Testing, se ha vuelto cada vez más relevante para la Agilidad de Negocio, se centra en la idea de realizar pruebas de manera temprana, continua y colaborativa a lo largo del ciclo de vida del desarrollo de soluciones. Pero, ¿qué significa realmente "Estrategia de Testing" y cómo puede beneficiar a las organizaciones que adoptan este enfoque?


En lugar de realizar pruebas solo después de que el desarrollo esté completo, como se hace en los enfoques de prueba tradicionales, las pruebas en un entorno ágil se realizan en paralelo con el desarrollo. Esto significa que las pruebas y el desarrollo son actividades que se realizan de la mano, permitiendo que los problemas se detecten y se corrijan más rápidamente. Esto puede resultar en un soluciones de mayor calidad, una entrega y validación más rápida.


A continuación vamos a explorar, desde nuestra experiencia, algunos de los conceptos fundamentales de una estrategia de testing para la agilidad de negocio exitosa:


1. Todo se basa en la colaboración y la retroalimentación constante. 


Todos los miembros del equipo ágil, no solo los testers o ingenieros de pruebas, están involucrados en las pruebas. Esto fomenta una mayor colaboración y comunicación dentro del equipo, lo que puede llevar a mejores resultados. La retroalimentación constante es otra característica clave de la Estrategia de Testing Ágil. En lugar de esperar hasta el final del ciclo de vida del desarrollo para obtener retroalimentación sobre la calidad y la solución, la retroalimentación se obtiene de manera continua. Esto permite que los problemas se corrijan mientras aún están frescos en la mente del equipo, lo que puede hacer que la corrección de errores sea más eficiente.



2. La importancia de la automatización en las pruebas.


En el mundo actual, el software se ha convertido en una parte esencial de nuestras vidas. Ha superado su propósito inicial de hacer que las empresas sean más eficientes. Hoy en día, las empresas buscan formas de convertirse en compañías digitales de primera clase. Si quieres mantener el ritmo, tendrás que buscar formas de entregar tu software más rápido sin sacrificar su calidad. La entrega continua, una práctica en la que te aseguras automáticamente de que tu software puede ser lanzado a producción en cualquier momento, puede ayudarte con eso. Con la entrega continua, utilizas un pipeline de construcción para probar automáticamente tu software y desplegarlo en tus entornos de prueba y producción. 


Pero antes de lanzarte a intentar a automatizarlo todo, y si quieres tomarte en serio las pruebas automatizadas para tu software, hay un concepto clave que debes conocer: la Pirámide de Pruebas [1]. Mike Cohn propuso este concepto en su libro "Succeeding with Agile". Es una gran metáfora visual que te indica que debes pensar en diferentes capas de pruebas. También te dice cuántas pruebas debes hacer en cada capa.


La pirámide de pruebas original de Mike Cohn consta de tres capas que deberían componer tu suite de pruebas (de abajo a arriba):

  • Pruebas Unitarias: La base de tu suite de pruebas estará compuesta por pruebas unitarias. Tus pruebas unitarias aseguran que una determinada unidad (tu sujeto bajo prueba) de tu base de código funcione como se espera. Las pruebas unitarias tienen el alcance más estrecho de todas las pruebas en tu suite de pruebas. El número de pruebas unitarias en tu suite de pruebas superará en gran medida a cualquier otro tipo de prueba.
  • Pruebas de Servicio: Todas las aplicaciones no triviales se integrarán con algunas otras partes (bases de datos, sistemas de archivos, llamadas a la red a otras aplicaciones). Cuando escribes pruebas unitarias, estas son generalmente las partes que dejas fuera para obtener una mejor aislamiento y pruebas más rápidas. Sin embargo, tu aplicación interactuará con otras partes y esto necesita ser probado. Las pruebas de integración están ahí para ayudar. Prueban la integración de tu aplicación con todas las partes que viven fuera de tu aplicación.
  • Pruebas de Interfaz de Usuario: En la cima de la pirámide de pruebas se encuentran las pruebas de interfaz de usuario (UI). Estas pruebas aseguran que los usuarios puedan interactuar con tu aplicación como se espera. Sin embargo, también son las pruebas más lentas y frágiles en tu suite de pruebas. Son lentas porque prueban tu aplicación de extremo a extremo. Son frágiles porque dependen de la interfaz de usuario de tu aplicación. Si cambias algo en tu interfaz de usuario, es posible que tengas que actualizar tus pruebas de UI. Debido a su naturaleza lenta y frágil, debes tratar de minimizar el número de pruebas de UI en tu suite de pruebas. En su lugar, trata de cubrir la mayor parte de tu funcionalidad con pruebas unitarias y de servicio.


3. Shift Left en Validación de Hipótesis.


Este enfoque, que se ha vuelto cada vez más relevante en el mundo del desarrollo de software, se centra en la idea de "mover a la izquierda" las actividades de prueba y detección de defectos en el ciclo de vida del desarrollo de software. Pero, ¿Qué significa realmente "Shift Left" en el mundo de los negocios de hoy y cómo puede beneficiar a las organizaciones que adoptan este enfoque?.


El término "Shift Left" proviene de la visualización del ciclo de vida del desarrollo de software como una línea de tiempo que se extiende de izquierda a derecha, donde la "izquierda" representa las etapas iniciales del ciclo de vida y la "derecha" las etapas finales [2]. Tradicionalmente, las pruebas, la detección de defectos y la validación de hipótesis de negocio se realizaban hacia el final del ciclo de vida del desarrollo, es decir, a la "derecha". Sin embargo, este enfoque resulta en costos elevados y tiempos de entrega prolongados debido a la necesidad de corregir defectos o validaciones de negocio realizadas tarde en el proceso. Aquí es donde entra en juego el concepto de "Shift Left" en el contexto de hoy, no es solo comprobar lo antes posible que la solución hace lo que se espera, sino saber también tempranamente que tendrá más probabilidad de generar el impacto buscado en el negocio.


"Shift Left" hoy implica mover las actividades de prueba que incluyen detección de defectos y validación de ideas hacia las etapas iniciales del ciclo de vida del desarrollo de soluciones. En lugar de esperar hasta el final del proceso para inspeccionar, adaptar o pivotar, "Shift Left" promueve la idea de encontrar y ajustar desde el principio. Esto no solo puede resultar en una mayor calidad, sino que también puede reducir los costos y acelerar los tiempos de feedback y entrega de valor. Al detectar y corregir los problemas tempranamente en las soluciones propuestas, las organizaciones pueden evitar el tiempo y el esfuerzo que a menudo se requiere para desarrollar soluciones completas.



En conclusión, Una Estrategia de Business Agility Testing es un enfoque poderoso que no solo puede ayudar a las organizaciones a mejorar la calidad de sus soluciones, sino a reducir costos y acelerar los tiempos de validación de hipótesis de negocio. Desde Agilisters, animamos a todas las organizaciones a considerar la adopción de este enfoque, al hacerlo, pueden no solo mejorar sus productos de software, sino también mejorar su capacidad para competir en el cada vez más competitivo mundo de los negocios.



Referencias

[1] https://www.mountaingoatsoftware.com/blog/the-forgotten-layer-of-the-test-automation-pyramid

[2] https://insights.sei.cmu.edu/blog/four-types-of-shift-left-testing/


También te puede interesar

https://www.agilisters.org/2020/08/validando-hipotesis-de-negocio.html



_______________________________________________

¡Transforma tu enfoque de testing con nuestra experiencia!


En Agilisters, entendemos los desafíos que enfrentan las organizaciones al abordar nuevos paradigmas de hacer las cosas. Nuestro equipo de expertos en Agilidad de Negocio está para ayudarles a través de capacitación, coaching y consultoría personalizada para asegurar como su organización adopte y aplique los principios y prácticas de manera integral. Juntos, podemos transformar su enfoque y preparar a su organización. 



¡Ponte en contacto con nosotros hoy mismo para obtener más información sobre cómo podemos apoyarles en enfrentar y superar los desafíos en su camino hacia la agilidad empresarial!


Para mayor información escríbenos a: contacto@agilisters.com


AVISO IMPORTANTE: Este es blog patrocinado por Agilisters.com, empresa privada que organiza, divulga y promueve eventos en la comunidad agile en LATAM

No hay comentarios.:

Publicar un comentario

Publicación destacada

Calendario - Agilisters

Publicaciones más vistas