¿Cuál es la diferencia entre estos tres conceptos?
Es común que cuando se está iniciando en el área de Calidad de Software exista una tendencia a confundir tres conceptos que, si bien se parecen, son totalmente diferentes, estos conceptos son: errores, defectos y fallos. ¿Cuál es la diferencia entre los tres?:
Un error es lo mismo que una equivocación, que por lo general es cometida por una persona, ya sea en el código del software o en algún otro producto de trabajo.
Cuando se comete un error, este introduce un defecto. Un defecto, es lo mismo que un problema o falta y también es conocido como bug por los desarrolladores. Un defecto puede definirse como una imperfección en un componente o sistema que puede causar que este no desempeñe las funciones requeridas.
Si un fragmento de código que contiene un defecto se ejecuta, es posible que cause un fallo, aunque esto no siempre pasa en todas las circunstancias, a veces se requiere de situaciones y datos muy específicos para que ocurra un fallo.
Ejemplo de la diferencia entre los tres:
Imagine que se le ha pedido al desarrollador que construya un sitio web en el cual solo pueden acceder personas de 15 años o más y él desarrolla un algoritmo parecido al siguiente:
¿Puedes ver qué está mal?
La especificación incluye la edad de 15 años como una edad permitida y el algoritmo la excluye, por lo que el desarrollador cometió un error e introdujo un defecto en la condición, causando el siguiente resultado en los casos de prueba:
Con el defecto en el código, al introducir la edad 15 en la plataforma, aparecerá el siguiente mensaje:
No puede acceder a este sitio
Este es el fallo ocasionado por el defecto del código que fue causado por el error cometido por el desarrollador.
Fuente: Syllabus ISTQB Foundation Level
Créditos de las imágenes: https://www.diariobug.com/error-bug-y-falla/
Excelente explicación.