¿Cuál es la diferencia entre un defecto y un error?
terminology
quality-attributes
maz3tt
fuente
fuente
Respuestas:
Un error 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 error en el código , podría ser una función que no se implementó pero se definió en los requisitos del software.
Desde la página de Wikipedia sobre pruebas de software :
fuente
Citando a Ilene Burnstein del libro Practical Software Testing (recomendado) que parte de la definición en la "Colección de Estándares IEEE para Ingeniería de Software" (1994) y "Glosario Estándar IEEE de Terminología de Ingeniería de Software" (estándar 610.12, 1990):
Error
Fallos (defectos)
Fallas
Puedes leer el capítulo completo en Google Books, aquí .
fuente
Hay algunos términos diferentes relacionados con errores de software. Extracto de un curso que tomé:
Error : acción u omisión humana que resulta en una falla.
Falla : la falla es un defecto del software (paso incorrecto, proceso o definición de datos) que causa una falla.
Error : igual que la falla.
Falla : la incapacidad de un software para realizar sus funciones requeridas dentro de los requisitos de rendimiento especificados.
De acuerdo con esto, no hay diferencia entre un defecto y un error. Sin embargo, algunas personas argumentan que el error es un error que se encuentra antes de lanzar el software, mientras que el defecto lo encuentra el cliente.
No pude resistirme a publicar el famoso "primer caso real de error encontrado".
fuente
Oh querido.
En los viejos tiempos, el funcionamiento defectuoso de una computadora fue causado por todo tipo de cosas, incluidas las ratas que masticaban el cableado y los errores reales (bichos) se metían en las obras.
El término BUG se ha pegado como un término que significa que algo no funciona como se esperaba.
ERROR debe considerarse como un término de jerga que significa un defecto.
Un defecto es un término técnicamente correcto que significa que la cosa no hace lo que debería.
Siempre que sea posible, usar DEFECTO en lugar de ERROR conlleva una connotación de que reconocemos nuestros fallos (nuestros defectos, nuestra falta de comprensión de los requisitos del usuario o las cosas que pasamos por alto en la implementación) en lugar de disfrazarlo como el "error más trivial" ".
Use DEFECTO.
Intenta no usar el término ERROR. Es tonto, irrelevante, histórico y trivializante.
fuente
Del Glosario Estándar IEEE de Terminología de Ingeniería de Software, que se cita en el Cuerpo de Conocimientos de Ingeniería de Software KA para Pruebas de Software y Calidad de Software:
Creo que la definición de fracaso es la más relevante. Todo comienza con un error, ya sea en los requisitos, el diseño, la implementación o el caso / procedimiento de prueba. Si este error se manifiesta en el software, se convierte en una falla. Una falla es causada por la existencia de una o más fallas en el software.
Sin embargo, no estoy interesado en la definición formal de error. Prefiero la definición proporcionada por dukeofgaming en su respuesta , sin embargo, la de esta respuesta es la definición estándar de error IEEE.
fuente
La respuesta de Dan McGrath fue correcta.
Tal vez un ejemplo lo aclararía.
Ejemplo: el cliente quería que el formulario web pudiera guardar y cerrar la ventana.
Escenario n. ° 1: el formulario web tiene un botón para guardar y otro botón para cerrar. Resultado: Defecto, porque el cliente quería que el botón 1 guardara y cerrara la ventana. Desarrollador mal entendido y creado por separado. Debido a que ambos botones cumplieron sus requisitos, no es un error, sino un defecto porque no cumplió con los requisitos del cliente.
Escenario # 2: el formulario web tiene un botón para guardar y cerrar, pero solo guarda pero no se cierra. Resultado: error. Porque el botón no funciona según lo requerido / esperado. El desarrollador sabe que se supone que produce ese resultado, pero finalmente no lo hizo. (quizás error de codificación)
No estoy seguro si esto lo aclara.
p / s: desde el punto de vista del desarrollador (lo era antes), tanto los defectos como los errores son igual de importantes. Aún lo arreglaremos.
Incluso nos encontramos con anomalías extrañas, que clasificamos bajo errores e intentamos continuamente descubrir cuál es la causa y cómo solucionarlo. Llamarlo errores no lo hace trivial en comparación con los defectos.
fuente
La diferencia es que el término "error" suena mágico. Como si un programa pudiera tener errores aleatoriamente después de que hayas terminado de programar. Si tiene errores aleatorios, significa que no cumplió con las especificaciones y su programa está en un error.
Un defecto significa un error donde el programa no se ajusta a las especificaciones. Esto es más grave y básicamente dice que cualquier error es un gran problema con el programa y esto significa que el programa no está en condiciones de ser lanzado.
La diferencia está en la actitud de los programadores que usan los términos. Hay millones de programas que se lanzan con errores y las personas están de acuerdo con eso porque aceptan por alguna razón que un error es mágico y aleatorio y que cada programa contiene al menos un error. Sin embargo, un programador que usa el término "defecto" puede sentirse incómodo al lanzar un programa con un defecto porque el término implica una mayor severidad.
Las implicaciones de preferir un término sobre el otro nos afectan a diario.
fuente
Según la confiabilidad: conceptos básicos y terminología :
Entiendo el defecto como solo otro nombre de culpa.
El error es confuso y puede representar una falla o una falla dependiendo del contexto.
Tenga en cuenta que no se menciona la especificación: incluso una especificación puede ser defectuosa.
fuente
Aquí hay uno que hice anteriormente para mi empleador Q-LEAP basado en el vocabulario ISTQB y también verifiqué el vocabulario IEEE. Disfrutar.
¿Error y defecto? Lo mismo a pesar de que uno puede tener una discusión interminable sobre esto. Realmente tenemos otras cosas de qué preocuparnos, la vida ya es lo suficientemente complicada, etc.
Un ejemplo de cómo se usa el término en la naturaleza, de "Cómo Google prueba el software" p. 113. Abra un artículo de "Software IEEE" y se utiliza de la misma manera. De hecho, rara vez se encuentra la palabra "defecto" en la vida real.
fuente
Fuera del error específico / tarea / ticket / defecto / problema / cualquier instancia del sistema de seguimiento, estas palabras no tienen ningún significado exacto y, por lo tanto, discutir la diferencia entre ellas no tiene sentido. Cuando esté estableciendo su flujo de trabajo, debe resolver la terminología y proporcionar descripciones.
En mi entorno actual, un "defecto" es cualquier elemento en Jira. Parece que Jira usa el término "problema". Es posible que lo hayamos heredado de algún sistema anterior. "Error" es un tipo de problema cuando algo no funciona como se esperaba y se describe en la documentación. "Solicitud de características" cuando algo funciona como se esperaba pero se desea mejorar (puede ser obvio e importante, pero si se describe el comportamiento actual, sigue siendo una solicitud de características). Hay más tipos, pero esos 2 son utilizados por personas externas al equipo de desarrollo para pedirle algo.
Si está eligiendo nombres para los tipos de problemas, "error" y "defecto" suenan similares a mí. La diferencia entre ellos es estilística. Como el inglés no es mi lengua materna, realmente no puedo ver mucho y no estoy seguro de si lo que veo es correcto.
fuente