¿Diferencia entre un defecto y un error en las pruebas?

¿Cuál es la diferencia entre un defecto y un error?

Comentarios

  • Lea testingstandards.co.uk/bs_7925-1_online.htm para obtener más información
  • Hay errores que en realidad dicen que falta algo, lo que significa que son solicitudes de funciones, no errores.
  • La respuesta depende del propósito por qué lo preguntas.
  • Busque la etimología de la palabra defecto. De = no, un. Facere = hacer. Por lo tanto, no funciona (como se esperaba), no funciona, está roto, kaput. Mientras que error significa » algo en proceso que impide el rendimiento «. Al final del día tendrás que arreglar algo, así que todo es académico. He votado a favor de cerrar, don ‘ ¡¿Tienes algunos errores que corregir ?!

Responder

  • 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 que se definió en los requisitos del software.


De la página de Wikipedia sobre pruebas de software :

No todos los defectos del software se deben a errores de codificación. Una fuente común de defectos costosos 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 de requisitos son los requisitos no funcionales como la capacidad de prueba, la escalabilidad, el mantenimiento, la usabilidad, el rendimiento y la seguridad.

Comentarios

  • Ambos son » desviaciones de los requisitos » como yo lo veo.
  • Un defecto no ‘ tiene que ser un error. Además, un error no ‘ no tiene que significar que no se cumplió un requisito y, por lo tanto, no es ‘ una desviación del requisito ‘
  • Parece que te estás perdiendo el punto @Martin. Sí, un error puede ser un defecto. Sí, un defecto puede ser un error. Pero eso no es ‘ t necesariamente siempre cierto. El hecho de que haya algo de superposición, ¡no ‘ significa que sean idénticos! Diagrama de Venn del error & Defecto – > (())
  • @Dan McGrath: básicamente lo que hiciste aquí es tu propia definición de error. Pero en general no hay ‘ t ningún significado definido, ¡’ es solo una jerga de ingeniería!
  • @DanMcGrath : Tu diagrama de Venn es inútil. Podría significar ({}) o ({)} . Supongo que te refieres al segundo.

Respuesta

Citando a Ilene Burnstein del libro Pruebas prácticas de software (recomendado) que parte de la definición de los» Estándares IEEE Colección para ingeniería de software «(1994) y» Glosario estándar de terminología de ingeniería de software de IEEE «(estándar 610.12, 1990):

Error

Un error es un error, una idea errónea o un malentendido por parte de un desarrollador de software

En la categoría de desarrollador incluimos ingenieros de software, programadores, analistas y probadores. Por ejemplo, un desarrollador puede malinterpretar una notación de diseño o un programador puede escribir un nombre de variable incorrectamente.

Fallos (defectos)

Se introduce una falla (defecto) en el software como resultado de un error. Es una anomalía en el software que puede hacer que se comporte incorrectamente y no de acuerdo con su especificación.

Las fallas o defectos a veces se denominan «errores». El uso de este último término trivializa el impacto que tienen las fallas en la calidad del software. El uso del término «defecto» también se asocia con artefactos de software como requisitos y documentos de diseño. Los defectos que ocurren en estos artefactos también son causados por errores y generalmente se detectan en el proceso de revisión.

Fallos

Una falla es la incapacidad de un sistema o componente de software para realizar sus funciones requeridas dentro de los requisitos de rendimiento especificados.

Durante la ejecución de un componente o sistema de software, un probador, desarrollador, o el usuario observa que no produce los resultados esperados. En algunos casos, un tipo particular de mala conducta indica que existe un cierto tipo de falla. Podemos decir que el tipo de mala conducta es síntoma de la culpa.Un desarrollador / evaluador experimentado tendrá una base de conocimientos de fallas / síntomas / casos de fallas (modelos de fallas como se describe en el Capítulo 3) almacenada en la memoria. El comportamiento incorrecto puede incluir la producción de valores incorrectos para las variables de salida, una respuesta incorrecta por parte de un dispositivo o una imagen incorrecta en una pantalla. Durante el desarrollo, los evaluadores suelen observar las fallas, y los desarrolladores las localizan y reparan.

Puede leer el capítulo completo en Google Books, aquí .

Respuesta

Existen 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 software defecto (paso, proceso o definición de datos incorrectos) que provoca 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 «.

texto alternativo

Comentarios

  • Finalmente, alguien que ha leído: testingstandards.co.uk/bs_7925-1_online.htm
  • Eso ‘ no es de donde lo obtuve, pero pueden tener una fuente común (o esta podría ser la fuente).
  • Sí, hace muchos, muchos años, pasé un tiempo tratando de corregir un error. tenía un parpadeo molesto en una celda de la pantalla y no tenía sentido. Finalmente se fue volando. (Esto fue en la era del texto blanco en una pantalla negra, el lugar en cuestión estaba lo suficientemente lejos a la derecha para ser siempre negro mientras Estaba editando, por lo que solo lo noté cuando el programa puso algo de blanco detrás.)

Responder

Oh querido.

En los viejos tiempos, el funcionamiento defectuoso de una computadora era causado por todo tipo de cosas, incluidas ratas que masticaban el cableado y errores reales (bichos) que se metían en las obras.

El El término BUG se ha quedado como un término que significa algo que no funciona como se esperaba.

Se debe pensar en BUG 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 funciona como debería.

Siempre que sea posible, usar DEFECT en lugar de BUG en realidad conlleva la connotación de que reconocemos nuestras fallas (nuestros defectos, nuestra falta de comprensión de los requisitos del usuario o las cosas pasamos por alto en la implementación) en lugar de disfrazarlo como el «error» que suena más trivial.

Use DEFECT.

Trate de no usar el término BUG. Es tonto, irrelevante, histórico y trivializante.

Comentarios

  • ¿Por qué querrías quitar del uso un término técnico bien entendido? Lo ‘ lo siento … sí, BUG es histórico, pero si cree que los programadores consideran los errores (genéricamente en lugar de específicos) como triviales solo porque ‘ Si se los llama errores o el término es irrelevante debido a sus orígenes, ‘ me temo que convertirme en un gruñón de mediana edad está completamente justificado. Ah, y como señala @Dan, los errores son defectos, pero los defectos no ‘ t necesariamente errores, lo que sugiere además que el término tiene valor.
  • @Murph, a » bug » es un eufemismo para un error de programación. Inconscientemente, esto atrae a una especie de gremlin sobre el que el desarrollador no tiene control. Esto no es correcto – es es un error y reconocer esto es un paso hacia un comportamiento más profesional. (En mi humilde opinión, por supuesto :-))
  • Erm, claramente no estoy de acuerdo (-: Sé exactamente quién es responsable de los errores, errores de codificación y lógica, que tengo en mi código. (I ‘ También soy capaz de identificar fallas en el código de ‘ de otras personas). Todos los programadores que conozco tienen claro lo que significa el término: que ( bueno, algún programador) y no algún tipo de gremlin cometió un error.
  • Al tratar con sus clientes, puede llamar a estas cosas errores o defectos. Bugs es jerga. Defectos es un reconocimiento, fuera de la jerga, de que no es como debería ser. » Defectos » es un término que fomenta la comunicación clara, también fuera de la fraternidad de programación como adentro.(Tampoco estoy de acuerdo con que haya una diferencia entre un error y un defecto).
  • Defectos es el término correcto. ¿Cuántos programas se publican con errores y todos lo aceptamos? Pero, ¿cuántos programas se lanzan con defectos? No ‘ aceptaríamos eso porque el término implica una mayor gravedad y sabemos que es ‘ culpa nuestra por el error, más bien que un error en el que podemos culpar al clima o la hora del día.

Respuesta

Del estándar IEEE Glosario 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:

error. Ver: error; Error.


error. (1) La diferencia entre un valor o condición calculado, observado o medido y el valor o condición verdadero, especificado o teóricamente correcto. Por ejemplo, una diferencia de 30 metros entre un resultado calculado y el resultado correcto. (2) Un paso, proceso o definición de datos incorrectos. Por ejemplo, una instrucción incorrecta en un programa de computadora. (3) Un resultado incorrecto. Por ejemplo, un resultado calculado de 12 cuando el resultado correcto es 10. (4) Una acción humana que produce un resultado incorrecto. Por ejemplo, una acción incorrecta por parte de un programador u operador. Nota: Si bien las cuatro definiciones se usan comúnmente, una distinción asigna la definición 1 a la palabra «error», la definición 2 a la palabra «falla», la definición 3 a la palabra «falla» y la definición 4 a la palabra «error». Ver a2so: error dinámico; error fatal; error indígena; error semántico; error sintáctico; error estático; error transitorio.


falla. La incapacidad de un sistema o componente para realizar sus funciones requeridas dentro de los requisitos de desempeño especificados. Nota: La disciplina de tolerancia a fallas distingue entre una acción humana (un error), su manifestación (una falla de hardware o software), el resultado de la falla (una falla) y la cantidad por la cual el resultado es incorrecto (el error). Véase también: accidente; falla dependiente; excepción; modo de fallo; tasa de fracaso; duro fracaso fracaso incipiente; fracaso independiente; falla aleatoria; fracaso suave; falla atascada.


falla. (1) Un defecto en un dispositivo o componente de hardware; por ejemplo, un cortocircuito o un cable roto. (2) Un paso, proceso o definición de datos incorrectos en un programa de computadora. Nota: Esta definición es utilizada principalmente por la disciplina de tolerancia a fallas. En el uso común, los términos «error» y «error» se utilizan para expresar este significado. Ver también: falla sensible a datos; programa sensible al fallo; fallas equivalentes; enmascaramiento de fallas; falla intermitente.


Creo que la definición de falla 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 uno o más fallas en el software.

Sin embargo, no estoy muy interesado en la definición formal de error. Prefiero mucho la definición proporcionada por dukeofgaming en su respuesta , sin embargo, la de esta respuesta es la definición estándar de error de IEEE.

Respuesta

La respuesta de Dan McGrath lo hizo bien.

  • Un error es el resultado de un error de codificación
  • Un defecto es una desviación de los requisitos

Quizás un ejemplo lo aclararía.

Ejemplo: El cliente quería que el formulario web pudiera guardar y cerrar la ventana.

Escenario # 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. El desarrollador no entendió y creó por separado. Debido a que ambos botones cumplieron con sus requisitos, no es un error, sino un defecto porque no cumplía con los requisitos del cliente.

Escenario n. ° 2: el formulario web tiene un & botón de cierre para guardar, pero solo se guarda pero no se cierra. Resultado: Bicho. Porque el botón no funciona según lo esperado o requerido. El desarrollador sabe que se supone que debe producir ese resultado, pero al final no lo hizo (quizás un error de codificación)

No estoy seguro si esto lo aclara.

p / s: de un desarrollador punto de vista (lo fui una vez), 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 y continuamente intentamos averiguar qué es la causa y cómo solucionarlo. Calificarlo de errores no lo hace trivial en comparación con los defectos.

Comentarios

  • ¿A qué llamamos requisitos defectuosos?
  • @ gnasher729 si por requisitos defectuosos quisiste decir que los programadores no entendieron los requisitos, entonces pensaría que ‘ es un defecto. Pero si se refería a requisitos defectuosos ya que el usuario que proporciona los requisitos incorrectos que dan como resultado el trabajo final no resuelve el problema inicial, entonces eso está más allá de los errores y defectos, ya que este es un problema con la sesión de recopilación de requisitos en lugar de con el desarrollo.

Responder

Aquí hay uno que hice antes 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. Tenemos realmente otras cosas de las que preocuparnos, la vida ya es bastante complicada, etc.

ingrese la descripción de la imagen aquí

Un ejemplo de cómo se usa el término en la naturaleza, de «Cómo prueba Google el software» p. 113. Abra un artículo de «IEEE Software» y se usará de la misma manera. De hecho, rara vez se encuentra la palabra «defecto» en la vida real.

La vida de un error

Los errores y los informes de errores son el único artefacto que todo evaluador entiende. Encontrar errores, clasificar errores, corregir errores y retroceder errores son el ritmo del corazón y el flujo de trabajo de calidad del software. Esta es la parte de las pruebas que es más convencional en Google, pero todavía hay algunas desviaciones interesantes de la norma. En esta sección, ignoramos los errores que se registran para rastrear elementos de trabajo y usamos el término para identificar código roto real. Como tal, los errores a menudo representan el flujo de trabajo hora a hora y día a día para los equipos de ingeniería.

Nace un error. Todos los usuarios de Google encuentran y archivan los errores. Producto Los gerentes presentan errores cuando detectan problemas en las primeras versiones que difieren de sus especificaciones / pensamientos. Los desarrolladores presentan errores cuando se dan cuenta de que revisaron accidentalmente un problema, o encuentran un problema en algún otro lugar de la base de código, o durante la prueba interna de los productos de Google. Los errores también provienen del campo, de probadores de fuentes múltiples, pruebas de proveedores externos, y los administradores de la comunidad que monitorean los Grupos de Google específicos del producto los archivan. Muchas versiones internas de aplicaciones también tienen formas rápidas de archivar errores con un solo clic, como los mapas de Google. Y, a veces, los programas de software crean errores a través de una API.

Respuesta

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 cumpliste con las especificaciones y tu programa tiene un error.

Un defecto significa un error en el que el programa no se ajusta a las especificaciones. Esto es más grave y básicamente dice, cualquier error es un gran problema con el programa y esto significa que el programa no es apto para 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 la gente está 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 con la publicación de un programa con un defecto porque el término implica una mayor gravedad.

Las implicaciones de preferir un término sobre el otro nos afectan a diario.

Responder

De acuerdo con Fiabilidad: conceptos básicos y terminología :

Se produce una falla del sistema cuando el servicio entregado se desvía del cumplimiento de la función del sistema, siendo esta última para la que está destinado. Un error es la parte del estado del sistema que puede provocar fallos posteriores: un error que afecte al servicio es una indicación que ocurre o ha ocurrido una falla. La causa adjudicada o hipotética de un error es una falla .

Entiendo defecto simplemente como otro nombre para el error.

Error es confuso y puede representar un error o una falla dependiendo de la contexto.

Tenga en cuenta que no se menciona la especificación: incluso una especificación puede ser defectuosa.

Respuesta

Fuera del error / tarea / ticket / defecto / problema específico / 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é configurando su flujo de trabajo, debe establecer la terminología y proporcionar descripciones.

En mi entorno actual, un «defecto» es cualquier elemento en Jira. Parece que la propia 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 función» cuando algo funciona como se esperaba pero se desea una mejora (puede ser obvio e importante, pero si se describe el comportamiento actual, sigue siendo una solicitud de función). Hay más tipos, pero esos 2 son utilizados por personas ajenas al equipo de desarrollo para preguntarle algo.

Si está eligiendo nombres para los tipos de problemas, «error» y «defecto» me suenan similar. La diferencia entre ellos es estilística. Como el inglés no es mi idioma nativo, no puedo ver mucho de él y no estoy seguro de si lo que veo es correcto.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *