lunes, 8 de junio de 2015

Pruebas de software Agile: Planificar con los 4 cuadrantes del Agile Testing (2da parte)

Imagen obtenida de: LogiGear

Presentamos la segunda parte de nuestra serie sobre como planificar las pruebas de software usando los 4 cuadrantes del Agile Testing.

En la primera parte de nuestra serie sobre como planificar con los 4 cuadrantes del Agile Testing, nos enfocamos en describir las herramientas y tipos de pruebas de software que describe cada cuadrante, como instrumento para la planificación de las prueba en metodologías ágiles.

En esta segunda parte, veremos algunos consejos y recomendaciones sobre cómo usar los 4 cuadrantes para definir el enfoque y plan de pruebas de software agile.

PMOInformatica presenta: Planificar con los 4 cuadrantes del Agile Testing (2da parte)

¿Cómo usar los cuadrantes para planificar el Agile Testing?

A continuación compartimos algunos comentarios sobre Lisa Crispin, coautora del libro “Agile Tester” sobre cómo usar los 4 cuadrantes para planificar las pruebas. Aquí el enlace al post completo de Lisa Crispin

Crispin, L. Using the Agile Testing Quadrants. Blog Agile Testing with Lisa Crispin

Uso de los 4 cuadrantes

  • Los 4 cuadrantes son una taxonomía para ayudar en la planificación del Agile Testing.
  • La idea de usarlos es asegurar que se tomen en cuenta todos los recursos y métodos necesarios para logar la producción de software de calidad. 
  • Los 4 cuadrantes no son reglas rígidas ni en su contenido ni orden. Cada equipo de desarrollo de software debe adaptarlos a su situación particular con amplia libertad.
  • La numeración de los cuadrantes es arbitraria y es para que, por ejemplo, un interlocutor pueda referirse al “cuadrante 1” en lugar de “pruebas de tecnología de cara a cliente”.

Más Información sobre Software Testing

Visita nuestra página de Recursos en Pruebas de Software

Por cual cuadrante comenzar

  • La mayoría de los proyectos comenzarían por el cuadrante 2 que contempla ejemplos de comportamiento, puebas de las historias de usuario y prototipos.
  • Sin embargo, no es descartable que un proyecto comience por ejemplo con pruebas de desempeño (cuadrante 4) si es el aspecto más crítico del proyecto.
  • Si existe incertidumbre sobre algunos requerimientos, que no están del todo definidos cuando comienzas, podrías comenzar con testing exploratorio (cuadrante 3). El Testing explortatorio es para obtener información sobre el comportamiento y no para probar si esta correcto o no.

Desarrollar y probar software en pequeños incrementos

Para comenzar con las pruebas especificadas en los cuadrantes 3 y 4, se requiera que exista alguna funcionalidad desarrollada e instalada en ambiente de desarrollo.

Por esta razón lo más probable es que termines iterando rápidamente entre los 4 cuadrantes trabajando en pequeños incrementos. Esto se alinea con enfoques de desarrollo como Behaviour Drive Development (BDD) y Test Driven Development (TDD).

Aquí un ejemplo de cómo trabaja este proceso:

  • Primero escribes código de una prueba para un pequeño fragmento de una funcionalidad.
  • Luego escribes el código para esa funcionalidad.
  • Una vez que la prueba pasa puedes considerar automatizar la prueba (escrita anteriormente).
  • Luego puedes realizar testing exploratorio, de seguridad o de carga (desempeño).
  • Por último, añades otro pequeño fragmento de funcionalidad y repites el proceso nuevamente.

Como puedes ver, con esta metodología sigues el proceso BDD y TDD, agregando pequeños incrementos de código.

Recomendaciones y consejos

Aquí te dejamos algunas recomendaciones y consejos para sacar el máximo provecho de tu estrategia de software testing Agile.

  • Realiza las pruebas lo antes posible en el proyecto y con mucha frecuencia:
    • Integrar pruebas unitarias, funcionales y de carga en la planificación desde el principio.
    • La intención es identificar y rectificar problemas de forma temprana, antes que se conviertan en cuellos de botella que puedan comprometer el proyecto.
  • Incorpora a analistas de pruebas en el equipo de desarrollo:
    • Los testers tienen el conocimiento para asegurar que se entregue software de calidad y que cumpla los requerimientos del usuario.
    • Al integrar a los testers al equipo de desarrollo logramos que se comparta el conocimiento. 
    • De esta forma el equipo puede realizar sus propias pruebas.
  • Que los Testers revisen las pruebas unitarias:
    • Los desarrolladores tienen a pensar de forma diferente que los testers, por ejemplo, considerando solamente el escenario de éxito.
    • Para mejorar las pruebas unitarias, permite que los analistas de pruebas revisen las pruebas unitarias y realicen sugerencias.
    • De esta forma los Testers pueden ayudar a identificar escenarios de alto riesgo que se le pasaron por alto al equipo de desarrollo.
  • Ejecuta las pruebas de carga (estrés) diariamente:
    • Las pruebas de estrés son cada vez son más críticas para el éxito, considerando ique el software de hoy se diseña para implementaciones masivas que pueda escalarse.
    • Deben incorporarse pruebas de estrés en todas las construcciones de software a diario.
    • De esta forma podrás identificar de forma temprana posibles problemas de desempeño de tu aplicación.
  • Automatiza tus pruebas de software:
    • Probar manualmente puede ser tedioso, consumir mucho tiempo y ser ineficiente.
    • También probar manualmente te expone más a los errores.
    • La automatización de pruebas también te permitirá ejecutar con mayor eficiencia las pruebas de regresión cada vez que incorpores modificaciones.

¿Buscas más información?

En el siguiente artículo te mostramos más información:

8 diferencias de las pruebas ágiles de software

¿Y qué opinas tú?

¿Has aplicado metodologías ágiles o el Agile Testing?, ¿Cuéntanos tu experiencia?, ¿Cuáles son los factores críticos para el éxito?, expresa tu opinión en la sección de comentarios.

<< Artículo anterior: Planificar con los 4 cuadrantes del Agile Testing (1era parte)

¿Buscas más información de metodologías ágiles?

¿Quieres obtener completamente gratis y directamente en tu correo electrónico plantillas, artículos y otros recursos de gerencia de proyectos y metodologías ágiles?, entonces presiona "suscríbete" a continuación.

Suscríbete a la lista de correo electrónico:


Vía FeedBurner, se abrirá una nueva ventana

También puedes seguirnos vía Twitter, Facebook o Linkedin:

  

Artículos similares

Que es el Agile Testing y cuáles son sus principios y estrategias

1 comentario :

  1. algunos aspectos difíciles de gestionar es "comenzar lo más pronto posible" y "extraer casos de prueba" de las historias de usuario para convertirlos en pequeños scripts.

    ResponderEliminar

Pmoinformatica.com," La Oficina de Proyectos de Informática ", es un participante en el Programa de Servicios de Amazon Associates LLC, un programa de publicidad de afiliación diseñado para proporcionar un medio para que sitios web puedan ganar honorarios por la publicidad y enlaces a amazon.com y amazon.es.