Barra Superior

PMOinformatica.com
La oficina de proyectos de informática
La web sobre gerencia de proyectos de informática, software y tecnología.
Síguenos en:     

miércoles, 16 de agosto de 2017

El Rol del Tester en las metodologías ágiles

Imagen obtenida de: Blog de Clearvision 

Hasta hace poco, el rol del Analista de calidad o Tester en el desarrollo de software se había limitado a la elaboración de documentos muy grandes como la estrategia de pruebas y planes de pruebas, desarrollar guiones (Scripts) detallados, para luego ejecutando estos guiones identificar errores y reportarlos al equipo.

Bajo esta forma de trabajo, los testers se encontraban abstraídos del resto del equipo y proceso de desarrollo de software, su participación comenzaba en las etapas finales cuando ya el software estaba prácticamente terminado.

Luego surgieron las metodologías agiles y con ellas cambios importantes en el proceso de desarrollo tanto para programadores como para los Testers. Ahora el rol del Tester en las metodologías agiles requieren que sean multifacéticos, tengan mayores conocimientos y habilidades técnicas, trabajen en colaboración y funcionen bajo una mentalidad ágil, entendiendo cómo funcionan los procesos de negocio modelados y tengan mayor orientación al punto de vista del cliente.

A continuación en este artículo te presentamos cual es el rol del Tester en las metodologías agiles.

La mentalidad Agile Testing

Un Tester que se desenvuelve en un equipo de trabajo bajo metodologías ágiles, necesita trabajar en colaboración con otros Testers, desarrolladores de software e interesados del área de negocio del software que se está construyendo.

Más allá de las nuevas habilidades y conocimientos técnicos que se requieren, lo que se necesita es un cambio de mentalidad.

De acuerdo al sitio web Testing Excellence, la mentalidad del Agile Testing se puede expresar en los siguientes principios:

  • Valorar la asistencia y apoyo en calidad de software por sobre el aseguramiento de calidad.
  • Probar continuamente el software en lugar de probar solamente al final del ciclo de desarrollo.
  • La calidad es responsabilidad de todo el equipo, no solo del equipo de Testing.
  • Enfoque de todo el equipo como responsable y ejecutor del Testing por sobre el enfoque de departamento de Testing o Testing independiente.
  • Hacer Testing técnico y de interfaces de programa (API) y no solo pruebas funcionales.
  • Hacer Testing exploratorio por sobre el Testing basado en guiones.
  • Utilizar historias de usuario y necesidades del cliente en lugar de especificaciones de requerimientos.
  • Mentalidad de construir el mejor software en lugar encontrar los errores de software.
  • Participación anticipada en el ciclo de desarrollo frente a la participación al final.
  • Ciclo de retroalimentación corto en lugar de Feedback tardío.
  • Enfoque de prevención de los defectos del software en lugar de enfoque de solo encontrar los defectos.

Formación en Agile Software Testing y TDD



Como software tester, necesitas estar formado en técnicas de vanguardia en metodologías ágiles y software testing.

Con este curso, aprenderás a aplicar los principios del manifiesto agil, Scrum y Kanban al Software Testing.

También aprenderás a gestionar el proyecto de desarrollo de software y de software Testing, usando las herramientas de gestión de Microsoft Team Foundation Server (TFS) y Microsoft Test Manager (MTM), las cuales poseen plantillas para manejar los elementos de trabajo en Agile.

Visita la página del curso

¿Cuáles habilidades y conocimientos necesita un Tester en las metodologías agiles?

Un Agile Tester necesita ser competente en automatización de pruebas de software. Aquí te compartimos un artículo donde puedes profundizar más en este tema:


También, necesita tener conocimientos en Test Driven Development (TDD), Acceptance Test Driven Development y en técnicas de pruebas de caja negra y pruebas de caja blanca.

Por otra parte, las metodologías ágiles dependen en gran medida de una efectiva colaboración, comunicación e interacción entre los integrantes del equipo de trabajo, así como de interacción con interesados externos. Por ende, el rol del Tester en las metodologías ágiles requiere que tengan buenas habilidades interpersonales.

Para lograr esto, los Testers en un equipo bajo metodologías ágiles deben:

  • Ser positivos y orientados a dar soluciones a sus compañeros de equipo y a otros interesados.
  • Ser críticos, escépticos y orientados a calidad al evaluar el producto (el software desarrollado).
  • Buscar de forma activa la información de los interesados (áreas de negocio), en lugar de depender solamente de las especificaciones de requerimientos escritas.
  • Involucrarse en el proceso de desarrollo de las historias de usuario, apoyando a los dueños de producto (product owner) a definir criterios de aceptación sobre estas historias que se puedan probar (Testable), en colaboración con representantes del cliente y otros interesados.
  • Colaborar con el equipo, trabajar en pares con programadores y otros integrantes.
  • Responder rápidamente a los cambios, incluyendo cambiar, agregar o mejorar los casos de prueba.
  • Planificar y organizar su propio trabajo (autogestionarse).

El rol del Tester en las metodologías ágiles

Podemos definir el rol del Tester en las metodologías agiles por medio de las siguientes actividades:

  • Entender, implementar y mantener actualizada la estrategia de pruebas Agile Testing.
  • Trabajar con los dueños del producto (Product Owners) para definir los criterios de aceptación y las definiciones de “hecho” (Done) de las historias de usuario.
  • Medir y reportar la cobertura de pruebas sobre todas las dimensiones de cobertura que sean aplicables.
  • Desarrollar y ejecutar pruebas automatizadas y reportar los resultados al equipo.
  • Reportar los errores (bugs) y trabajar con los desarrolladores en su resolución.
  • Dar coaching a otros miembros del equipo en los aspectos relevantes al Testing.
  • Colaborar activamente con los desarrolladores e interesados de las áreas de negocio para clarificar los requerimientos, especialmente en lo referente a que estos puedan verificarse, su consistencia y completitud.
  • Participar proactivamente en las reuniones diarias (Daily Standup), sesiones para el desarrollo de historias de usuario y en las retrospectivas, sugiriendo e implementando mejoras.

¿Y qué opinas tú?

¿Cómo es el rol del nuevo Tester comparado con el Tester tradicional? ¿Has implementado estas prácticas en tu organización? ¿Cuáles fueron los resultados?

¿Buscas más información de pruebas de software?

¿Quieres obtener completamente gratis y directamente en tu correo electrónico plantillas, artículos y otros recursos de pruebas de software?, 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:

   

Referencias

Testing Excellence. Agile Testing Mindset and the Role of the Agile Tester

Testing Excellence. Traditional Tester vs Agile Tester – What are the Differences?

Testing Excellence. What Makes a Good Agile Tester?

Artículos relacionados

No hay comentarios :

Publicar un comentario

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.