Está en la página 1de 26

Cuadrantes de las Pruebas Ágiles

Perspectiva de negocio
Automatizadas Manuales
y manuales
Pruebas funcionales Pruebas Exploratorias
Ejemplos Pruebas de Usabilidad
Pruebas de Historias Pruebas de Aceptación

Evalúan el Producto
Guía el desarrollo

Prototipos de Usuario (UAT)


Simulaciones
Q2 Q3
Q1 Q4
Pruebas de Rendimiento
Pruebas Unitarias (TDD) Pruebas de Carga
Pruebas de Componentes Pruebas de Seguridad
Atributos de Calidad
Automatizadas Herramientas
Perspectiva tecnológica

Agile Testing Quadrant by Brian Marick

Preparado por: Guino Henostroza - @guino


Cuadrantes de las Pruebas Ágiles
• Ayudan a responder a la pregunta:
¿Hemos considerado todos los diferentes tipos de pruebas
que se necesitan para poder entregar valor de negocio?
• El lado izquierdo trata acerca de prevenir los defectos antes y
durante la codificación
• El lado derecho trata acerca de encontrar defectos y
descubrir características faltantes
• La mitad superior expone las pruebas al negocio y son
entendidas por él.
• La mitad inferior es sobre las pruebas internas al equipo no
legible al negocio pero interesado en los resultados.

Preparado por: Guino Henostroza - @guino


Cuadrante 1

Perspectiva de negocio

Pruebas funcionales Pruebas Exploratorias


Ejemplos Pruebas de Usabilidad
Pruebas de Historias Pruebas de Aceptación

Evalúan el Producto
Guía el desarrollo

Prototipos de Usuario (UAT)


Simulaciones
Q2 Q3
Q1 Q4
Pruebas Unitarias
Pruebas de Rendimiento
Lo construimos bien? Pruebas de Carga
TDD Pruebas de Seguridad
Automatizado Atributos de Calidad
(frameworks xUnit)
Perspectiva tecnológica

Preparado por: Guino Henostroza - @guino


Cuadrante 1 – ¿Por qué pruebas unitarias?

Entender lo que se va a construir


– Colaborando con otros roles

Documentación – Las pruebas documentan el comportamiento del


código (Especificación Ejecutable)

Preparado por: Guino Henostroza - @guino


Cuadrante 1 – ¿Por qué pruebas unitarias?

Diseñar las unidades - Descomponer el


problema en unidades que sean
“testeables” independientemente.
Desacoplamiento usando interfaces

Protección de Regresión – Una


prueba unitaria debe fallar y
señalar qué unidad falló y por qué

Preparado por: Guino Henostroza - @guino


Cuadrante 1

Test Driven Development (TDD) - El código


es diseñado naturalmente para testeabilidad.
La calidad interna más alta posible. Código
mantenible.

Minimiza el número de bugs que


se capturan tarde – El Tester se
enfoca en encontrar bugs con
escenarios complejos (no happy
path), o funcionalidad de negocio
omitida.

Preparado por: Guino Henostroza - @guino


Prueba Unitaria Automatizada

2-7 Preparado por: Guino Henostroza - @guino


Cuadrante 1
Las pruebas unitarias/componentes se ejecutan en la integración continua-
Feedback continuo, pruebas de regresión con cada check in. Código estable

Preparado por: Guino Henostroza - @guino


Flujo Típico de la Integracion Continua
• Contenido contenido

FEEDBACK CONTINUO. CÓDIGO ESTABLE

Preparado por: Guino Henostroza - @guino


Cuadrante 2

Perspectiva de negocio

Pruebas funcionales Pruebas Exploratorias


Ejemplos Pruebas de Usabilidad
Pruebas de Historias Pruebas de Aceptación

Evalúan el Producto
Guía el desarrollo

Prototipos de Usuario (UAT)


Simulaciones
Q2 Q3
Q1 Q4
Pruebas de Rendimiento
Pruebas Unitarias (TDD) Pruebas de Carga
Pruebas de Componentes Pruebas de Seguridad
Atributos de Calidad

Perspectiva tecnológica
Cuadrante 2 – Refinamiento iterativo de historias

Historia: Titular de la cuenta realiza Breve descripción de una funcionalidad deseada


operaciones con dinero en efectivo

Historia: Titular de la cuenta


deposita dinero en efectivo División de la historia en
tamaños apropiados (small)
Historia: Titular de la cuenta
retira dinero en efectivo

- Para retirar debe contar con saldo suficiente Criterios de Aceptación


- Solo puede retirar con una tarjeta activa

E1: Cuenta tiene fondos suficientes Escenarios

Dado que el saldo de la cuenta es <saldo>


Cuando el titular de la cuenta requiera <requerido>
Ejemplos
Entonces el cajero debe dispensar <retirado>
Y el saldo de la cuenta debe ser <nuevosaldo>
Pruebas |saldo |requerido|retirado| nuevo saldo|
|100 |20 |20 | 80 |
Cuadrante 2 – Las pruebas conducen el desarrollo
Dado que el saldo de la cuenta es <saldo>
Cuando el titular de la cuenta requiera <requerido>
Entonces el cajero debe dispensar <retirado>
Y el saldo de la cuenta debe ser <nuevosaldo>

|saldo |requerido|retirado| nuevo saldo|


|100 |20 |20 | 80 |

Pruebas externas

Pruebas internas
Feature: Titular de la cuenta retira dinero en
efectivo
Scenario: Cuenta tiene fondos suficientes
Steps:
Dado que el saldo de la cuenta es 100
Cuando el titular de la cuenta requiera 20
Entonces el cajero debe dispensar 20
Y el saldo de la cuenta debe ser 80
Cuadrante 2 – Construya/Pruebe por tajadas

Slice Entrega
1 Happy Path
La cuenta tiene fondos suficientes, retira dinero
Probar/obtener feedback
2 Condición adicional
La cuenta no tiene fondos suficientes
Probar/obtener feedback
3 Condición adicional
La tarjeta se encuentra bloqueada
Probar/obtener feedback
4 Condición adicional
El cajero no cuenta con fondos suficientes
Probar/obtener feedback

Sprint
1 2 3 4
Cuadrante 3

Perspectiva de negocio

Pruebas funcionales Pruebas Exploratorias


Ejemplos Pruebas de Usabilidad
Pruebas de Historias Pruebas de Aceptación

Evalúan el Producto
Guía el desarrollo

Prototipos de Usuario (UAT)


Simulaciones
Q2 Q3
Q1 Q4
Pruebas de Rendimiento
Pruebas Unitarias (TDD) Pruebas de Carga
Pruebas de Componentes Pruebas de Seguridad
Atributos de Calidad

Perspectiva tecnológica

Preparado por: Guino Henostroza - @guino


Cuadrante 3
• Recrea la experiencia real del usuario
• Aprender conforme se prueba
• Revisiones de iteración
• Construir confianza
• Iteraciones rápidas de feedback
• Demos informales
• Pruebas exploratorias con el usuario
• Aun en código no finalizado

Preparado por: Guino Henostroza - @guino


Pruebas de Escenarios
• Prueba basada en historias coherentes de cómo se usara el
software, creíble, compleja y fácil de evaluar.

La persona quiere lograr ver el informe. ¿Cómo lo haría? Como lo hará


las siguientes veces?

Si inicio sesión como usuario con derechos de administrador y navego a la


sección de informes, el informe de inicio de sesión de usuario está disponible, se
puede ejecutar y genera datos correctos para el intervalo de fechas que utilizo.

Si me identifico como un usuario que no es administrador pero que tiene


derechos de administrador (por ejemplo, un superusuario) podré ver y utilizar el
informe de inicio de sesión de usuario.

Piensa en casos desafiantes que reflejen el uso real, cuál sería el


comportamiento?
2 - 16 Preparado por: Guino Henostroza - @guino
Pruebas Exploratorias
Como usuario, quiero actualizar mi
información personal en mi perfil para que
mi perfil público se mantenga actualizado.

“Explore la edición de perfiles con


ataques de inyección sql y javascript para
descubrir vulnerabilidades de seguridad”

“Explorar la edición de perfiles con


diferentes tipos de usuarios para
descubrir las interacciones entre la
edición de perfiles y los roles”

2 - 17 Preparado por: Guino Henostroza - @guino


Pruebas de Usabilidad
• Prueba de Personas
• Podemos probar el mismo escenario como cada persona lo haría y ver las
diferentes experiencias que pueden encontrar.
Diferentes niveles de experiencia y necesidades en

Nancy
(Novato)
Una persona de la tercera edad que es nueva en las compras
una aplicación de retail por internet

por Internet y está nerviosa por el robo de identidad.

Percy
(Hacker)
Busca formas de engañar a la página de pago.

Fernando
(Ejecutivo)
Hace todas sus compras en línea y envía regalos
a todos sus clientes a nivel nacional

Julia
(Negociadora)
Quién está buscando las mejores ofertas

2 - 18 Preparado por: Guino Henostroza - @guino


Pruebas de Usabilidad
• Prueba de Personas
• Otra técnica podría ser tomar un personaje de ficción o celebridad famosa e
imaginarse como ellos usarían nuestra aplicación.

Podrá el ex-presidente Kuczynski navegar


por nuestro proceso de compra?

Como Pedro Picapiedra buscaría el producto


que quiere?

2 - 19 Preparado por: Guino Henostroza - @guino


Pruebas de Usabilidad
• Prueba de Personas
• También se podrían definir únicamente roles de usuario novato, intermedio
y experto a medida que se explora la aplicación.

¿Pueden los usuarios averiguar qué se


supone que deben hacer sin instrucciones?

Algunas aplicaciones son complejas y no tienen por qué ser intuitivas


para un usuario novato.

2 - 20 Preparado por: Guino Henostroza - @guino


Pruebas de Usabilidad
• Evaluación Heurística
• Usando Heurísticas de Usabilidad

https://www.nngroup.com/articles/ten-usability-heuristics/

2 - 21 Preparado por: Guino Henostroza - @guino


Pruebas de Usabilidad
• Pruebas basadas en
Tareas con Usuarios

TAREAS NO EXPLICITAS
“Muéstrame qué harías si
decidieras comprar unos
zapatos”

META CLARA PARA EL


USUARIO
“Busca un alojamiento
por menos de 100
dólares la noche”

2 - 22 Preparado por: Guino Henostroza - @guino


Cuadrante 4

Perspectiva de negocio

Pruebas funcionales Pruebas Exploratorias


Ejemplos Pruebas de Usabilidad
Pruebas de Historias Pruebas de Aceptación

Evalúan el Producto
Guía el desarrollo

Prototipos de Usuario (UAT)


Simulaciones
Q2 Q3
Q1 Q4
Pruebas de Rendimiento
Pruebas Unitarias (TDD) Pruebas de Carga
Pruebas de Componentes Pruebas de Seguridad
Atributos de Calidad (…)

Perspectiva tecnológica

Preparado por: Guino Henostroza - @guino


Cuadrante 4 – Retos de este tipo de pruebas

Requiere de Complejidad del


Puede necesitar
Testers entorno y la
ciclos de prueba
especializados configuración de
de larga
la herramienta
duración

Los defectos Defectos difíciles


Puede requerir pueden afectar de descubrir y
cambios en la los cronogramas difíciles de
arquitectura de liberación reproducirse

Preparado por: Guino Henostroza - @guino


Cuadrante 4 - Pruebas y Atributos de Calidad
Seguridad Mantenibilidad
• Vulnerabilidad • Correctivo
• Penetración • Perfectivo
• Ethical Hacking • Adaptativo

Rendimiento Compatibilidad
• Carga • Sistemas Operativos
• Stress • Navegadores
• Escalabilidad • Dispositivo Móvil

Confiabilidad Portabilidad
• Disponibilidad • Instalabilidad
• Recuperabilidad • Reemplazabilidad
• Tolerancia a fallos • Adaptabilidad

Preparado por: Guino Henostroza - @guino


Cuadrante 4 – Ciclo de las pruebas
• No existe una única estrategia
• Probar los atributos de calidad (NFR) lo más temprano posible
• Algunas pruebas podrían realizarse a nivel de release

Preparado por: Guino Henostroza - @guino

También podría gustarte