Pruebas ágiles
Contenido
- Historia del Manifiesto Ágil
- Modelos Ágiles
- Scrum
- Manifiesto de Pruebas Ágiles
- Principios de Pruebas Ágiles
- Niveles de Pruebas
- Técnicas de Pruebas Ágiles
- Pirámide de Pruebas
- Cuadrantes de Pruebas Ágiles
- Automatización de Pruebas
Ciclo de Vida
Title Text
Title Text
Modelos Ágiles
- Kanban
- XP
- Scrum
Kanban
Kanban es una palabra japonesa que significa “tarjetas visuales” (kan significa visual, y ban tarjeta).
Kanban no es una técnica específica del desarrollo software, su objetivo es gestionar de manera general como se van completando tareas.
Reglas del Kanban
- Visualizar el trabajo y las fases del ciclo de producción o ciclo de trabajo
- Determinar el límite de trabajo en curso (Work in Progress)
- Medir el tiempo en completar una tarea (Lead Time)
XP
El enfoque de XP es la satisfacción del cliente, los equipos XP logran la satisfacción del cliente mediante el desarrollo de características cuando el cliente los necesita.
Prácticas XP
- Estándar de codificación
- Propiedad colectiva
- Integración continua
- Desarrollo Basado en Pruebas (TDD)
- Pruebas de los clientes
- Refactorización
- Programación en parejas
Scrum
Define un marco para la gestión de proyectos. Está especialmente indicada para proyectos con un rápido cambio de requisitos.
Scrum es:
- Ligero
- Fácil de entender
- Extremadamente difícil de llegar a dominar
Scrum emplea un enfoque iterativo e incremental para optimizar la predictibilidad y el control del riesgo.
Pilares del Scrum
Roles
- Product Owner
- Scrum Team
- Scrum Master
Artefactos
- Product Backlog
- Sprint Backlog
- Incremento
Eventos
-
Planificación del Sprint
-
Scrum Diario
-
Revisión del Sprint
-
Retrospectiva del Sprint
Roles
Responsabilidades
-
Maximizar el valor del producto
-
Retorno de Inversión (ROI)
-
Priorización de los ítems del Product Backlog
-
Actualización de los ítems del Product Backlog
-
Contabiliza el avance del proyecto
-
Acepta el incremento entregado al final de cada sprint
Lleva adelante
-
Product Backlog
-
Plan de Release
-
Visión del Producto
-
Reunión de revisión de incremento
-
Actualización de Product Backlog
-
Presupuesto
-
Incremento del producto
Product Owner
Responsabilidades
-
Asegurar que Scrum es entendido y adoptado por parte de todo el equipo
-
Guiar hacia las buenas prácticas
-
Hacer que se cumpla y comprendan los beneficios del manifiesto ágil
-
Encontrar técnicas para un mejor manejo del Product Backlog
-
Comunicar claramente la visión y objetivos al equipo
Lleva adelante
-
El proceso de Scrum
Scrum Master
-
Remover los impedimentos que surjan
-
Facilitar las reuniones del equipo
- Enseñar al equipo las reglas de Scrum
- Asegurar la productividad y mejora del equipo
Responsabilidades
-
Creación del incremento en conjunto
-
Llevar el registro de todo el proceso
-
Responsables de las estimaciones
-
Contabilizar el trabajo faltante a diario
Lleva adelante
-
Sprint Backlog
-
Scrum Diario
Scrum Team
Artefactos
-
Lista priorizada y secuencia de historias de usuario
-
Responsabilidad del Product Owner divide el proyecto en historias que son las que componen el Product Backlog
Product Backlog
-
Lista prevista para desarrollar o ejecutar en un Sprint
-
Primeros ítems del Product Backlog con estimación acorde en el Sprint
-
Desagregado de los ítems del Product Backlog en tareas específicas y asignadas en el Scrum Team
Sprint Backlog
-
Una HU describe una funcionalidad que será de valor para un usuario o cliente.
-
Se utiliza como medio para recoger los requerimientos del producto.
Historias de Usuario
Las HU deben definirse con las siguientes características:
-
Independiente
-
Negociable
-
Valiosa
-
Estimable
-
Pequeña(Small)
-
Testeable
Una HU debe tener como mínimo las siguientes partes:
-
Título <nombre de la historia de usuario>
-
Cómo <usuario, persona o rol>
-
Quiero <tomar esta acción/actividad>
-
Para <conseguir este beneficio/valor de negocio>
Todos los miembros del equipo comparten y entienden el significado de “terminado” para cada ítem del Product Backlog de manera transparente.
El propósito de cada Sprint es entregar incrementos de funcionalidad que potencialmente se puedan poner en producción y que se ajustan a la definición de “Terminado” actual del Equipo Scrum.
Definición de Terminado
Eventos
-
1-4 semanas
-
Cajas de tiempo que tiene un inicio y finales fijos
-
Misma duración
-
Cada nuevo Sprint comienza inmediatamente después de la finalización del Sprint previo
Sprint
-
8 horas
-
Reunión de revisión de Product Backlog para llegar acuerdos
-
Selección de común acuerdo de X cantidad de ítems del Product Backlog al Sprint Backlog
-
Estimación de ítems (generalmente en horas)
Planificación del Sprint
-
Duración 15 min
-
Cada día a la misma hora y en el mismo lugar
-
Revisión, inspección y adaptación
-
Se da respuesta a:
-
¿Qué hice ayer que ayudó al Equipo de Desarrollo a lograr el Objetivo del Sprint?
-
¿Qué haré hoy para ayudar al Equipo de Desarrollo a lograr el Objetivo del Sprint?
-
¿Veo algún impedimento que evite que el Equipo de Desarrollo o yo logremos el Objetivo del Sprint?
-
Scrum Diario
-
Duración 4 horas
-
Se realiza al finalizar el Sprint
-
Revisión de tareas terminadas
-
Información bidireccional de avance y ajuste de la dirección e importancia del Product Backlog restante
- Todos tienen visibilidad de lo que está ocurriendo y del estado del proyecto
Revisión del Sprint
-
3 horas
-
Se realiza al finalizar la reunión de "Revisión del Sprint" y antes de la siguiente reunión de "Planificación del Sprint"
-
Inspeccionar y adaptar al proceso
-
Reunión interna del Equipo Scrum para revisar cuán colaborativo y productivo es el equipo
-
Identificar obstáculos y comprometerse con acciones concretas de mejora
Retrospectiva del Sprint
Tiene 3 objetivos principales:
-
Inspeccionar cómo vivió el equipo el Sprint que acaba de terminar, en términos de: interacciones, relaciones, procesos, herramientas.
-
Identificar y ordenar los principales puntos positivos y potenciales mejoras
-
Crear un plan de acción con mejoras
Un Sprint se cancelaría si el Objetivo del Sprint llega a quedar obsoleto. Esto podría ocurrir si la compañía cambia la dirección o si las condiciones del mercado o de la tecnología cambian.
-
Se revisa lo que esté en Done y el Product Owner determina si lo terminado se acepta o no
-
Los elementos no finalizados deben ser replanificados y vuelven al Product Backlog
-
Se determina el compromiso de valor entregado sumando las HU entregadas y completas
-
Las tareas NO se cuentan como valor agregado
Cancelación del Sprint
Pruebas Ágiles
¿Qué son pruebas ágiles?
-
Es una práctica de pruebas de software que sigue los principios del desarrollo ágil de software.
-
Las metodologías ágiles no ven las pruebas de software como una fase separada, sino como parte integral del desarrollo de software al igual que la programación.
Principios de Pruebas Ágiles
-
El testing no es una fase
-
El testing hace avanzar el proyecto
-
Todo el equipo realiza pruebas
-
Reducir el tiempo para recibir retroalimentación
-
Código limpio
-
Reducir la documentación de pruebas
-
Guiado por pruebas
Niveles de Pruebas
Prueba | Objetivo | Ambiente | Método |
---|---|---|---|
Unitario | Detectar errores en los datos, lógica, algoritmos | Desarrollo | Caja Blanca |
Integración | Detectar errores de interfaces y relaciones entre componentes | Desarrollo | Caja Blanca |
Funcional | Detectar errores en la implementación de requerimientos | Desarrollo | Funcional |
Sistema | Detectar fallas en la implementación de los requerimientos | Desarrollo | Funcional |
Aceptación | Detectar fallas en la implementación del sistema | Producción | Funcional |
Técnicas de Pruebas Ágiles
Pirámides de Pruebas
Cuadrantes de Pruebas Ágiles
Automatización
de Pruebas
Todas las metodologías ágiles implican constantes iteraciones, en las cuales el código de programa se modifica constantemente.
En cada iteración, además de expandir las funcionalidades del sistema, podemos realizar refactorizaciones para optimizar funcionalidad que ya se ha desarrollado.
Herramientas para la gestión de calidad de software
Gestión de pruebas de software
-
Testlink
-
Redmine
-
Zephyr/Jira
-
Gemini
-
Hewlett Packard Quality Center (HP QC)
-
IBM Rational Quality Manager
Automatización
1. Selenium
2. Cucumber
Seguimiento de incidencias
1. Mantis
2. Bugzilla
Referencias
-
Ciclo de Vida del Software https://repository.icesi.edu.co/biblioteca_digital/bitstream/item/4083/1/Presentacion_ciclo_vida_software.pdf
-
Manifesto for Agile Software Development http://agilemanifesto.org/iso/es/manifesto.html
-
Kanban http://www.javiergarzas.com/2011/11/kanban.html
-
XP (eXtreme Programming) https://iie.fing.edu.uy/~josej/docs/XP%20-%20Jose%20Joskowicz.pdf
-
La Guía de Scrum http://www.scrumguides.org/docs/scrumguide/v1/Scrum-Guide-ES.pdf
-
Agile Testing http://www.pmoinformatica.com/2015/03/que-es-el-agile-testing.html
-
Cuadrantes Agile Testing http://www.pmoinformatica.com/2015/04/pruebas-software-agile-cuadrantes-1.html
-
Herramientas de Calidad de Software http://www.pmoinformatica.com/2015/04/herramientas-gestion-calidad-software.html
Agile Testing
By Lizet Jaramillo
Agile Testing
Agile Testing es una práctica de pruebas de software que sigue los principios del desarrollo ágil de software.
- 2,477