Pruebas de software agiles

28
Prácticas modernas de pruebas basadas en Lean/Agile Pruebas de Software Ágiles

Transcript of Pruebas de software agiles

Page 1: Pruebas de software agiles

Prácticas modernas de pruebas basadas en Lean/Agile

Pruebas de Software Ágiles

Page 2: Pruebas de software agiles

Contenido

• Pensamiento (Mindset) de Pruebas Agiles

•Rol del Tester en un Equipo Ágil

•Cuadrantes de las Pruebas Agiles

• Especificaciones Ejecutables

Page 3: Pruebas de software agiles

Pensamiento (Mindset) de Pruebas Agiles

•Encuesta Inicial

• Ponte de pie si alguno de estos problemas te

sucede:

las pruebas siempre se hacen al final

la automatización se hace al final

los testers no pueden trabajar hasta que el

desarrollo haya sido hecho

hay presión al final del sprint

se buscan culpables de los defectos (es culpa

de X, etc.)

Page 4: Pruebas de software agiles

Pensamiento (Mindset) de Pruebas Agiles

• La prueba es una actividad no una fase

• Evitar defectos en lugar de encontrar defectos

•No ser un verificador, ser un probador (tester)

•No tratar de quebrar el Sistema, en lugar de ello

ayudar a construir el mejor Sistema posible

• El equipo entero es responsable de la calidad, no

solo el probador (tester)

Page 5: Pruebas de software agiles

Pensamiento (Mindset) de Pruebas Agiles

•ACTIVIDAD

•Cada Grupo recibe un hoja de

Manifiesto de las Pruebas con 5 valores

que debe de llenar en la forma:

Nosotros valoramos __________sobre_______________

15

Page 6: Pruebas de software agiles

Pensamiento (Mindset) de Pruebas Agiles

Page 7: Pruebas de software agiles

Contenido

• Pensamiento (Mindset) de Pruebas Agiles

•Rol del Tester en un Equipo Ágil

•Cuadrantes de las Pruebas Agiles

• Especificaciones Ejecutables

Page 8: Pruebas de software agiles

Rol del Tester en un Equipo Ágil

• En un equipo ágil la Calidad es responsabilidad de

todos

•Cada miembro del equipo tiene actividades de

Calidad

• El rol del tester es mas versátil y abarca un amplio

rango de habilidades

• El tester tiene actividades durante todo el sprint

Page 9: Pruebas de software agiles

Rol del Tester en un Equipo Ágil

• Tareas típicas de un Tester

• Participar en el planeamiento y estimación del sprint

• Escribir los criterios de aceptación de cada ítem de un

sprint

• Capturar ejemplos como pruebas de aceptación

• Automatizar pruebas de humo y de regresión

• Realizar pruebas exploratorias

• Colaborar con clientes y programadores

• Participar en la reunión de revisión del producto

• Participar en la reunión de retrospectiva

Page 10: Pruebas de software agiles

Rol del Tester en un Equipo Ágil

• El Rol de Test Manager o QA Manager no existe dentro

de un equipo ágil

• Posibles actividades de un Test Manager o QA Manager

• Coaching, mentoría y desarrollo Profesional de los testers

• Conseguir los mejores testers y ponerlos a disposición de

un equipo

• Proveer soporte y escalamiento a los testers

• Facilitar la comunicación a través de varios equipos agiles

dentro de la organización

• Presupuestar o pronosticar el testing como servicio

dependiente de la organización

Page 11: Pruebas de software agiles

Rol del Tester en un Equipo Ágil

•Otros Roles de Testing, externos o compartidos

entre equipos:

• Tester de Performance

• Tester de Seguridad

• Tester de Usabilidad

Page 12: Pruebas de software agiles

Contenido

• Pensamiento (Mindset) de Pruebas Agiles

•Rol del Tester en un Equipo Ágil

•Cuadrantes de las Pruebas Agiles

• Especificaciones Ejecutables

Page 13: Pruebas de software agiles

Cuadrantes de las Pruebas Agiles

•Actividad Grupal

• Escribir tantos tipos de prueba como recuerde,

uno en cada Post-It

• Luego péguelos en la pared

5

Page 14: Pruebas de software agiles

Cuadrantes de las Pruebas Agiles

unit level

system level system or user acceptance level

system or operational acceptance level

Agile Testing Quadrant - Brian Marick

Page 15: Pruebas de software agiles

Cuadrantes de las Pruebas Agiles

Page 16: Pruebas de software agiles

Cuadrantes de las Pruebas Agiles

•CONSTRUIR SU CUADRANTE

• Cada Grupo tendrá su copia del Cuadrante de

las Pruebas

• Armar su cuadrante de las Pruebas en la Pared

• Colocar Post-its con los tipos de pruebas

identificados anteriormente, dentro del

cuadrante de las pruebas respectivo

• Luego de armar el cuadrante fíjese en el :

Esta mas enfocado en evitar defectos o en arreglarlos?

Page 17: Pruebas de software agiles

Contenido

• Pensamiento (Mindset) de Pruebas Agiles

•Rol del Tester en un Equipo Ágil

•Cuadrantes de las Pruebas Agiles

• Especificaciones Ejecutables

Page 18: Pruebas de software agiles

Especificaciones Ejecutables

• Especificaciones Ejecutables

• Sigue reglas de lenguaje simples (Dado, Cuando, Entonces)

• Permite escribir algo altamente legible y entendible por el

negocio

• Una especificación ejecutable es algo que funciona como

una aceptación automatizada

• Cuando los requerimientos cambian, las especificaciones

ejecutables son actualizadas desde un único lugar

Escenario: Obtención de puntos estándar desde unvuelo económico

Dado la distancia de vuelo entre Lima y Arequipa es 966 kmY yo soy un miembro de viajero frecuente estándarCuando vuelo de Lima hacia ArequipaEntonces debería ganar 483 puntos

Page 19: Pruebas de software agiles

Especificaciones Ejecutables

• Titulo, descripción y escenarios de una

Característica (Feature) en lenguaje GherkinEn Gherkin use la palabra Característica para indicar un titulo de característica

Una breve descripción de la característica a continuación del titulo

Uno o mas escenarios a continuación

Page 20: Pruebas de software agiles

Especificaciones Ejecutables

•Comentando y describiendo los escenarios

Cualquier cosa luego del titulo del escenario y antes que el primer Dadoes considerado como una descripción

Un comentario en Gherkincomienza con el carácter #

Page 21: Pruebas de software agiles

Especificaciones Ejecutables

•Usando tablas en pasos individuales

Proporciona tabla de datos para el paso Dado

Datos para el paso Entonces

Page 22: Pruebas de software agiles

Especificaciones Ejecutables

•Usando tablas de ejemplos La palabra clave Esquema del escenario marca esto como un escenario conducido por una tabla

Datos de prueba usados para este escenario

Page 23: Pruebas de software agiles

Especificaciones Ejecutables

• Background y Contexto

Estos pasos se ejecutaran antes de cada escenario

Escenarios son mas enfocados

Page 24: Pruebas de software agiles

Especificaciones Ejecutables

•Como se automatiza un escenario?

Page 25: Pruebas de software agiles

Especificaciones Ejecutables

• El resultado general del escenario dependerá de los resultados de los diferentes pasos.

Page 26: Pruebas de software agiles

PRACTICA

•Creando Especificaciones Ejecutables

con SpecFlow (Cucumber for .NET)

Page 27: Pruebas de software agiles

1. Configuración del Entorno

• Instalar la integración con el IDE

• Herramientas -> Extensiones y Actualizaciones

• SpecFlow for Visual Studio 2015

• NUnit 3 Test Adapter

•Configurar el Proyecto Visual Studio

• Crear un Proyecto de Prueba Unitaria

• Agregar paquete Nuget

• SpecFlow

• SpecFlow.NUnit

•Agregar un archivo de Feature (Característica)

• Agregar al Proyecto un “SpecFlow Feature File”.

Page 28: Pruebas de software agiles

2. Creando Características

• Bolsa de Trabajo En línea

• Acceso al Sistema En línea

• Colocación de ofertas de trabajo