Prácticas modernas de pruebas basadas en Lean/Agile
Pruebas de Software Ágiles
Contenido
• Pensamiento (Mindset) de Pruebas Agiles
• Rol del Tester en un Equipo Ágil
• Cuadrantes de las Pruebas Agiles
• Especificaciones Ejecutables
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.)
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)
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
Pensamiento (Mindset) de Pruebas Agiles
Contenido
• Pensamiento (Mindset) de Pruebas Agiles
• Rol del Tester en un Equipo Ágil
• Cuadrantes de las Pruebas Agiles
• Especificaciones Ejecutables
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
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
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
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
Contenido
• Pensamiento (Mindset) de Pruebas Agiles
• Rol del Tester en un Equipo Ágil
• Cuadrantes de las Pruebas Agiles
• Especificaciones Ejecutables
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
Cuadrantes de las Pruebas Agiles
unit level
system level system or user
acceptance level
system or operational
acceptance level
Agile Testing Quadrant - Brian Marick
Cuadrantes de las Pruebas 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?
Contenido
• Pensamiento (Mindset) de Pruebas Agiles
• Rol del Tester en un Equipo Ágil
• Cuadrantes de las Pruebas Agiles
• Especificaciones Ejecutables
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 un
vuelo económico
Dado la distancia de vuelo entre Lima y Arequipa es 966 km
Y yo soy un miembro de viajero frecuente estándar
Cuando vuelo de Lima hacia Arequipa
Entonces debería ganar 483 puntos
Especificaciones Ejecutables
• Titulo, descripción y escenarios de una
Característica (Feature) en lenguaje Gherkin
En 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
Especificaciones Ejecutables
• Comentando y describiendo los escenarios
Cualquier cosa luego del titulo del
escenario y antes que el primer Dado
es considerado como una descripción
Un comentario en Gherkin
comienza con el carácter #
Especificaciones Ejecutables
• Usando tablas en pasos individuales
Proporciona tabla
de datos para el
paso Dado
Datos para el paso
Entonces
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
Especificaciones Ejecutables
• Background y Contexto
Estos pasos se
ejecutaran antes de
cada escenario
Escenarios son mas
enfocados
Especificaciones Ejecutables
• Como se automatiza un escenario?
Especificaciones Ejecutables
• El resultado
general del
escenario
dependerá
de los
resultados de
los diferentes
pasos.
PRACTICA
•Creando Especificaciones Ejecutables
con SpecFlow (Cucumber for .NET)
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”.
2. Creando Características
• Bolsa de Trabajo En línea
• Acceso al Sistema En línea
• Colocación de ofertas de trabajo

Pruebas de software agiles

  • 1.
    Prácticas modernas depruebas basadas en Lean/Agile Pruebas de Software Ágiles
  • 2.
    Contenido • Pensamiento (Mindset)de Pruebas Agiles • Rol del Tester en un Equipo Ágil • Cuadrantes de las Pruebas Agiles • Especificaciones Ejecutables
  • 3.
    Pensamiento (Mindset) dePruebas 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.)
  • 4.
    Pensamiento (Mindset) dePruebas 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)
  • 5.
    Pensamiento (Mindset) dePruebas 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
  • 6.
  • 7.
    Contenido • Pensamiento (Mindset)de Pruebas Agiles • Rol del Tester en un Equipo Ágil • Cuadrantes de las Pruebas Agiles • Especificaciones Ejecutables
  • 8.
    Rol del Testeren 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
  • 9.
    Rol del Testeren 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
  • 10.
    Rol del Testeren 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
  • 11.
    Rol del Testeren un Equipo Ágil • Otros Roles de Testing, externos o compartidos entre equipos: • Tester de Performance • Tester de Seguridad • Tester de Usabilidad
  • 12.
    Contenido • Pensamiento (Mindset)de Pruebas Agiles • Rol del Tester en un Equipo Ágil • Cuadrantes de las Pruebas Agiles • Especificaciones Ejecutables
  • 13.
    Cuadrantes de lasPruebas Agiles • Actividad Grupal • Escribir tantos tipos de prueba como recuerde, uno en cada Post-It • Luego péguelos en la pared 5
  • 14.
    Cuadrantes de lasPruebas Agiles unit level system level system or user acceptance level system or operational acceptance level Agile Testing Quadrant - Brian Marick
  • 15.
    Cuadrantes de lasPruebas Agiles
  • 16.
    Cuadrantes de lasPruebas 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?
  • 17.
    Contenido • Pensamiento (Mindset)de Pruebas Agiles • Rol del Tester en un Equipo Ágil • Cuadrantes de las Pruebas Agiles • Especificaciones Ejecutables
  • 18.
    Especificaciones Ejecutables • EspecificacionesEjecutables • 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 un vuelo económico Dado la distancia de vuelo entre Lima y Arequipa es 966 km Y yo soy un miembro de viajero frecuente estándar Cuando vuelo de Lima hacia Arequipa Entonces debería ganar 483 puntos
  • 19.
    Especificaciones Ejecutables • Titulo,descripción y escenarios de una Característica (Feature) en lenguaje Gherkin En 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
  • 20.
    Especificaciones Ejecutables • Comentandoy describiendo los escenarios Cualquier cosa luego del titulo del escenario y antes que el primer Dado es considerado como una descripción Un comentario en Gherkin comienza con el carácter #
  • 21.
    Especificaciones Ejecutables • Usandotablas en pasos individuales Proporciona tabla de datos para el paso Dado Datos para el paso Entonces
  • 22.
    Especificaciones Ejecutables • Usandotablas de ejemplos La palabra clave Esquema del escenario marca esto como un escenario conducido por una tabla Datos de prueba usados para este escenario
  • 23.
    Especificaciones Ejecutables • Backgroundy Contexto Estos pasos se ejecutaran antes de cada escenario Escenarios son mas enfocados
  • 24.
    Especificaciones Ejecutables • Comose automatiza un escenario?
  • 25.
    Especificaciones Ejecutables • Elresultado general del escenario dependerá de los resultados de los diferentes pasos.
  • 26.
  • 27.
    1. Configuración delEntorno • 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”.
  • 28.
    2. Creando Características •Bolsa de Trabajo En línea • Acceso al Sistema En línea • Colocación de ofertas de trabajo