¿Diferencia entre un defecto y un fallo en las pruebas?
¿Cuál es la diferencia entre un defecto y un fallo?
35
3
¿Cuál es la diferencia entre un defecto y un fallo?
Un bug es el resultado de un error de codificación
Un defecto es una desviación de los requisitos
Es decir: Un defecto no significa necesariamente que haya un bug en el código, podría ser una función que no se implementó pero que estaba definida en los requisitos del software.
De la página de Wikipedia sobre pruebas de software:
No todos los defectos de software son causados por errores de codificación. Una fuente común de defectos caros es causada por lagunas en los requisitos, por ejemplo, requisitos no reconocidos, que resultan en errores de omisión por parte del diseñador del programa[14]. Una fuente común de lagunas en los requisitos son los requisitos no funcionales como la comprobabilidad, escalabilidad, mantenibilidad, usabilidad, rendimiento y seguridad.
Citando a Ilene Burnstein del libro Practical Software Testing (recomendado) que parte de la definición del "IEEE Standards Collection for Software Engineering" (1994) y del "IEEE Standard Glossary of Software Engineering Terminology" (estándar 610.12, 1990):
Error
Fallos (Defectos)
Fallos
Puede leer el capítulo completo en Google Books, aquí.
Existen diferentes términos relacionados con los errores de software. Extracto de un curso que hice:
Error: Acción u omisión humana que da lugar a un fallo.
Fallo**: El fallo es un defecto del software (paso, proceso o definición de datos incorrecta) que provoca una avería.
Error**: Igual que Fallo.
Fallo**: Incapacidad de un programa informático para realizar sus funciones requeridas dentro de los requisitos de rendimiento especificados.
Según esto, no hay diferencia entre un defecto y un fallo. Sin embargo, hay quien sostiene que un bug es un error que se detecta antes de lanzar el software, mientras que un defecto es el que detecta el cliente.
No he podido resistirme a publicar el famoso "primer caso real de bug encontrado".