CGTS Corp...

Noticias

Post updates on the status of your app

Agile Testing

Involucra a todos los miembros de un equipo ágil multifuncional, en el cual el rol del tester es el de un experto multifuncional, garante que se entregue el valor de negocio deseado por el cliente a un ritmo sostenible y continuo.
Las metodologías ágiles no ven al software testing como una fase separada, sino como parte integral del Desarrollo de software al igual que la programación. Agile Testing, incorpora una serie prácticas, como 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.

Principios de Agile Testing

El Testing no es una fase: El testing continuo es la única forma de garantizar avance continuo
El Testing hace avanzar el proyecto: Bajo métodos convencionales, el testing es una alcabala, en cambio en Agile Testing se proporciona retroalimentación continua, permitiendo corregir el rumbo continuamente durante el desarrollo de software.
Todo el equipo realiza pruebas: en Agile Testing, los Analistas de negocio y Desarrolladores de software también ejecutan pruebas, no sólo los testers como en métodos convencionales.
Reducir el tiempo para recibir retroalimentación: En Agile Testing, los equipos del área de negocio (el cliente) están involucrados en cada iteración, no solo al final durante la fase de aceptación.
Código limpio: Los defectos en el código se corrigen en la misma iteración, por lo que se mantiene el código limpio.
Reducir la documentación de pruebas: Los Agile Testers usan listas de chequeo reusables en lugar de documentación extensa, se enfocan en la esencia de la prueba en lugar de detalles.
Guiado por pruebas: El Agile Testing, las pruebas se hacen “durante” el desarrollo y no después del desarrollo como en métodos convencionales.

 

Algunas prácticas:

  • Test Driven Development (TDD):  Técnica que combina un enfoque de refactorización del lado de desarrollo con un enfoque de probar primero en cuanto al testing.

  • Acceptance Test Driven Development (ATDD): Es una dimensión del TDD aplicada al nivel de gestión de requerimientos de software, en el cual las pruebas escritas son a nivel de cliente, es decir, lo equivale
  • nte a una prueba de aceptación o test funcional.
  • Behaviour Driven Development (BDD): También puede llamarse Story Driven Development. Bajo este enfoque primero se desarrolla una prueba funcional o de historia de usuario automatizada, luego se eje
  • cuta el desarrollo aplicando TDD hasta que la prueba es exitosa.
  • Testing exploratorio: Enfoque en el cual el aprendizaje de la funcionalidad, diseño de pruebas y ejecución de pruebas ocurren simultáneamente, en contraposición con el enfoque convencional en el cual primero se documenta la funcionalidad o requisito, luego se diseña el caso de prueba y luego se ejecuta de acuerdo a guiones prestablecidos.
  • Automatización de pruebas de regresión: Tanto la integración continua como la refactorización son prácticas necesarias para poder implementar una metodología ágil de desarrollo de software.
  • Automatización de pruebas unitarias: Consiste en usar un marco de trabajo o framework (como NUnit) para ejecutar tus tests unitarios, en lugar de ejecutar estos manualmente una y otra vez cada vez que modificas el código.

Pirámide de Testing

 

En la forma tradicional (pirámide de la izquierda), la gran mayoría de las pruebas son manuales y funcionales, pudiendo existir algún pequeño grado de automatización y de pruebas unitarias por desarrolladores.
La pirámide de la derecha representa como se ejecuta el Software Testing en Agile, donde la gran mayoría de las pruebas son unitarias automatizadas, de aceptación automatizadas y de interfaz gráfica automatizadas, buscando reducir al mínimo las pruebas funcionales manuales.

 

Cuadrantes de Agile Testing

Los cuadrantes representan los diferentes propósitos y tipos de pruebas de software que podemos realizar en un entorno Agile. Aquí una imagen de los cuadrantes del Agile Testing.

 

Scroll to top