skip to content
A cartoon cactus looking at the 'Astro.build' logo

Errores, Defectos y Fallos

/ 6 min read

Errores, Defectos y Fallos

Una persona puede cometer un error (equivocación), que puede llevar a la introducción de un defecto (falta o bug) en el código software o en algún otro producto de trabajo relacionado. Un error que conduce a la introducción de un defecto en un producto de trabajo puede desencadenar un error que conduce a la introducción de un defecto en un producto de trabajo con el que se encuentra relacionado. Fuente: ISTQB CTFL 2018 - 1.2.4 Errores, Defectos y Fallos

Un error en la obtención de un requisito puede generar un defecto en el documento de especificación de requisitos, esto puede causar un erro en la etapa de programacion que que introduciria un defecto en el codigo.

  • Error = Error o Mistake
  • Defecto o Falta = Defect, Bug , Fault o Fail
  • Falla = Failure

Recordemos:

El costo de encontrar y reparar un defecto incrementa considerablemente a medida que se avanza en el
ciclo de vida de desarollo.  

Es decir Mientras mas temprano se detecte un defecto, más sencillo resulta repararlo, pero si avanza sin ser detectado, más costoso se vuelve repararlo.

Ejemplos:

  1. Si un error es cometido en la definición de los requisitos, y este es encontrado en esta etapa, este es mas económico de repararlo.
  2. Si un error es cometido en la etapa de diseño y este es encontrado en esta etapa, el diseño de la solucion puede ser correjido con un costo relativamente bajo.
  3. Por el contrario si un defecto es introducido en la especificación de requerimiento y esto no es detectado hasta la etapa de entresa del software al usuario, reparar el defecto sera mucho mas costoso repararlo.

Razones por las cuales se suelen cometer errores

  • Presión por causa de tiempo : Al pretendar termianr una activiadad en mentos tiempo del que en realidad se requiere, se tiende a incrementar las probabilidades de errores.
  • Falibilidad humana : Tarde o temprano las personas se equivocan.
  • Participantes en el proyecto sin experiencia o poco cualificados : El personal inadecuado para realizar el trabajo en especifico siempre cometera errores.
  • Falta de comunicación entre los participantes en el proyecto : incluida la falta de comunicación con respecto a requisitos y diseño generar muchos errores. Es por esto que los integrantes de los distintos equipo de trabajo deben tener un excelente canal de comunicación.
  • Complejidad del código, diseño, arquitectura, el problema subyacente que se debe resolver, y/o las tecnologías utilizadas : Mientras mas complejo sea el escenario, es mayor la probabilidad de errores.
  • Malentendidos acerca de las interfaces intra e intersistemas, especialmente cuando esas interacciones intra e intersistemas son numerosas : El no tener establecidas reglas claras de comunicacion entre los distintos elementos del software, conlleva a la introducción de errores.
  • Tecnologías nuevas y desconocidas : La falta de experiencia en la tecnologia que se quiere trabajar, asi como la poca información que puede tener la misma, puede conllevar a la introducción de errores al usar una tecnología nueva o desconocida.
No todos los defectos causarán fallas, y no todos son causados por errores humanos. Tambien puede ocurrir a fallas de ambiente.

No todos los resultados inesperados de las pruebas son fallos.

Falsos Positivos y Falsos Negativos

No todos los resultados inesperados de la prueba son fallos. Pueden ocurrir falsos positivos debido a errores en la forma en que se ejecutaron las pruebas, o debido a defectos en los datos de prueba, el entorno de prueba, u otro producto de prueba, o por otras razone. La situación inversa también puede ocurrir, donde errores o defectos similares conducen a falsos negativos. Los falsos negativos son pruebas que no detectan defectos que deberían haber detectado; los falsos positivos se informan como defectos, pero en realidad no son defectos. Fuente: ISTQB CTFL 2018 - 1.2.4 Errores, Defectos y Fallos


Falso Positivo : La prueba indica que hay un error cuando en realidad no lo hay, esta puede ocurrir por la forma en como se ejecuto la prueba.

  • Ejemplo: Un usuario realizara una multiplicación de 2 numeros el 2 y el 5.
Falso PositivoRespuesta
Resultado Esperado:2 * 5 = 11
Resultado Correcto:2 * 5 = 10
Resultado Obtenido:2 * 5 = 10
  • El resultado indicara que se encontró una falla, cuando lo cierto es que esto fue ocasionado por una incorrecta definición de la condición de la prueba o uso de datos de prueba incorrecto.

  • La causa principal para un Falso-Positivo es la incorrecta definición de las condiciones de prueba.


Falso Negativo : Cuando la prueba no detecta un defecto que debió haber identificado y asume la prueba como aprobada. Hubo un defecto no detectado.

  • Ejemplo: El tester está probando la funcionalidad de una que al presionar el boton Rojo del control remoto de un televisor se debera cambiar a Netflix, el resultado es que se abre You Tube
Falso NegativoRespuesta
Resultado Esperado:Boton Rojo = Netflix
Resultado Correcto:Boton Rojo = Netflix
Resultado Obtenido:Boton Rojo = YouTube
  • El resultado de la prueba el tester no lo reporta como una falla por el contrario, considera la prueba fue exitosa. Se resolvió que una falla en el cumplimiento de una condición fuese aprobada. Ya que no se logra detectar la falla con una prueba que se suponía que fue diseñada para ese fin.

  • La causa principal para un Falso-Negativos es la omision de algun factor por parte del tester o alguna particularidad del ambiente que afecta al resultado obtenido de la prueba.

Defectos, Causas Raíz y Efectos

Las causas raíz de los defectos son las acciones o condiciones más tempranas que contribuyeron a crear estos defectos. Se pueden analizar los defectos para identificar sus causas raíz, con el propósito de reducir la ocurrencia de defectos similares en el futuro. Al centrarse en las causas raíz más significativas, el análisis de la causa raíz puede conducir a mejoras en el proceso que previenen la introducción de un número significativo de futuros defectos. Fuente: ISTQB CTFL 2018 - 1.2.5 Defectos, Causas Raíz y Efectos

  • Cuando se detecta una falla, debemos de rastrearla para determinar la razón por la cual ocurrió.
  • Los defectos deben ser analizados para identificar la raíz de su origen, de esta forma reducir la posibilidad de que se repita en el futuro.

Ejemplo: Una historia de usuario ambigua produjo un defecto en la formula del calculo de intereses. Esta línea única de código incorrecta genera una falla en el pago de intereses.

  • Defecto = Calculo erróneo
  • Falla = Pago Incorrecto
  • Efecto = Quejas de Usuarios
Solución : Si se encuentra un alto porcentaje de defectos en el cálculo de y estos defectos tiene origen en el malentendido sobre cómo realizar esas operaciones, el dueño del producto quien provee esta información, deberá ser entrenado correctamente sobre cómo realizar el calculo de interes y prevenir el error en el futuro.
  • Algunas veces el origen del defecto no proviene de un error relacionado con la construcción del software.