Home Blog/ Estilo de Vida/
Estilo de Vida
Agile Testing: la mejor estrategia para diseñar productos de alta calidadAgile Testing: la mejor estrategia para diseñar productos de alta calidad

Agile Testing: la mejor estrategia para diseñar productos de alta calidad

Fernando Machuca - 10 Mar 22

Articulo

7 min.

Agile Testing es un concepto que se escucha cada vez más en el diseño de productos y desarrollo de software ¿Te gustaría aprender todo acerca de una nueva metodología ágil que se está implementando en muchas de las grandes empresas alrededor del mundo? Hoy te contaremos qué es el Agile Testing y por qué necesitas esta estrategia innovadora para desarrollar productos de alta calidad.

El Agile Testing es una metodología de trabajo colaborativo que tiene dos pilares fundamentales: la retroalimentación conjunta y la producción de calidad. Esto le dará un elemento diferenciador a tu empresa y a tu equipo de trabajo. 

¿Te interesa este artículo? Te encantará nuestro MicroDegree en Product Management. ¡Inscribite Aquí!

Banner de Microdegree de Crehana

En este blog post conocerás los principios de esta metodología de trabajo ágil, las etapas que se deben desarrollar, los cuadrantes de trabajo en los que se basa el Agile Testing y, por último, las ventajas que produce su aplicación. Asimismo, aprenderás cuál es el rol de un tester en un contexto ágil. 

¿Qué es Agile Testing?

El Agile Testing es una práctica de pruebas de software que sigue los principios de desarrollo ágil. Esta estrategia se basa en involucrar a todos los miembros de un equipo ágil multifuncional, en el que el rol del “tester” será que el equipo entregue los valores del negocio deseados por el cliente, trabajando a un ritmo sostenible y continuo. 

Es importante mencionar que lo que se busca es que el método Agile Testing se adapte a la empresa, y no que sea al revés, ya que, de esta manera, los colaboradores no sentirán que su metodología de trabajo cambia de forma abrupta. 

Esta metodología ágil involucra diversas prácticas, por ejemplo, Testing de “todo el equipo”, Testing independiente (opcional), Integración continua, Testing guiado por pruebas (Test Driven Development – TDD), Desarrollo guiado por comportamiento (Behaviour Driven Development – BDD), Desarrollo guiado por pruebas de aceptación (Acceptance Test Driven Development – ATDD), entre otros. 

Equipo de trabajo aprende Agile Testing

Imagen: Unsplash

Principalmente, el Agile Testing se va a enfocar en que un equipo de trabajo logre brindar un producto de alta calidad a través de retroalimentación constante, ya que, de este modo, cada miembro del equipo puede validar sus conocimientos. 

Además, el Agile Testing no solo va a permitir que cada individuo perfeccione su trabajo final, sino también que aprenda cuáles son sus fortalezas y debilidades durante el proceso, y así lograr un crecimiento personal en distintas tareas.

Asimismo, este feedback va a permitir identificar, en todo momento, fallos en el proceso de desarrollo del producto, lo que facilitará una corrección inmediata. Esto en el modelo tradicional de testing no se daba, ya que se tenía que esperar a obtener el resultado final del producto para poder revisar los distintos errores que podían darse; es por ello que, rara vez, el producto será entregado en un tiempo óptimo o con una buena calidad.

Sumado a esto, otra característica determinante del Agile Testing relacionada al aspecto de la calidad es el concientizar a todo el grupo de trabajo, y hacerles saber que el producto final que se entrega es la suma del esfuerzo individual de cada uno. Todo esto se podrá lograr de modo progresivo a través de la práctica en conjunto. 

Actualmente, toda la nueva metodología Agile Testing está siendo implantada en distintas empresas, y aunque existan ciertas críticas al respecto, la realidad es que la implementación de esta práctica sí vuelve más eficaces a los grupos de trabajo y genera mejores resultados.

Existen muchos casos en los que el Agile Testing ha mejorado el desempeño de las empresas, y cada vez hay más interés en el desarrollo equipos de trabajo formados con la metodología Agile Squads.

Personas trabajando como Agile Squad

Imagen: Unsplash

Rol del tester en el contexto ágil: agile tester

Antes de hablar de cuál es el papel que van a desarrollar los testers en la metodología Agile Testing, lo ideal sería primero definir: ¿Qué es un tester?

Un tester en la estrategia Agile Testing se define como una figura dentro del desarrollo de un software que se dedica a comprobar si el resultado final funciona de acuerdo a su especificación.

La función principal de un agile tester será identificar los errores cometidos en cualquiera de las fases de desarrollo del producto. Entre las principales virtudes de un tester se encuentra su conocimiento sobre tecnología, sus habilidades para tener una buena comunicación y su gran capacidad para resolver asuntos burocráticos, ya que no solo se trata de identificar el error, sino de hacerle seguimiento y documentar todo el proceso.

En el contexto ágil, un tester debe ir más allá de sus funciones tradicionales. El foco de este está en la aplicación de enfoques tipo Behaviour Driven Development (BDD), usualmente trabajando en paralelo con el equipo de desarrollo y no en la fase final. Además, debe dominar herramientas de automatización, gestión ágil y distintas metodologías ágiles que puedan servir de apoyo. 

Equipo de programadores trabajando

Imagen:  Unsplash

Principios del Agile Testing 

El Agile Testing tiene una serie de principios en los que se basa y que son importantes conocer y comprender. 

1. Las pruebas realizadas son continuas. Como se mencionó en la definición de lo que es el Agile Testing, los testers deben realizar pruebas continuas ya que es la única forma de asegurar el proceso continuo y la calidad del producto.

2. Proveer retroalimentación constante. Un enfoque de pruebas ágil provee retroalimentación de manera continua para que el diseño de producto alcance los objetivos del negocio. 

3. El equipo completo realiza pruebas. Con una metodología tradicional de diseño de producto solo el equipo de pruebas (Q&A o QE) es responsable de realizar las pruebas. En un modelo ágil tanto programadores como diseñadores y la gente responsable del negocio realizan pruebas sobre el producto, es por ello que se logra tener una mejor visión del trabajo que se está realizando.

4. Responder con rapidez a la retroalimentación. Según los principios del Agile Testing, las personas que representan la parte de negocio del producto están involucradas en cada iteración del mismo, y el flujo de retroalimentación continua acorta el tiempo de respuesta y la toma de decisiones para integrar en la mejora del producto.

5. Crear un código simplificado y limpio. Todos los fallos o problemas hallados por el grupo de trabajo durante el proceso de desarrollo del producto, se arreglan dentro del mismo espacio de repetición, lo que ayuda a crear un código limpio y simplificado.

6. Producir menos documentación. En el método Agile Testing, las personas en el equipo de trabajo pueden utilizar listas reutilizables para enfocarse en probar el producto en lugar de enfocarse en detalles incidentales.

7. Probar para descubrir. En el enfoque de esta metodología ágil, las pruebas se realizan en el momento de la implementación, mientras que en el proceso tradicional, las pruebas se realizan después de la implementación.

Personas usando metodología Agile Testing

Imagen: Unsplash

Etapas del Agile Testing

El Agile Testing está compuesto por 5 fases muy importantes. A continuación conocerás el Agile Testing Lifecycle

1. Start. Agility Test Planning (Etapa inicial de planificación). Todas las partes involucradas en la metodología ágil deben trabajar en conjunto para elaborar horarios de evaluación, la frecuencia, etc. 

2. Daily Scrums. En esta etapa del Agile Testing se incluyen reuniones diarias al empezar la jornada para ponerse al día con el estado de las pruebas y establecer las metas del día.

3. Agility Review Meeting. Una de las fases del Agile Testing más importantes es establecer reuniones semanales con todos los miembros del equipo para que se puedan dar un feedback profundo y se evalúe el proceso frente a las adversidades.  

4. Release Readiness (Lanzamiento). En esta etapa del Agile Testing, el equipo va a revisar las características de todo aquello que se haya desarrollado e implementado hasta el momento. Y se evaluará si ya se encuentra listo para el cliente o no. 

5. Impact Assessment (Evaluación en el impacto). Finalmente, la metodología ágil se encargará de reunir los aportes de las partes interesadas y los usuarios, y de esta forma se obtendrá una retroalimentación general para el próximo ciclo de implementación.

 

Los cuadrantes del Agile Testing 

Como hemos mencionado a lo largo de este artículo, es importante adaptar el Agile Testing a cada organización y, de la misma manera, adaptar o utilizar determinados tipos de pruebas para poder medir la eficacia del programa. 

Es por esta razón que Lisa Crisping y Janet Gregory, en una adaptación del trabajo realizado por el autor Brian Marick, crearon la tabla de cuadrantes del Agile Testing para poder identificar los diferentes propósitos y tipos de pruebas de software que podemos realizar en un entorno Ágil. Por cierto, si quieres conocer más sobre el Agile Testing, te recomendamos explorar nuestro catálogo de cursos de diseño de productos.

 

cuadrantes del agile testing

Imagen: Angel Lozano

La idea es, básicamente, colocar la tabla vacía en una pizarra y completarla progresivamente con las ideas de cada uno de los miembros del equipo de trabajo. 

Ahora bien, creemos que es importante explicar que significan cada una de las partes de los cuadrantes de Agile Testing. 

1. Pruebas de apoyo al equipo (Supporting the team). Se realizan en los cuadrantes Q1 y Q2 del Agile Testing, y se basan en apoyar al equipo de desarrollo en la medida de que este se encuentra elaborando el producto. No suelen buscar algo nuevo, sino más bien validar algo que ya conocen. Se les llaman pruebas de apoyo al equipo ya que en estos cuadrantes las pruebas realizadas son la base de un equipo de desarrollo ágil. 

2. Pruebas de críticas al producto (Critique de product). Estas pruebas se realizan en los cuadrantes Q3 y Q4, y se aplican para encontrar errores en el producto. Cuando se indica “críticas al producto”, no tiene necesariamente un sentido negativo, pues éstas pueden ser para resaltar aspectos positivos o incluso sugerir mejoras.

3. Pruebas enfrentadas a la tecnología (Technology view). Son pruebas que se realizan en los cuadrantes Q1 y Q4, y son de mayor naturaleza técnica. Generalmente, los resultados son de mayor interés para el desarrollador, el técnico, el arquitecto, etc. La intención es analizar y someter a pruebas de extremo a características no funcionales como el desempeño, robustez y seguridad.

4. Pruebas enfrentadas al negocio (Business view). Se realizan en los cuadrantes del Agile Testing Q2 y Q3. Acá entran las pruebas que tienen foco en el negocio, podrían pensarse como las pruebas que dan resultados que un Product Owner (o Project Manager) estará interesado en escuchar, que podrá entender. Permiten confirmar que el comportamiento de una determinada funcionalidad es el deseado por el cliente o los expertos de negocio. Hablamos aquí de satisfacer las condiciones de calidad externa solicitadas por el cliente.

Es importante mencionar que esto no es una taxonomía ni una categorización de las tareas del Agile Testing. Asimismo, no es necesario que los cuadrantes se vayan llenando en orden, ya que justamente lo que se busca es una metodología de trabajo ágil en el que todos puedan intervenir.

 

Ventajas del Agile Testing

  • Ahorro de tiempo y dinero. Esta es una gran ventaja del agile testing, ya que, principalmente, el poder identificar errores sobre la marcha le permite al equipo de trabajo no desperdiciar tiempo en la producción de un elemento que debe ser corregido y, a su vez, gracias a la capacidad predictiva del programa, se ahorran recursos. 
  • Reducción en la documentación y en el tiempo que se requiere para desarrollarla. Un punto fuerte de la metodología ágil es el hecho de que es una estrategia que puede implantarse de forma rápida y sencilla.
  • Es adaptable, escalable y muy flexible a los cambios. Como hemos visto, el Agile Testing busca adaptarse a los grupos de trabajo y a las organizaciones, y no que sea al revés. Su capacidad de poder variar a lo largo de todo el proceso de trabajo permite que esta metodología sea una herramienta novedosa e ideal para aquellas personas acostumbrados a metodologías más tradicionales. 
  • Proporciona una manera clara de integrar los comentarios y la retroalimentación del usuario final en el proceso de desarrollo. El Agile Testing se basa en la retroalimentación progresiva que se da a lo largo del proceso de elaboración del producto. Este feedback del cliente y de los propios miembros del equipo no solo permiten corregir errores, sino también mejorar la calidad y fomentar el aprendizaje en conjunto. 
  • Ayuda a definir y priorizar mejor los problemas a resolver. En la metodología Agile Testing, al poder identificar los problemas que se van presentando a lo largo del proceso. Estos se podrán jerarquizar y corregir en orden de importancia, para de esta forma seguir con la elaboración del producto.

Equipo de desarrollo de software

Imagen: Unsplash

Libros para aprender sobre Agile Testing

Ahora que conoces los aspectos básicos del Agile Testing y te has formado una idea de los resultados que pueden conseguir las empresas al aplicar esta metodología, es importante que profundices y conozcas con más detalle todo lo que tiene que ver con Agile Testing.

Por eso, decidimos compartirte una lista de libros con los que podrás aprender cuál ha sido la evolución del Agile Testing a lo largo de los años, y cuáles son las métricas asociadas a la implementación de estas prácticas en algunas empresas.

Estos libros que te vamos a compartir pueden ser una buena puerta de entrada al uso de esta metodología, así que te recomendamos aprovechar que hicimos una selección con las obras más importantes sobre Agile Testing y buscar los que más te llamen la atención para leerlos.

More Agile Testing: learning journeys for the whole team

Si quieres aprender más sobre Agile Testing, puedes empezar por este libro que publicó la editorial Addison-Wesley. En total, esta obra contiene 25 capítulos y más de 400 páginas con información que te será de mucha ayuda para conocer más de cerca esta práctica de testing.

Para empezar, Janet Gregory y Lisa Crispin, las autoras de este libro, explican cuál ha sido la evolución de la metodología Agile Testing, y cuál ha sido su importancia para el desarrollo de la cultura organizacional de las empresas.

Este libro es ideal para personas que ya tienen conocimientos sobre Agile Testing, en especial, porque el lenguaje que se utiliza en él es bastante especializado. Recomendamos su lectura para quienes desean aprender más sobre las diferentes actividades de testing, bien sea que se trate de programadores, analistas de negocios, o personas que trabajen propiamente con la metodología de Agile Testing.

Libro More Agile Testing

Fuente: Kobo

The Agile Samurai: how agile masters deliver great software

A diferencia del texto anterior, con esta obra, publicada por la editorial The Pragmatic Programmers, puedes aprender sobre Agile Testing desde cero. Es decir, te recomendamos utilizarlo para aprender los conceptos básicos de la metodología Agile Testing y construir una base sobre la que puedas empezar a avanzar en el tema.

Se trata de un libro escrito por Jonathan Ramusson, y con el que seguramente podrás tener un primer acercamiento con el Agile Testing. Estas son algunas de las preguntas que podrás responder tras hacer la lectura de The Agile Samurai:

  • ¿Cómo funciona un planning de trabajo con la metodología agile?
  • ¿Qué tipo de proyectos agile existen y cómo se diferencian cada uno de ellos?
  • ¿Cuáles son los motivos por los que las pruebas ágiles son tan importantes?
  • ¿Qué diferencias hay entre testing agile vs testing tradicional?
  • ¿Qué errores suelen afectar a la mayoría de los proyectos y cómo se resuelven con Agile Testing?

Como puedes ver, es ideal para quienes no tienen idea sobre qué es Agile Testing y quieren empezar con lo más básico.

Libro The Agile Samurai

Fuente: Amazon

Test-Driven Development: an empirical evaluation of agile practice

Este libro estudia el impacto que ha tenido la metodología de Agile Testing en la forma en la que trabajan las empresas, especialmente, en la ingeniería de software. Su autor, Lech Madeyski, explica los mecanismos que utiliza el Agile Testing para optimizar los procesos de desarrollo de software.

Te recomendamos leerlo si ya tienes conocimientos sobre el tema, y estás interesado en conocer los resultados que suelen tener las empresas tras aplicar la metodología de Agile Testing.

El libro ofrece detalles específicos, con datos, sobre los avances en el nivel de calidad de los productos de software, en el incremento de la productividad para el desarrollo de software, y comenta cuáles son algunas de las herramientas que se suelen utilizar para hacer Agile Testing.

Es decir, con este texto podrás ver más de cerca los resultados que ofrece este nuevo modelo de organización para el desarrollo de productos.

Test-Driven Development libro

Fuente: Amazon

Lean-Agile acceptance test-driven development

Este es otro libro publicado por la editorial Adisson-Wesley, y además de tener contenido de calidad para conocer qué es Agile Testing, incluye información sobre otra metodología que se está usando de una forma muy amplia en el desarrollo de productos, la metodología Lean.

Su autor, Ken Pugh, explica cómo los principios de operación de las metodologías Agile Testing y Lean son ideales para el desarrollo de software y la optimización de los procesos de testing en una empresa.

De igual manera, profundiza en el uso de diferentes estrategias de testing, que junto a la metodología Lean, son útiles para aumentar la satisfacción de los usuarios y reducir los costos asociados al desarrollo de productos.

Se trata de un libro que tiene 32 capítulos y más de 300 páginas de contenido, dentro de las que se incluyen, además, algunos casos de estudio que te pueden servir de ejemplo para entender cómo funciona el Agile Testing.

Libro Lean Agile Acceptance

Fuente: Amazon

Agile Testing: how to succeed in an extreme testing environment

La metodología Agile Testing tiene diferentes enfoques, y no siempre lo que funciona para una empresa lo hace para otra. De esto parte John Watkins, el autor de este texto, para explicar cómo se debe utilizar el Agile Testing para optimizar los procesos particulares de cada empresa y lograr mejores resultados.

Este libro busca ser un guía práctica para que las empresas o profesionales particulares puedan diseñar sus propios de Agile Testing, adaptados a sus propias necesidades. Para esto, Watkins incluyó 20 casos de estudio de la vida real con los que explica cómo cada empresa ajustó sus propios métodos de Agile Testing.

Ya te habíamos explicado que el Agile Testing se ajusta a las necesidades de cada empresa, y con este libro puedes aprender de qué manera se puede lograr. Este libro fue publicado por la Universidad de Cambridge y es una excelente referencia para quienes desean aplicar esta metodología a su empresa.

Libro de John Watkins sobre Agile Testing

Fuente: Amazon

Agile Testing foundations

En este libro encontrarás una serie de artículos sobre Agile Testing recopilados por Rex Black, y publicado por The Chartered Institute for IT. Todos los contenidos de esta compilación te servirán para aprender los conceptos básicos del desarrollo de productos con la metodología Agile Testing, para que conozcas algunos de sus principales enfoques, y para que tengas referencias de su aplicación en el mundo empresarial.

De igual manera, tiene un capítulo completo dedicado a explicar las diferencias entre testing agile vs testing tradicional. Es un libro que te servirá, de principio a fin, para conocer más de qué va el Agile Testing y capacitarte para empezar a trabajar con él.

Es un libro corto y muy fácil de leer, apenas tiene 224 páginas, distribuidas en cuatro capítulos un apéndice, y algunos exámenes de prueba para que descubras qué tanto aprendiste leyendo.

Libro introductorio de Agile Testing

Fuente: Amazon

Como hemos mencionado a lo largo de este blog post, esta nueva metodología ágil representa la evolución de las metodologías de trabajo tradicionales. 

Si bien es cierto el Agile Testing engloba ciertos aspectos que requieren un estudio más profundo, la gran capacidad de adaptación de la metodología a los grupos de trabajo, y su facilidad de implementación, permiten que puedas empezar a trabajar de manera ágil con tu equipo.

Esperamos que la información del artículo de hoy te haya sido útil y te haya ayudado a comprender qué es el agile testing y sus principios, así como las etapas y las ventajas más importantes de esta estrategia de trabajo ágil. 

Si te interesa conocer más sobre metodologías ágiles, te recomendamos el curso online de Gestión Ágil de Proyectos con Elohin Fuentes. De la misma manera, si quieres aprender más sobre cómo diseñar productos integrando el diseño de interacción ágil, puedes ver el curso online de Diseño de interacción ágil para productos estamos seguros que obtendrás resultados de alta calidad. 

Estamos ansiosos por que pongas en marcha todos tus nuevos conocimientos y que apliques tus habilidades de comunicación y liderazgo en la era digital.

¡Mucha suerte! Nos vemos en el siguiente artículo.