Introducción al taller
Esta lección es un taller práctico. Aplicarás todo lo aprendido en el Módulo 3 para diseñar test suites para features realistas. Cada ejercicio simula un escenario real donde debes:
- Analizar los requisitos de la feature
- Seleccionar técnicas apropiadas
- Derivar test cases sistemáticamente
- Documentar tu justificación y cobertura
Ejercicio 1: Motor de precios de ride-sharing
Descripción:
Una app de ride-sharing calcula tarifas usando estas reglas:
Tarifa base: $2.50 Por milla: $1.75 (standard), $2.50 (premium), $3.25 (luxury) Por minuto: $0.35 (standard), $0.50 (premium), $0.65 (luxury) Tarifa mínima: $7.00 (standard), $12.00 (premium), $18.00 (luxury)
Surge pricing: Multiplicador de demanda 1.0x a 3.0x. No aplica a viajes programados 2+ horas de anticipación.
Descuentos: Primer viaje (50%, máx $10), código promo, descuento loyalty (10% con 50+ viajes). Solo uno aplica (el mayor valor gana).
Tasas: Airport $5, peajes al costo, booking fee $2 (exento para loyalty).
Restricciones: Tarifa mínima $0, máximo $500, cancelación $5 si conductor ya despachado.
Guía de solución
Selección de técnicas:
- EP: Tipos de vehículo, tipos de descuento, niveles de surge
- BVA: Boundaries de surge (1.0, 3.0), umbral loyalty (49/50 viajes), anticipación (1h59m/2h), tarifas mínimas, cap $500, cap descuento $10
- Tablas de decisión: Prioridad de descuentos
- Domain analysis: Distancia x tiempo x surge
- State transitions: Ciclo de viaje
Tests clave:
| # | Categoría | Técnica | Test |
|---|---|---|---|
| 1 | Cálculo base | EP | Standard, 5 millas, 15 min → $16.50 |
| 2 | Mínimo | BVA | Viaje muy corto → al menos $7.00 |
| 3 | Boundary surge | BVA | 1.0x, 1.01x, 3.0x, 3.01x |
| 4 | Anticipación | BVA | 1h59m (surge aplica) vs. 2h00m (exento) |
| 5 | Prioridad descuento | Tabla de decisión | Tres descuentos califican → mayor gana |
| 6 | Cap primer viaje | BVA | 50% de $25 = $12.50 → cap en $10 |
| 7 | Cap tarifa | BVA | Luxury, larga distancia, max surge → $500 |
| 8 | Tarifa negativa | BVA | Promo grande en viaje barato → mínimo $0 |
Ejercicio 2: Sistema de citas médicas
Descripción:
Un portal de salud permite agendar citas:
- Lunes-Viernes, 8:00-17:00, slots de 30 minutos
- Citas del mismo día solo si se reservan antes de las 14:00
- Máximo 3 meses de anticipación, máximo 2 citas activas
- Follow-up: 7-90 días después de visita original
- Paciente nuevo: slot de 60 minutos; recurrente: 30 min; urgente: usa slots de emergencia
- Cancelación: 4+ horas antes de la cita
Guía de solución
Técnicas: State transitions para ciclo de cita, BVA para tiempos, EP para tipos de paciente, tablas de decisión para elegibilidad, combinatorio para combinaciones.
Tests de boundary clave:
- Reservar a las 13:59 para mismo día vs. 14:00 (rechazado)
- 3 meses exactos vs. 3 meses + 1 día
- Follow-up día 6/7/90/91
- Cancelar 3h59m antes vs. 4h00m
Ejercicio 3: Pipeline de moderación de contenido
Descripción:
Plataforma social con pipeline de moderación:
- Tipos: texto, imágenes, videos, comentarios, bios
- Checks: spam, profanidad, clasificación de imagen, PII, copyright
- Reglas: confianza >=95% auto-rechazar, 70-94% review humano, <70% auto-aprobar
- Profanidad severa: siempre rechazar
- PII detectada: siempre review
- Apelación: una vez por contenido rechazado
Guía de solución
Tabla de decisión core:
| Confianza | Profanidad | PII | Acción |
|---|---|---|---|
| >= 95 | Cualquiera | Cualquiera | Auto-rechazar |
| 70-94 | No severa | No | Review humano |
| 70-94 | Severa | Cualquiera | Auto-rechazar |
| < 70 | Ninguna/leve | No | Auto-aprobar |
| < 70 | Ninguna/leve | Sí | Review humano |
| < 70 | Severa | Cualquiera | Auto-rechazar |
Tests de boundary:
- Confianza 70 exacto: review (no aprobar)
- Confianza 95 exacto: rechazar (no review)
- Cuenta con 7 días exactos: prioridad media (no baja)
- Segunda apelación: rechazada
Tests de state transition:
- Contenido pasa los 5 checks → aprobado
- Rechazado → apelado → revertido a aprobado
- Rechazado → apelado → sostenido → sin más apelación
Produciendo un documento profesional de test design
Para cada ejercicio, tu documento debe incluir:
1. Análisis de la feature
- Resumen de comportamientos clave
- Ambigüedades o asunciones identificadas
2. Justificación de selección de técnicas
3. Tabla de test cases
| ID | Técnica | Categoría | Input | Resultado esperado | Prioridad |
|---|---|---|---|---|---|
| TC-001 | BVA | Boundary surge | surge=3.0x | Aplicado al máximo | Alta |
4. Análisis de cobertura
- Requisitos cubiertos / totales
- Brechas identificadas y riesgos
5. Riesgos y asunciones
Puntos clave
- El test design del mundo real requiere combinar múltiples técnicas para una sola feature
- Siempre empieza analizando la feature y seleccionando técnicas antes de escribir tests
- Documenta la justificación de selección de técnicas
- Los requisitos ambiguos son comunes — documenta asunciones y testea ambas interpretaciones
- La práctica de taller es la forma más rápida de construir intuición de test design
- Un documento profesional comunica no solo QUÉ testeaste sino POR QUÉ elegiste ese enfoque