¿Qué es Agile Testing?

Agile Testing asume los principios y valores del manifiesto ágil para acelerar el proceso de pruebas en software. Al mismo tiempo –de acuerdo con DZone– el agile testing garantiza la colaboración entre los evaluadores y hacia el objetivo común: el desarrollo de software de calidad. La calidad es esencial para el método ágil, ya que su enfoque principal es satisfacer los requisitos del cliente.

Según Guru99, a diferencia del método Waterfall, Agile Testing puede comenzar al inicio del proyecto con una integración continua entre el desarrollo y las pruebas. En este enfoque ágil, el desarrollo y las pruebas se realizan de forma iterativa en forma de sprints.

En este artículo de Tecnova, hablaremos de las principales características de un Agile Testing. ¡Revisemos!

 

 

Principios de prueba ágiles

Hay ocho principios principales que guían pruebas ágiles. Estos fueron recopilados por Sealights:

  1. Pruebas continuas: los equipos ágiles realizan pruebas regularmente para asegurarse de que el producto está progresando continuamente. Las pruebas se realizan junto con el desarrollo.
  2. Retroalimentación continua: los evaluadores proporcionan un feedback continuo a los miembros del equipo. Ellos reciben regularmente comentarios sobre la calidad del producto.
  3. Involucrando a todo el equipo: evaluadores, desarrolladores y analistas de negocios prueban el software.
  4. Comentarios rápidos: el equipo empresarial participa en cada iteración. La retroalimentación continua reduce el tiempo que se tarda en obtener comentarios sobre el trabajo de desarrollo.
  5. Calidad de software de alto nivel: los equipos prueban el software para asegurarse de que el código esté limpio y ajustado. A través de pruebas regulares del software, los problemas y vulnerabilidades se pueden detectar y corregir fácilmente en la misma iteración que se desarrollan.
  6. Desarrollo por Test-Driven: desarrolladores evalúan el producto en el momento de la implementación, en vez de hacerlo después de la implementación (como es el caso de los métodos de prueba tradicionales).
  7. Satisfacción del cliente: los clientes están expuestos a su producto durante el desarrollo. Pueden adaptar y actualizar sus requisitos a medida que avanza el desarrollo. Por tanto, las pruebas se modifican según estos requisitos actualizados.

 

 

¿Cuáles son las metodologías de pruebas ágiles más comunes?

A continuación, Tricentis nos entrega una descripción de qué se trata las metodologías de pruebas ágiles.

 

Pruebas exploratorias

Estas pruebas implican que los evaluadores “exploran” la aplicación para descubrir cualquier caso de falla y ver lo que hay que cambiar. Los evaluadores utilizarán esta prueba para averiguar lo que se necesita arreglar y actualizar.

Las pruebas exploratorias son una práctica cíclica que comienza desde el diseño y los progresos de las pruebas hasta la ejecución de estas. Le sigue los análisis, el aprendizaje y, a continuación, el proceso comienza de nuevo. No hay un conjunto predefinido de instrucciones. El evaluador ágil se basa en sus habilidades para explorar y actualizar el producto.

 

Aceptación del desarrollo basado en pruebas (ATDD)

El Acceptance Test Driven Development (ATDD, en inglés) es una prueba colaborativa que reúne a los miembros del equipo. Clientes, evaluadores y desarrolladores colaboran para escribir pruebas de aceptación. Ello desde el punto de vista del usuario final que utilizará el software.

Esto entregará una idea sobre que esperan los clientes del producto final y cómo se utilizará. Así, todo el equipo tendrá una misma comprensión de lo que realmente están construyendo.

 

Desarrollo impulsado por el comportamiento (BDD, en inglés)

El Behavior Driven Development (BDD) refina el proceso de desarrollo basado en pruebas (TDD en inglés) y el desarrollo basado en pruebas de aceptación (ATDD). En lugar de comenzar con una prueba unitaria orientada a técnicos como lo hace TDD, BDD comienza con un requisito inicial basado en el comportamiento del usuario final y requiere de pruebas que sean «legibles por humanos«.

 

Pruebas de integración

En general, un proyecto de software implica varios módulos de software codificados por diferentes desarrolladores. Aunque cada módulo de software se prueba, los defectos pueden seguir existiendo.

Lo que hacen las pruebas de integración es combinar y probar estos módulos individuales como un solo grupo. El objetivo de este tipo de pruebas ágiles es exponer errores en la interacción entre módulos integrados.