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

Desarrollo ágil basado en pruebas de aceptación...pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente, cliente estándar Falta

  • Upload
    others

  • View
    22

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Desarrollo ágil basado en pruebas de aceptación...pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente, cliente estándar Falta

Desarrollo ágil basado en pruebas de aceptación

Patricio Letelier

[email protected]

Page 2: Desarrollo ágil basado en pruebas de aceptación...pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente, cliente estándar Falta

Definición: Prueba de Aceptación (PA)Definición: Prueba de Aceptación (PA)Definición: Prueba de Aceptación (PA)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 pruebas de aceptación...pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente, cliente estándar Falta

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 prueba que ese código deberá satisfacer”

TDRE TDRE TDRE TDRE –––– TestTestTestTest----DrivenDrivenDrivenDriven RequirementRequirementRequirementRequirement EngineeringEngineeringEngineeringEngineering. Una interpretación más amplia, incluyendo todo el proceso de desarrollo sería:“No implementes un requisito hasta que no tengas definidas las pruebas de aceptación que ese requisito debe satisfacer”

3333

MotivaciónMotivaciónMotivaciónMotivación

Page 4: Desarrollo ágil basado en pruebas de aceptación...pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente, cliente estándar Falta

4444

TDRE, TDD a nivel de TDRE, TDD a nivel de TDRE, TDD a nivel de TDRE, TDD a nivel de PAsPAsPAsPAs

Requisitos

Análisis

Diseño deArquitectura

Diseño deMódulos

Programación

Pruebas Unitarias

Pruebas de Integración

Pruebas de Sistema

Pruebas de Aceptación

Especificación y Diseño de Pruebas Aplicación de Pruebas

TDD

TDRETest-Driven Requirements Engineering

Page 5: Desarrollo ágil basado en pruebas de aceptación...pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente, cliente estándar Falta

5555

Desarrollo basado en Desarrollo basado en Desarrollo basado en Desarrollo basado en PAsPAsPAsPAs

VersióniVersióni+1

Nuevo requisitoMejoraCorrección de defecto

Cambio en comportamiento

Expresados en términos de Pruebas de Aceptación

Tipos de cambios en el producto

Un ítem es un cambio implementado en el

producto

Page 6: Desarrollo ágil basado en pruebas de aceptación...pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente, cliente estándar Falta

Ejemplo: Requisito Reintegro

Escenarios => Pruebas Escenarios => Pruebas Escenarios => Pruebas Escenarios => Pruebas de de de de AceptaciónAceptaciónAceptaciónAceptaciónReintegro normal (suficiente saldo)Intento de reintegro con saldo insuficiente, cliente estándarFalta de ciertos tipos de billetesCancelación de operaciónAviso de no entrega de reciboFuera de servicio por falta de billetesExcedido tiempo comunicación con bancoExcedido tiempo inactividad usuario…

6666

Identificación de Pruebas de AceptaciónIdentificación de Pruebas de AceptaciónIdentificación de Pruebas de AceptaciónIdentificación de Pruebas de Aceptación

Page 7: Desarrollo ágil basado en pruebas de aceptación...pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente, cliente estándar Falta

7

Definición de Pruebas de AceptaciónDefinición de Pruebas de AceptaciónDefinición de Pruebas de AceptaciónDefinición de Pruebas de Aceptación

Estructura de una PA

NombreNombreNombreNombreCondición Condición Condición Condición

------

PasosPasosPasosPasos------

Resultado esperadoResultado esperadoResultado esperadoResultado esperado------

Ejemplo de PA

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

Cliente estándar con saldo positivoAcceder a ventana de reintegro

PasosPasosPasosPasosIntroducir cantidad mayor que el saldo

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

Page 8: Desarrollo ágil basado en pruebas de aceptación...pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente, cliente estándar Falta

8888

Gestión del Proyecto Gestión del Proyecto Gestión del Proyecto Gestión del Proyecto →→→→ Gestión del ProductoGestión del ProductoGestión del ProductoGestión del Producto

ReintegroReintegroReintegroReintegro

Ítem «Reintegro»

Requisito afectado por un ítem. Si el nodo no existe se debería crear.

Estructura deRequisitos del

Producto

Cada nodo representa una característica o requisito con cierto nivel de abstracción

Cada nodo contiene un conjunto de PAs que representan el

comportamiento del sistema respecto de dicha característica o requisito

Page 9: Desarrollo ágil basado en pruebas de aceptación...pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente, cliente estándar Falta

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

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

Reintegro normal (suficiente saldo)Configuración de monedaAdvertir comisión aplicada en otro paísIntento de reintegro con saldo insuficiente, cliente estándarFalta de ciertos tipos de billetes, según monedaCancelación de operaciónAviso de no entrega de reciboFuera de servicio por falta de billetesExcedido tiempo comunicación con bancoExcedido tiempo inactividad usuario…

9999

Mantenimiento del Mantenimiento del Mantenimiento del Mantenimiento del Software Software Software Software basado en basado en basado en basado en PAsPAsPAsPAs

Page 10: Desarrollo ágil basado en pruebas de aceptación...pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente, cliente estándar Falta

10101010

Software Software Software Software MaintenanceMaintenanceMaintenanceMaintenance basedbasedbasedbased onononon ATsATsATsATs

ReintegroReintegroReintegroReintegro

Ítem«Adaptación al nuevo

protocolo internacional»

Un ítem puede afectar a varios requisitos

Estructura de 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 pruebas de aceptación...pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente, cliente estándar Falta

11111111

Proceso de Desarrollo dirigido por Proceso de Desarrollo dirigido por Proceso de Desarrollo dirigido por Proceso de Desarrollo dirigido por PAsPAsPAsPAs

Definen ítemsDefinen ítemsDefinen ítemsDefinen ítemseeeen términosn términosn términosn términos

dddde e e e PAsPAsPAsPAs

Escribe Escribe Escribe Escribe ccccódigo ódigo ódigo ódigo para satisfacer las para satisfacer las para satisfacer las para satisfacer las

PAsPAsPAsPAs

Diseña Diseña Diseña Diseña instanciaciones y instanciaciones y instanciaciones y instanciaciones y

aplica las aplica las aplica las aplica las PAsPAsPAsPAs

Cambios en la Cambios en la Cambios en la Cambios en la estructura de estructura de estructura de estructura de requisitos y/o requisitos y/o requisitos y/o requisitos y/o

en en en en PAsPAsPAsPAs

ÍtemsÍtemsÍtemsÍtems

“Encargado de”“Encargado de”“Encargado de”“Encargado de”analizaranalizaranalizaranalizar

“Encargado de”“Encargado de”“Encargado de”“Encargado de”programarprogramarprogramarprogramar

“Encargado de”“Encargado de”“Encargado de”“Encargado de”testeartesteartesteartestear

ClienteClienteClienteCliente

Page 12: Desarrollo ágil basado en pruebas de aceptación...pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente, cliente estándar Falta

12121212

Algunos Algunos Algunos Algunos screenshotsscreenshotsscreenshotsscreenshots de TUNEde TUNEde TUNEde TUNE----UP UP UP UP ProcessProcessProcessProcess

Page 13: Desarrollo ágil basado en pruebas de aceptación...pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente, cliente estándar Falta

13131313

… Algunos … Algunos … Algunos … Algunos screenshotsscreenshotsscreenshotsscreenshots de TUNEde TUNEde TUNEde TUNE----UP UP UP UP ProcessProcessProcessProcess

Page 14: Desarrollo ágil basado en pruebas de aceptación...pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente, cliente estándar Falta

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

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

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

14141414

¿Qué resultados de I+D tenemos?

Page 15: Desarrollo ágil basado en pruebas de aceptación...pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente, cliente estándar Falta

15151515

¿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 pruebas de aceptación...pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente, cliente estándar Falta

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

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

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

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

16161616

¿Qué evidencias tenemos que esto funciona?

Page 17: Desarrollo ágil basado en pruebas de aceptación...pruebas de aceptación que ese requisito debe satisfacer” ... Intento de reintegro con saldo insuficiente, cliente estándar Falta

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

17171717

Datos de contacto