Resumen

Cuando alguien en el equipo dice "ya probamos todo, no hay bugs", la frase suena reconfortante, pero es técnicamente imposible. Comprender por qué lo es —y saber qué hacer al respecto— marca la diferencia entre un tester que reacciona y uno que toma decisiones inteligentes. Esos fundamentos se resumen en siete principios universales que aplican sin importar tecnología ni metodología, y funcionan como señales de tránsito para equipos de software bajo presión de plazos y recursos limitados.

¿Por qué el testing solo muestra la presencia de defectos?

El primer principio es el más malinterpretado [0:49]. Un inspector de alimentos que visita un restaurante y no encuentra problemas no certifica que la cocina sea impecable. Solo significa que ese día, con esa inspección, no detectó nada. Lo mismo ocurre con el testing: nuestro trabajo produce evidencia de problemas encontrados, no certificados de perfección. La meta nunca es "cero defectos", sino reducir el riesgo a un nivel aceptable [1:18].

El segundo principio refuerza esta idea: las pruebas exhaustivas son imposibles [1:24]. Un simple formulario de login con usuario y contraseña admite miles de entradas distintas —valores correctos, incorrectos, vacíos, caracteres especiales, textos larguísimos—. Las combinaciones son prácticamente infinitas, y si multiplicamos eso por cientos de funcionalidades, probar cada variación tomaría años.

¿Cómo usar el riesgo como filtro para priorizar?

La respuesta está en usar el riesgo como filtro [1:51]. El riesgo combina dos factores: qué tan probable es que algo falle y cuánto daño causa si falla. Un sistema de pagos que falla tiene un impacto enorme comparado con una foto de perfil que no carga. Probamos lo primero antes, y con más profundidad.

¿Cuánto dinero ahorran las pruebas tempranas?

El tercer principio establece que corregir un error después del lanzamiento puede costar hasta veinte veces más que corregirlo durante los requisitos [2:14]. Es como revisar un documento antes de imprimir miles de copias. Los testers no esperan a que el código esté listo: participan desde la planificación, verificando que los requisitos sean claros y comprobables, y acordando criterios de aceptación con los desarrolladores antes de que se escriba una línea de código [2:28].

¿Dónde se concentran los defectos en el código?

El cuarto principio indica que los defectos se agrupan [2:38]. Aquí cobra protagonismo la regla del ochenta-veinte: aproximadamente el 80% de los defectos viene del 20% del código. Es como una ciudad donde la mayoría de los accidentes ocurren en dos o tres intersecciones, no repartidos por todas las calles. La decisión práctica es clara: revisa el historial de defectos, identifica los módulos problemáticos y concentra ahí tu esfuerzo [2:58].

¿Qué es la paradoja del pesticida en testing?

El quinto principio se llama paradoja del pesticida [3:06]. Un agricultor que rocía el mismo pesticida temporada tras temporada descubre que los insectos se adaptan y sobreviven. Con las pruebas pasa igual: si ejecutas los mismos casos una y otra vez, dejarás de encontrar defectos nuevos. El tablero está en verde, todos contentos, pero las pruebas simplemente dejaron de ser efectivas.

Cuatro señales de que necesitas renovar tus casos de prueba [3:30]:

  • Las mismas pruebas se repiten sin hallazgos nuevos.
  • Se agregan funcionalidades no cubiertas.
  • El análisis de riesgo señala áreas sin cobertura.
  • Los casos ya no reflejan el comportamiento real de los usuarios.

¿Por qué un software sin bugs puede ser un fracaso?

El sexto principio establece que el testing depende del contexto [3:45]. No existe una forma universal de probar. Un sistema hospitalario necesita pruebas radicalmente diferentes a una aplicación para compartir fotos. Un software para aviación exige documentación estricta y verificaciones de seguridad en cada paso. Un producto mínimo viable (MVP) necesita pruebas ligeras enfocadas en si la funcionalidad central funciona o no [4:04]. Copiar ciegamente el enfoque de un proyecto a otro es una receta para el desastre.

El séptimo principio es el que más sorprende: la falacia de la ausencia de errores [4:19]. Un sistema puede tener cero bugs conocidos y ser un completo fracaso si no resuelve lo que los usuarios necesitan. Corregir defectos no es suficiente; el testing también valida que estemos construyendo lo correcto [4:46].

Estos siete principios se condensan en una frase que puedes llevar a cualquier reunión: el objetivo del testing no es demostrar que el software no tiene bugs, es reducir el riesgo lo suficiente para lanzar con confianza [5:25]. Si tu equipo repite pruebas de regresión sprint tras sprint sin encontrar nada nuevo, ya sabes qué principio aplica. Y si los usuarios dicen que el producto no les sirve a pesar de haber corregido cientos de bugs, también tienes la respuesta.

¿Cuál de estos principios has visto ignorar con más frecuencia en tus proyectos? Comparte tu experiencia.