PDF de programación - Desarrollo ágil basado en pruebas de aceptación

Imágen de pdf Desarrollo ágil basado en pruebas de aceptación

Desarrollo ágil basado en pruebas de aceptacióngráfica de visualizaciones

Publicado el 9 de Abril del 2019
708 visualizaciones desde el 9 de Abril del 2019
1,5 MB
17 paginas
Creado hace 8a (23/06/2015)
Desarrollo ágil basado
en pruebas de aceptación

Patricio Letelier
[email protected]

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

Motivación
Motivación
Motivación
Motivación

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 –––– TestTestTestTest----Driven
TDRE
Driven Requirement
Requirement Engineering
Engineering. Una interpretación
TDRE
Engineering
Requirement
Driven
TDRE
Driven
Requirement
Engineering
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

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

TDRE

Requisitos

Test-Driven Requirements Engineering

Pruebas de
Aceptación

Análisis

Diseño de
Arquitectura

Pruebas de

Sistema

Pruebas de
Integración

Especificación y
Diseño de Pruebas

Diseño de
Módulos

Pruebas
Unitarias

Programación

TDD

Aplicación de Pruebas

4444

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

Cambio en

comportamiento

Un ítem es un cambio
implementado en el

producto

Versióni

Tipos de cambios
en el producto

Versióni+1

Nuevo requisito
Mejora
Corrección de defecto

Expresados en términos
de Pruebas de Aceptación

5555

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

Ejemplo: Requisito Reintegro

Escenarios => Pruebas de de de de Aceptación
Escenarios => Pruebas
Aceptación
Escenarios => Pruebas
Escenarios => Pruebas
Aceptación
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


6666

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

Estructura de una PA

Ejemplo de PA

Nombre
Nombre
Nombre
Nombre
Condición
Condición
Condición
Condición

---
---
Pasos
Pasos
Pasos
Pasos
---
---

Resultado esperado
Resultado esperado
Resultado esperado
Resultado esperado

---
---

«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 positivo
Acceder a ventana de reintegro

Pasos
Pasos
Pasos
Pasos

Introducir cantidad mayor que el saldo

Resultado esperado
Resultado esperado
Resultado esperado
Resultado esperado

Mensaje «saldo insuficiente»
Se ofrece nueva introducción

7

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

Estructura de
Requisitos del

Producto

Reintegro
Reintegro
Reintegro
Reintegro

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

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

Ítem

«Reintegro»

Cada nodo contiene un conjunto de

PAs que representan el

comportamiento del sistema respecto

de dicha característica o requisito

8888

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

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

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

Reintegro normal (suficiente saldo)
Configuración de moneda
Advertir comisión aplicada en otro país
Intento de reintegro con saldo insuficiente, cliente estándar
Falta de ciertos tipos de billetes, según moneda
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


9999

Maintenance based
Software Maintenance
Software
based onononon ATsATsATsATs
based
Maintenance
Software
Software
Maintenance
based

Estructura
de requisitos
del producto

Reintegro
Reintegro
Reintegro
Reintegro

PAs añadidas

PAs modificadas

PAs eliminadas

Un ítem puede afectar

a varios requisitos

Ítem

«Adaptación al nuevo
protocolo internacional»

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

en un nodo afectado

10101010

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

Cliente
Cliente
Cliente
Cliente

Definen ítems
Definen ítems
Definen ítems
Definen ítems
eeeen términos
n términos
n términos
n términos
dddde e e e PAsPAsPAsPAs

Ítems
Ítems
Ítems
Ítems

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

Escribe ccccódigo
Escribe
ódigo
Escribe
Escribe
ódigo
ódigo

para satisfacer las
para satisfacer las
para satisfacer las
para satisfacer las

PAsPAsPAsPAs

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

programar
programar
programar
programar

Diseña
Diseña
Diseña
Diseña

instanciaciones y
instanciaciones y
instanciaciones y
instanciaciones y

aplica las
aplica las PAsPAsPAsPAs
aplica las
aplica las

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

analizar
analizar
analizar
analizar

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

testear
testear
testear
testear

11111111

de TUNE----UP UP UP UP Process
screenshots de TUNE
Algunos screenshots
Algunos
Process
de TUNE
screenshots
Algunos
Algunos
screenshots
de TUNE
Process
Process

12121212

de TUNE----UP UP UP UP Process
screenshots de TUNE
… Algunos screenshots
… Algunos
Process
de TUNE
screenshots
… Algunos
… Algunos
screenshots
de TUNE
Process
Process

13131313

¿Qué resultados de I+D tenemos?

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

¿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.

15151515

¿Qué evidencias tenemos que esto funciona?

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 PAs
definidas 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

Datos de contacto

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
LinkedIn
Blog
Twitter

: [email protected]
: linkedin.com/in/letelier
: agilismoatwork.blogspot.com
: twitter.com/yopolt

17171717
  • Links de descarga
http://lwp-l.com/pdf15700

Comentarios de: Desarrollo ágil basado en pruebas de aceptación (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad