¿Qué Es Testing Basado en Checklists?
Testing basado en checklists usa listas de alto nivel de items a probar en vez de test cases detallados paso a paso. Cada item recuerda al tester qué verificar sin prescribir cómo verificarlo, dando flexibilidad a los testers experimentados mientras se asegura que nada importante se pierda.
Checklists vs. Test Cases Detallados
| Aspecto | Checklist | Test Case Detallado |
|---|---|---|
| Formato | Puntos breves | Paso a paso con resultados esperados |
| Tiempo de creación | Minutos | Horas |
| Flexibilidad | Alta — tester decide cómo probar | Baja — pasos exactos prescritos |
| Reproducibilidad | Menor — depende del skill del tester | Mayor — cualquiera puede seguirlo |
| Mantenimiento | Fácil de actualizar | Costoso de mantener |
| Mejor para | Testers experimentados, features cambiantes | Flujos críticos, compliance regulatorio |
Cuándo Usar Checklists
Buena opción:
- Smoke testing y sanity checks
- Equipo experimentado con conocimiento del dominio
- Features que cambian rápidamente
- Guía de testing exploratorio
- Testing de regresión del sprint
Mala opción:
- Testing regulatorio o de compliance (necesita pasos documentados)
- Testers novatos que necesitan guía detallada
- Creación de tests automatizados (necesita pasos y datos exactos)
Anatomía de un Buen Checklist
Un item de checklist debe ser:
- Conciso: Una línea, una verificación
- Accionable: Claro qué verificar
- Independiente: Cada item puede verificarse por separado
- Priorizado: Items más críticos primero
Malo: “Probar el login” (muy vago) Bueno: “Login con credenciales válidas muestra dashboard” (claro, verificable)
Ejemplo: Checklist de Aplicación Web
## Login
- [ ] Credenciales válidas → dashboard mostrado
- [ ] Password inválido → mensaje de error, sin pista de lockout
- [ ] Username/password vacíos → error de validación
- [ ] SQL injection en campo username → sanitizado apropiadamente
- [ ] Cookie de sesión tiene flags Secure y HttpOnly
- [ ] "Recuérdame" persiste sesión por duración especificada
## Navegación
- [ ] Todos los links del menú llevan a páginas correctas
- [ ] Breadcrumbs muestran ruta correcta
- [ ] Botón atrás funciona como se espera
- [ ] Acceso por deep link funciona cuando está logueado
- [ ] Deep link redirige a login cuando no está autenticado
## Formularios
- [ ] Campos requeridos muestran validación al enviar vacío
- [ ] Límites de longitud de campos aplicados
- [ ] Caracteres especiales manejados (sin XSS)
- [ ] Formulario preserva datos en error de validación
- [ ] Botón enviar deshabilitado durante procesamiento
Construyendo un Checklist desde Cero
Estrategias Avanzadas de Checklists
Checklists Específicos por Dominio
Checklist E-Commerce (Items Clave):
- Producto muestra precio correcto en todas las monedas
- Total del carrito se actualiza al cambiar cantidad
- Códigos de descuento se aplican y muestran correctamente
- Procesamiento de pago maneja todos los métodos soportados
- Email de confirmación se envía con detalles correctos
- Inventario decrementa después de orden exitosa
Checklist de API:
- Todos los endpoints retornan status codes correctos
- Schema de response coincide con documentación
- Autenticación requerida para endpoints protegidos
- Rate limiting aplicado
- Paginación funciona con edge cases (page 0, última + 1)
- Responses de error incluyen mensajes significativos
Checklist de App Móvil:
- App maneja cambios de orientación sin perder estado
- Transiciones background/foreground preservan datos
- Modo offline muestra mensajería apropiada
- Push notifications llegan y navegan correctamente
- App maneja denegación de permisos del OS
Checklists por Capas
Capa 1: Smoke (5 min) — App carga, login funciona, feature principal accesible Capa 2: Core (30 min) — Flujos de login completos, CRUD, workflows clave Capa 3: Completo (2+ horas) — Validaciones, cross-browser, accesibilidad, performance, seguridad
Evolucionando tus Checklists
| Acción | Cuándo |
|---|---|
| Agregar item | Nuevo defecto que el checklist no cubrió |
| Eliminar item | Feature removido o item pasa consistentemente |
| Modificar item | Requerimiento cambió |
| Reordenar | Prioridad cambió basado en riesgo |
Ejercicio: Crea un Checklist de Testing
Escenario: Eres el único QA probando: Página de Configuración de Perfil con: editar nombre/email/bio, cargar avatar, cambiar password, 2FA, eliminar cuenta, preferencias de notificaciones.
Tarea: Crea un checklist con al menos 20 items, organizados por área funcional.
Pista
Organiza por feature: Edición de Perfil, Avatar, Password, 2FA, Eliminación de Cuenta, Notificaciones. No olvides: seguridad, accesibilidad, móvil, estados de error y diálogos de confirmación.
Solución
## Edición de Perfil (6 items)
- [ ] Actualizar nombre → guardado y mostrado
- [ ] Caracteres especiales en nombre → manejados
- [ ] Cambio de email requiere verificación
- [ ] Bio respeta límite de caracteres
- [ ] Campos requeridos vacíos → errores de validación
- [ ] XSS en bio sanitizado en display
## Avatar (5 items)
- [ ] Subir imagen válida → mostrada correctamente
- [ ] Imagen sobredimensionada → mensaje de error
- [ ] Archivo no-imagen → rechazado
- [ ] Eliminar avatar → avatar por defecto
- [ ] Avatar en todos los tamaños (header, perfil, comentarios)
## Password (4 items)
- [ ] Cambio con password actual correcto → éxito
- [ ] Cambio con password incorrecto → error
- [ ] Nuevo password cumple política
- [ ] Cambio dispara notificación email
## 2FA (4 items)
- [ ] Habilitar → QR code, setup completa
- [ ] Login requiere código 2FA
- [ ] Código inválido → rechazado
- [ ] Deshabilitar requiere confirmación de password
## Eliminación de Cuenta (4 items)
- [ ] Muestra diálogo de confirmación
- [ ] Requiere re-ingreso de password
- [ ] Eliminación es permanente
- [ ] Cancelación vuelve sin cambios
## Transversal (3+ items)
- [ ] Todo funciona en viewport móvil
- [ ] Navegación por teclado
- [ ] Advertencia de cambios sin guardar
Tips de Profesional
- Empieza con historial de defectos. Los bugs pasados de tu equipo son la mejor fuente de items de checklist.
- Mantén checklists bajo 50 items. Listas más largas causan fatiga y se saltan items.
- Usa checklists como cobertura mínima, no máxima. Testers experimentados deben explorar más allá.
- Versiona tus checklists. Almacénalos junto al código. Registra cuándo y por qué se agregaron items.
- Combina checklists con testing basado en sesiones. Usa un checklist para guiar una sesión exploratoria con timeboxing.