Por Que Importa la Calidad de los Test Cases
Un test case es tan bueno como su capacidad de ser ejecutado por otra persona. Si un colega no puede seguir tu test case y obtener el mismo resultado, el test case fallo su proposito — sin importar si el software pasa o falla.
Test cases pobres llevan a:
- Resultados inconsistentes — diferentes testers interpretan pasos de forma diferente
- Tiempo desperdiciado — testers gastan tiempo descifrando que significa el case
- Falsa confianza — resultados esperados vagos facilitan marcar tests como “pasados” incorrectamente
- Carga de mantenimiento — cases poco claros son mas dificiles de actualizar
Anatomia de un Test Case
Cada test case debe contener estos elementos:
Test Case ID
Un identificador unico para tracking y referencia.
Ejemplos: TC-LOGIN-001, TC-CART-015, AUTH-TC-003
Titulo
Una oracion concisa pero descriptiva que explica exactamente que verifica el test.
Malos titulos:
- “Test login” — demasiado vago
- “Login” — no es una oracion
- “Verificar que la funcionalidad de login funciona correctamente” — demasiado generico
Buenos titulos:
- “Verificar que usuario con email y password validos es redirigido al dashboard despues del login”
- “Verificar que el login falla con mensaje de error cuando el password es incorrecto”
- “Verificar que la cuenta se bloquea despues de 5 intentos consecutivos fallidos”
El patron: Verificar que [actor] [accion] [resultado esperado] cuando [condicion]
Precondiciones
Declara todo lo que debe ser verdadero antes de que el test pueda comenzar.
Ejemplos:
- Cuenta de usuario existe con email
test@example.comy passwordValidPass123! - Usuario esta en la pagina de login (
/login) - Usuario no esta actualmente logueado
- La base de datos contiene al menos 3 productos en la categoria “Electronics”
Pasos del Test
Acciones numeradas y atomicas que el tester ejecuta. Cada paso debe describir una accion.
Malos pasos:
1. Ir al sitio y loguearse con credenciales validas y navegar a configuracion
Buenos pasos:
1. Navegar a https://app.example.com/login
2. Ingresar "test@example.com" en el campo Email
3. Ingresar "ValidPass123!" en el campo Password
4. Hacer click en el boton "Sign In"
Resultados Esperados
Que deberia pasar despues de cada paso o grupo de pasos. Se especifico y medible.
Mal resultado esperado:
- “Login funciona correctamente”
Buenos resultados esperados:
- “Usuario es redirigido a
/dashboard” - “Mensaje de bienvenida muestra: ‘Hello, John!’”
- “Cookie de sesion se crea con expiracion de 30 minutos”
Prioridad
Clasificacion de importancia: Critical, High, Medium, Low.
Test Data
Valores especificos usados en el test. Listarlos explicitamente.
Criterios de Calidad
Usa el checklist ATOMIC:
- Accurate — Prueba exactamente lo que dice probar
- Traceable — Vinculado a un requisito, user story o bug
- One focus — Prueba un comportamiento especifico
- Measurable — Resultados esperados verificables objetivamente
- Independent — No depende de otros test cases
- Complete — Todos los pasos y datos necesarios incluidos
Buenos vs Malos Test Cases
Mal test case:
Titulo: Test carrito de compras
Pasos:
1. Agregar items al carrito
2. Revisar carrito
Esperado: Carrito funciona correctamente
Buen test case:
Titulo: Verificar que agregar producto a carrito vacio muestra contador como 1
Precondiciones:
- Usuario esta logueado
- Carrito esta vacio
- Producto "Wireless Mouse" (SKU: WM-001, Precio: $29.99) existe
Pasos:
1. Navegar a la pagina del producto "Wireless Mouse" (SKU: WM-001)
2. Hacer click en boton "Add to Cart"
3. Observar el icono del carrito en el header
Resultados Esperados:
1. Pagina del producto carga con detalles correctos
2. Toast de exito aparece: "Wireless Mouse added to cart"
3. Icono del carrito muestra badge con numero "1"
Ejercicio: Reescribe Test Cases Malos
Reescribe los siguientes test cases para cumplir con los criterios de calidad ATOMIC.
Mal test case 1:
Titulo: Test reset de password
Pasos: Resetear el password
Esperado: Deberia funcionar
Mal test case 2:
Titulo: Verificar busqueda
Pasos:
1. Buscar algo
2. Ver resultados
Esperado: Resultados deben ser correctos
Solucion
Test case 1 reescrito:
Titulo: Verificar que usuario recibe email de reset de password dentro de 60 segundos despues de solicitarlo
Precondiciones:
- Cuenta de usuario existe con email test@example.com
- Usuario esta en la pagina de login
- Bandeja de entrada accesible
Pasos:
1. Hacer click en link "Forgot Password?" en pagina de login
2. Ingresar "test@example.com" en campo de email
3. Hacer click en boton "Send Reset Link"
4. Revisar bandeja de entrada de test@example.com
Resultados Esperados:
1. Pagina de forgot password abre con campo de email
2. Direccion de email aceptada (sin error de validacion)
3. Mensaje de exito: "Reset link sent to your email"
4. Email de "noreply@app.com" recibido con asunto "Password Reset Request" dentro de 60 segundos con link de reset unico.
Test case 2 reescrito:
Titulo: Verificar que busqueda por nombre de producto existente retorna resultados ordenados por relevancia
Precondiciones:
- BD contiene productos: "Wireless Mouse", "Wireless Keyboard", "Wired Mouse"
- Usuario esta en la homepage
Pasos:
1. Hacer click en la barra de busqueda del header
2. Escribir "wireless mouse" en el campo de busqueda
3. Presionar Enter o hacer click en icono de busqueda
Resultados Esperados:
1. Barra de busqueda enfocada y lista para input
2. Dropdown de sugerencias aparece con productos coincidentes
3. Pagina de resultados muestra "Wireless Mouse" primero, "Wireless Keyboard" segundo, conteo "2 results"
Errores Comunes
Error 1: Pasos compuestos. “Loguearse y navegar a configuracion y cambiar password” deberian ser tres pasos separados.
Error 2: Conocimiento asumido. Nunca asumas que el tester sabe donde estan los botones o que datos son validos.
Error 3: Camino negativo faltante. Siempre considera: que pasa si el usuario ingresa datos incorrectos?
Error 4: Resultados esperados vagos. “Pagina carga correctamente” no es testeable. Especifica que elementos, que texto, que comportamiento.
Error 5: No especificar test data. “Ingresar email valido” es ambiguo. Escribe el email real: test@example.com.
Puntos Clave
- Todo test case necesita: ID, titulo claro, precondiciones, pasos numerados, resultados especificos
- Sigue el checklist ATOMIC: Accurate, Traceable, One focus, Measurable, Independent, Complete
- Escribe acciones atomicas paso a paso — una accion por paso
- Resultados esperados deben ser especificos y verificables objetivamente
- Incluye test data explicita en lugar de decir “datos validos”
- Test cases independientes pueden ejecutarse en cualquier orden sin dependencias