desarrollo ágil basado en pasiwt2.org/wp-content/uploads/2015/05/desarrollo... · pruebas de...

17
Desarrollo ágil basado en pruebas de aceptación Patricio Letelier l[email protected]

Upload: others

Post on 10-May-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Desarrollo ágil basado en PAsiwt2.org/wp-content/uploads/2015/05/Desarrollo... · pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente,

Desarrollo ágil basadoen pruebas de aceptación

Patricio Letelier

[email protected]

Page 2: Desarrollo ágil basado en PAsiwt2.org/wp-content/uploads/2015/05/Desarrollo... · pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente,

Definición: Prueba de Aceptación (PA)

“Una PA tiene como propósito demostrar al cliente el cumplimiento de

un requisito del software”

Precisando más, una PA:

Describe un escenario, compuesto por una situación del sistema

(condición de ejecución) una secuencia de pasos de uso y el

resultado alcanzado, todo ello desde la perspectiva del usuario

Puede estar asociada a requisitos funcionales o no funcionales

Un requisito tendrá una o más PAs asociadas

Las PAs cubren desde escenarios típicos/frecuentes hasta los más

excepcionales

Page 3: Desarrollo ágil basado en PAsiwt2.org/wp-content/uploads/2015/05/Desarrollo... · pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente,

Gestión de Requisitos y Testeo de Aceptación.

Métodos Ágiles … Test-Driven Development (TDD) “and beyond” …

Las pruebas deben dirigir el proceso de desarrollo.

TDD actúa a nivel de implementación a través de testeo unitario.

“No escribas código hasta que no tengas los casos de pruebaque ese código deberá satisfacer”

TDRE – Test-Driven Requirement Engineering. Una interpretaciónmás amplia, incluyendo todo el proceso de desarrollo sería:

“No implementes un requisito hasta que no tengas definidas laspruebas de aceptación que ese requisito debe satisfacer”

3

Motivación

Page 4: Desarrollo ágil basado en PAsiwt2.org/wp-content/uploads/2015/05/Desarrollo... · pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente,

4

TDRE, TDD a nivel de PAs

Requisitos

Análisis

Diseño deArquitectura

Diseño deMódulos

Programación

PruebasUnitarias

Pruebas deIntegración

Pruebas deSistema

Pruebas deAceptación

Especificación yDiseño de Pruebas Aplicación de Pruebas

TDD

TDRETest-Driven Requirements Engineering

Page 5: Desarrollo ágil basado en PAsiwt2.org/wp-content/uploads/2015/05/Desarrollo... · pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente,

5

Desarrollo basado en PAs

VersióniVersióni+1

Nuevo requisitoMejoraCorrección de defecto

Cambio encomportamiento

Expresados en términosde Pruebas de Aceptación

Tipos de cambiosen el producto

Un ítem es un cambioimplementado en el

producto

Page 6: Desarrollo ágil basado en PAsiwt2.org/wp-content/uploads/2015/05/Desarrollo... · pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente,

Ejemplo: Requisito Reintegro

Escenarios => Pruebas de Aceptación

Reintegro normal (suficiente saldo)

Intento de reintegro con saldo insuficiente, cliente estándar

Falta de ciertos tipos de billetes

Cancelación de operación

Aviso de no entrega de recibo

Fuera de servicio por falta de billetes

Excedido tiempo comunicación con banco

Excedido tiempo inactividad usuario

6

Identificación de Pruebas de Aceptación

Page 7: Desarrollo ágil basado en PAsiwt2.org/wp-content/uploads/2015/05/Desarrollo... · pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente,

7

Definición de Pruebas de Aceptación

Estructura de una PA

NombreCondición

------

Pasos------

Resultado esperado------

Ejemplo de PA

«Intento de reintegro con saldo insuficiente,cliente estándar»Condición

Cliente estándar con saldo positivoAcceder a ventana de reintegro

PasosIntroducir cantidad mayor que el saldo

Resultado esperadoMensaje «saldo insuficiente»Se ofrece nueva introducción

Page 8: Desarrollo ágil basado en PAsiwt2.org/wp-content/uploads/2015/05/Desarrollo... · pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente,

8

Gestión del Proyecto Gestión del Producto

Reintegro

Ítem«Reintegro»

Requisito afectado porun ítem. Si el nodo noexiste se debería crear.

Estructura deRequisitos del

Producto

Cada nodo representauna característica orequisito con ciertonivel de abstracción

Cada nodo contiene un conjunto dePAs que representan el

comportamiento del sistema respectode dicha característica o requisito

Page 9: Desarrollo ágil basado en PAsiwt2.org/wp-content/uploads/2015/05/Desarrollo... · pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente,

Ejemplo: Ítem «Adaptación a nuevo protocolo internacional». Esta es una mejoraque afectará a varios nodos, uno de ellos el de Reintegro.

Cambios en el requisito Reintegro(2 nuevas PAs, 1 PA modificada)

Reintegro normal (suficiente saldo)Configuración de monedaAdvertir comisión aplicada en otro país

Intento de reintegro con saldo insuficiente, cliente estándarFalta de ciertos tipos de billetes, según moneda

Cancelación de operaciónAviso de no entrega de reciboFuera de servicio por falta de billetesExcedido tiempo comunicación con bancoExcedido tiempo inactividad usuario…

9

Mantenimiento del Software basado en PAs

Page 10: Desarrollo ágil basado en PAsiwt2.org/wp-content/uploads/2015/05/Desarrollo... · pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente,

10

Software Maintenance based on ATs

Reintegro

Ítem«Adaptación al nuevo

protocolo internacional»

Un ítem puede afectara varios requisitos

Estructurade requisitosdel producto

El ítem puede añadir,modificar o eliminar PAs

en un nodo afectado

PAs añadidas

PAs modificadas

PAs eliminadas

Page 11: Desarrollo ágil basado en PAsiwt2.org/wp-content/uploads/2015/05/Desarrollo... · pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente,

11

Proceso de Desarrollo dirigido por PAs

Definen ítemsen términos

de PAs

Escribe códigopara satisfacer las

PAs

Diseñainstanciaciones y

aplica las PAs

Cambios en laestructura derequisitos y/o

en PAs

Ítems

“Encargado de”analizar

“Encargado de”programar

“Encargado de”testear

Cliente

Page 12: Desarrollo ágil basado en PAsiwt2.org/wp-content/uploads/2015/05/Desarrollo... · pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente,

12

Algunos screenshots de TUNE-UP Process

Page 13: Desarrollo ágil basado en PAsiwt2.org/wp-content/uploads/2015/05/Desarrollo... · pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente,

13

… Algunos screenshots de TUNE-UP Process

Page 14: Desarrollo ágil basado en PAsiwt2.org/wp-content/uploads/2015/05/Desarrollo... · pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente,

TUNE-UP Process: Metodología y herramienta de apoyopara gestión ágil de proyectos y equipos de trabajo.http://www.tuneupprocess.com

TDRE: Método para desarrollo ágil centrado en laspruebas de aceptación (incluido en TUNE-UP Process).

Método y herramienta de apoyo para implantación deprácticas ágiles: Agile Roadmap+.http://agile-roadmap.tuneupprocess.com

14

¿Qué resultados de I+D tenemos?

Page 15: Desarrollo ágil basado en PAsiwt2.org/wp-content/uploads/2015/05/Desarrollo... · pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente,

15

¿Cómo pueden ayudar a las empresas a mejorar?

Ventajas de un enfoque ágil basado en PAs (los requisitos se

especifican básicamente como PAs).

Se evita el esfuerzo invertido en derivar de PAs a partir de

requisitos (tradicionales).

Se facilita el mantenimiento del producto y de su

especificación de requisitos.

La validación con el cliente basada acordar PAs puede ser

más detallada y precisa.

La granuralidad ofrecida por las PAs favorece las tareas

de estimación, planificación y seguimiento.

La satisfacción de las PAs permite al programador contar

con un criterio preciso para finalizar su trabajo.

Page 16: Desarrollo ágil basado en PAsiwt2.org/wp-content/uploads/2015/05/Desarrollo... · pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente,

Más de 15 años aplicando y refinando nuestro enfoque yherramienta TUNE-UP Process.

Aplicación de TDRE en más de 10 productos industriales. El másrepresentativo es un ERP donde tenemos más de 15.000 PAsdefinidas y más de 4.000 pruebas automatizadas asociadas adichas PAs.

Consultoría y apoyo a la implantación de prácticas ágiles en másde 20 empresas (en España, Chile y Paraguay).

Aplicación del enfoque y herramienta en dos asignaturas deinformática. Unos 100 alumnos cada año trabajando en equiposde hasta 8 integrantes.

16

¿Qué evidencias tenemos que esto funciona?

Page 17: Desarrollo ágil basado en PAsiwt2.org/wp-content/uploads/2015/05/Desarrollo... · pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente,

Patricio Letelier Torres

Departamento de Sistemas Informáticos y Computación (DSIC)

Universidad Politécnica de Valencia (UPV)

Despacho: 3D03 (Tercer Piso, Edif. DSIC)

Camino de Vera s/n

46022 Valencia, España

Email : [email protected]

LinkedIn : linkedin.com/in/letelier

Blog : agilismoatwork.blogspot.com

Twitter : twitter.com/yopolt

17

Datos de contacto