Testing de búsqueda

La búsqueda es una de las funcionalidades más usadas. Los usuarios esperan que funcione rápido, retorne resultados relevantes y maneje sus queries de forma elegante.

Tests funcionales de búsqueda

Caso de pruebaInputComportamiento esperado
Coincidencia exacta“iPhone 15 Pro”Producto aparece en resultados
Coincidencia parcial“iPhone”Todos los productos iPhone aparecen
Sin resultados“xyznonexistent123”Mensaje amigable con sugerencias
Búsqueda vacía(string vacío)Mostrar todos los resultados o solicitar input
Caracteres especiales<script>alert(1)</script>Sanitizado, sin XSS
SQL injection' OR 1=1 --Manejado de forma segura
Query muy largo1000+ caracteresManejado correctamente

Relevancia de búsqueda

Los resultados deben ordenarse por relevancia:

  1. Coincidencias exactas en título primero
  2. Coincidencias parciales en título segundo
  3. Coincidencias en descripción/contenido tercero

Filtros de búsqueda

Si la búsqueda soporta filtros (categoría, rango de precio, fecha):

  1. Aplicar un filtro — ¿los resultados se actualizan?
  2. Aplicar múltiples filtros — ¿se combinan correctamente?
  3. Remover un filtro — ¿los resultados vuelven correctamente?
  4. ¿Los conteos de filtros son precisos?
  5. ¿La URL se actualiza con el estado del filtro?

Testing de paginación

Tests principales de paginación

Caso de pruebaEsperado
Primera páginaItems 1-N, Anterior deshabilitado, Siguiente habilitado
Página del medioItems correctos, ambos botones habilitados
Última páginaItems restantes, Siguiente deshabilitado
Clic en número de páginaNavega a página correcta
Total = 0Sin controles de paginación
Número negativoRedirigir a página 1
Página más allá del totalMostrar última página o estado vacío

Testing de ordenamiento

Verificación básica de sort

Para cada columna ordenable:

  1. Orden ascendente: Items en orden A-Z o bajo-a-alto
  2. Orden descendente: Items en orden Z-A o alto-a-bajo
  3. Indicador visual: Flecha muestra dirección actual
  4. Sort predeterminado: Carga inicial muestra orden esperado

Casos límite de sort

EscenarioQué verificar
Valores null/vacíos¿Dónde aparecen? ¿Primero? ¿Último?
Valores idénticos¿Se aplica sort secundario?
Números como strings“2” vs. “10” — ¿numérico o alfabético?
Mayúsculas/minúsculas“apple” vs. “Banana” — ¿sensible a case?

Ejercicio práctico

Auditoría completa de funcionalidad

Realiza una auditoría integral:

  1. Tests positivos: Ejecuta flujos estándar y verifica resultados
  2. Tests negativos: Inputs inválidos, valores límite, condiciones de error
  3. Tests de integración: Flujo de datos entre componentes relacionados
  4. Tests de seguridad: Bypass de validación, intentos de acceso no autorizado
  5. Tests de performance: Tiempos de respuesta, comportamiento con red lenta

Documenta tus hallazgos

#CasoPasosEsperadoRealEstadoSeveridad
1[Descripción][Pasos][Esperado][Real]Pasa/FallaAlta/Media/Baja

Errores comunes

  1. Consistencia de datos después de errores: ¿Los datos quedan consistentes?
  2. Botón atrás: ¿Resultados inesperados al presionar atrás?
  3. Modificación concurrente: Dos usuarios modificando los mismos datos
  4. Estados vacíos: Comportamiento sin datos
  5. Volumen máximo: Comportamiento con grandes cantidades de datos

Tips profesionales

Tip 1: Prueba con datos realistas incluyendo caracteres especiales y múltiples idiomas.

Tip 2: Enfócate más en los caminos infelices — ahí QA entrega más valor.

Tip 3: Mantén un checklist personal de bugs. Los patrones se repiten entre proyectos.

Puntos clave

  • Testing sistemático cubre aspectos funcionales, de integración, seguridad y performance
  • Casos negativos revelan más bugs que el testing positivo solo
  • Verifica tanto UI como datos subyacentes
  • Documenta con pasos de reproducción claros
  • Construye checklists personales basados en patrones descubiertos