Imagina que tienes un cultivo de frutas y que, al cabo de un tiempo, necesitas depurar los “bichos” que están afectando el bienestar de tus plantas. Cada vez que haces esa tarea de depuración, realizas los mismos pasos una y otra vez. Con cada repetición, encuentras menos “bichos” lo cual te daría esa “seguridad” que todo está bien y tus plantas no corren peligro. Lo que no sabes, es que al realizar esta práctica, en realidad todo el cultivo puede estar infestado de cosas que no puedes ver y por lo tanto, no vas a poder subsanar a menos que pruebes otra “ruta diferente”.
Con esa analogía podemos pensar que aunque tengamos el mejor pesticida (estrategia de pruebas), pero aplicada al mismo escenario, probando con los mismos usuarios, configuraciones, base de datos etc., no encontraremos esos defectos ocultos que pueden estar afectando el sistema.

Lo anterior no quiere decir que si probamos todos los caminos, no van a existir más bugs. De hecho, otro principio de pruebas es el error de considerar correcto que un producto no tenga errores, los cuales obviamente deben existir pero ya en un grado menos crítico, ya que si hemos realizado pruebas de confirmación y regresión, entre otras estrategias, se estaría cubriendo gran parte de dichos errores o defectos, solo que aquellos que no fueron detectados, podrían ser mejoras o replanteamientos de los criterios de aceptación que las partes interesadas determinen que posiblemente ya no se necesitan.
A toda esta historia se le conoce como “La paradoja del pesticida”. Esta paradoja es un claro ejemplo de por qué, a pesar de establecer una estrategia de pruebas adecuada a la realidad del software y seguir una metodología de desarrollo, se nos escapan bugs y defectos que no habíamos detectado con anterioridad.
Actualmente algunas empresas que desarrollan software, ya sea para sí mismas o para un tercero, pueden estar dándole poca relevancia al control de la calidad que en últimas, es lo que define la verificación, validación y aceptación por parte del público en general de un producto con alta calidad.
El proceso de pruebas comprende no solo el hecho de probar que algo funciona bien. Para poder cubrir los posibles bugs que puedan pasar desapercibidos, se han definido estrategias, técnicas, niveles y tipos de pruebas con ese fin. De nada sirve si no tenemos en cuenta uno de los principios más importantes a la hora de aplicar esas pruebas.

Entonces, ¿Cuál es la estrategia más adecuada que puedes implementar para evitar caer en la “Paradoja del Pesticida”?
Una de ellas es ampliar el escenario de pruebas posible, con datos distintos y ambientes diferentes. Incluso un mismo ambiente se puede corromper y no coincidir con los ambientes productivos. También asegúrate que el objeto de prueba se pueda evaluar desde otros ángulos con el propósito de encontrar nuevos defectos y que estos se solucionen de raíz.
Puedes incluir técnicas de pruebas basadas en la experiencia, como por ejemplo la predicción de errores, las pruebas exploratorias o pruebas basadas en las listas de comprobación.
Si tienes dudas o sugerencias sobre este tema, puedes escribirnos para conversar sobre este y otros aspectos interesantes del mundo del testing.