El “defect clustering” no es un concepto nuevo en la ingeniería de software y el testing. Todo tester conoce esta teoría que se resumen en una frase: “si encuentras un defecto crítico sigue buscando, es muy probable que haya muchos más”. Y básicamente en esto se basa esta teoría, ya que los defectos de software son como las cucarachas, si encuentras una cucaracha en tu cocina estate seguro que no está sola, aparecerán muchas más. Esto es lo que nos dice el Defect Clustering, encuentra un defecto importante y sigue buscando, sigue tirando del hilo…porque donde hay un defecto gordo habrá muchos defectos más. Analiza el defecto y busca patrones similares…esto te llevará a nuevos defectos. Exactamente lo mismo ocurre con las cucarachas.
Hay muchas hipótesis sobre este tema. Investigando he encontrado datos que sostienen que los defectos están normalmente localizados en un mismo área, incluso indicando que el 80% de los defectos se encontrado en un 20% del todo el código. Formando lo que llaman los expertos “cluster of defects”.
Por otro lado es importante mencionar otra similitud que tiene los defectos en cluster con las cucarachas, su resistencia a los pesticidas. Mucha gente habla de la “paradoja de los pesticidas”, la cual dice que las cucarachas se pueden hacer inmunes a los insecticidas si siempre usamos la misma marca. Esta teoría aplicada al desarrollo de software y al testing nos quiere decir que como tester o expertos en calidad debemos de estar continuamente actualizando y mejorando nuestros test cases, creando nuevos casos de pruebas. El uso continuo del mismo conjunto de pruebas nos llevará a un punto en el cual no entraremos más defecto, porque nuestros test se focalizan siempre en las mismas areas. Se creativo y no dejes que las plagas de cucarachas se extiendan en su software.


#Ant2dev, let’s TDD be applied,