Was ist der Unterschied zwischen einem Defekt und einem Fehler?
terminology
quality-attributes
maz3tt
quelle
quelle
Antworten:
Ein Fehler ist das Ergebnis eines Codierungsfehlers
Ein Mangel ist eine Abweichung von den Anforderungen
Das heißt: Ein Defekt bedeutet nicht unbedingt, dass der Code einen Fehler enthält , es könnte sich um eine Funktion handeln, die nicht implementiert, sondern in den Anforderungen der Software definiert wurde.
Auf der Wikipedia-Seite zum Testen von Software :
quelle
Zitieren von Ilene Burnstein aus dem Buch Practical Software Testing (empfohlen), die Teile aus der Definition in der "IEEE-Standardsammlung für Software-Engineering" (1994) und dem "IEEE-Standardglossar für Software-Engineering-Terminologie" (Standard 610.12, 1990) enthält:
Error
Fehler (Defekte)
Ausfälle
Das vollständige Kapitel in Google Books finden Sie hier .
quelle
Es gibt verschiedene Begriffe im Zusammenhang mit Softwarefehlern. Auszug aus einem Kurs, den ich belegt habe:
Fehler : Menschliches Handeln oder Unterlassen, das zu einem Fehler führt.
Fehler : Ein Fehler ist ein Softwarefehler (falscher Schritt, Prozess oder falsche Datendefinition), der einen Fehler verursacht.
Bug : Wie Fehler.
Fehler : Die Unfähigkeit einer Software, die erforderlichen Funktionen innerhalb der angegebenen Leistungsanforderungen auszuführen.
Demnach gibt es keinen Unterschied zwischen einem Defekt und einem Fehler. Einige Leute argumentieren jedoch, dass der Fehler ein Fehler ist, der vor der Veröffentlichung der Software festgestellt wurde, während ein Fehler vom Kunden festgestellt wurde.
Ich konnte nicht widerstehen, den berühmten "ersten tatsächlichen Fall von gefundenem Fehler" zu posten.
quelle
Ach je.
In früheren Zeiten wurde der fehlerhafte Betrieb eines Computers durch alle möglichen Dinge verursacht - einschließlich Ratten, die an den Kabeln kauen, und echten Insekten (Critters), die in die Werke eindringen.
Der Begriff BUG ist ein Begriff geblieben, der bedeutet, dass etwas nicht wie erwartet funktioniert.
BUG sollte als ein Fachjargon angesehen werden, der einen Defekt bedeutet.
Ein Defekt ist ein technisch korrekter Begriff, der bedeutet, dass die Sache nicht so funktioniert, wie sie sollte.
Wo immer möglich, ist die Verwendung von DEFECT anstelle von BUG tatsächlich mit der Konnotation verbunden, dass wir unsere Fehler (unsere Mängel, unser mangelndes Verständnis der Benutzeranforderungen oder der Dinge, die wir bei der Implementierung übersehen haben) anerkennen, anstatt sie als den trivial klingenden Fehler zu verkleiden ".
Verwenden Sie DEFECT.
Versuchen Sie, den Begriff BUG nicht zu verwenden. Es ist albern, irrelevant, historisch und belanglos.
quelle
Aus dem IEEE-Standardglossar für Software-Engineering-Terminologie, das in der Software-Engineering-Wissensbasis KA für Softwaretests und Softwarequalität zitiert wird:
Ich denke, die Definition von Misserfolg ist am relevantesten. Alles beginnt mit einem Fehler, sei es in den Anforderungen, dem Design, der Implementierung oder dem Testfall / -verfahren. Wenn sich dieser Fehler in der Software manifestiert, liegt ein Fehler vor. Ein Fehler wird durch das Vorhandensein eines oder mehrerer Fehler in der Software verursacht.
Ich bin jedoch nicht auf die formale Definition von Fehler aus. Ich bevorzuge die Definition von dukeofgaming in seiner Antwort sehr , jedoch ist die in dieser Antwort die IEEE-Standarddefinition für Fehler.
quelle
Dan McGraths Antwort stimmte.
Vielleicht würde ein Beispiel es klarer machen.
Beispiel: Der Kunde wollte, dass das Webformular das Fenster speichern und schließen kann.
Szenario 1: Das Webformular verfügt über eine Schaltfläche zum Speichern und eine weitere Schaltfläche zum Schließen. Ergebnis: Fehler, da der Client die Schaltfläche 1 zum Speichern und Schließen des Fensters haben wollte. Entwickler falsch verstanden und separat erstellt. Da beide Tasten ihre Anforderungen erfüllten, handelt es sich nicht um einen Fehler, sondern um einen Defekt, da er nicht den Anforderungen des Kunden entsprach.
Szenario 2: Das Webformular verfügt über eine Schaltfläche zum Speichern und Schließen, die jedoch nur speichert, aber nicht schließt. Ergebnis: Bug. Weil die Schaltfläche nicht die erforderliche / erwartete Leistung erbringt. Der Entwickler weiß, dass dieses Ergebnis erzielt werden soll, hat es aber letztendlich nicht getan. (vielleicht Codierungsfehler)
Ich bin mir nicht sicher, ob dies klarer ist.
p / s: Aus Entwicklersicht (ich war einmal) sind sowohl Fehler als auch Bugs genauso wichtig. Wir werden es immer noch reparieren.
Wir sind sogar auf seltsame Anomalien gestoßen, die wir unter Bugs kategorisiert haben, und wir versuchen ständig herauszufinden, was die Ursache ist und wie wir sie beheben können. Wenn man es als Fehler bezeichnet, ist es im Vergleich zu Defekten nicht trivial.
quelle
Der Unterschied ist, dass der Begriff "Bug" magisch klingt. Als ob ein Programm zufällig Fehler enthalten könnte, nachdem Sie mit dem Programmieren fertig sind. Wenn es zufällige Fehler gibt, bedeutet dies, dass Sie die Spezifikationen nicht eingehalten haben und Ihr Programm fehlerhaft ist.
Ein Defekt bedeutet einen Fehler, bei dem das Programm nicht den Spezifikationen entspricht. Dies ist schwerwiegender und besagt im Grunde, dass jeder Fehler ein großes Problem mit dem Programm darstellt und dies bedeutet, dass das Programm nicht für die Veröffentlichung geeignet ist.
Der Unterschied liegt in der Einstellung der Programmierer, die die Begriffe verwenden. Es gibt Millionen von Programmen, die mit Fehlern veröffentlicht werden, und die Leute sind damit einverstanden, dass ein Fehler magisch und zufällig ist und dass jedes Programm mindestens einen Fehler enthält. Ein Programmierer, der den Begriff "Defekt" verwendet, kann sich jedoch unwohl fühlen, ein Programm mit einem Defekt freizugeben, da der Begriff einen höheren Schweregrad impliziert.
Die Implikationen, einen Begriff dem anderen vorzuziehen, wirken sich täglich auf uns aus.
quelle
Nach der Zuverlässigkeit: Grundbegriffe und Terminologie :
Ich verstehe den Fehler nur als einen anderen Namen für einen Fehler.
Bug ist verwirrend und kann einen Fehler oder einen Ausfall darstellen , je nach Kontext.
Beachten Sie, dass die Spezifikation nicht erwähnt wird: Auch eine Spezifikation kann fehlerhaft sein.
quelle
Hier ist eine, die ich zuvor für meinen Arbeitgeber Q-LEAP basierend auf dem ISTQB-Vokabular durchgeführt habe, und ich habe auch das IEEE-Vokabular überprüft. Genießen.
Fehler und Defekt? Das gleiche, obwohl man darüber endlos diskutieren kann. Wir haben wirklich andere Sorgen, das Leben ist schon kompliziert genug usw.
Ein Beispiel für die Verwendung des Begriffs in freier Wildbahn finden Sie unter "So testet Google Software" auf S. 70 . 113. Öffnen Sie einen Artikel von "IEEE Software" und es wird auf die gleiche Weise verwendet. In der Tat trifft man selten auf das Wort "Defekt" im wirklichen Leben.
quelle
Außerhalb eines bestimmten Fehlers / einer Aufgabe / eines Tickets / eines Fehlers / eines Problems / einer beliebigen Nachverfolgungssysteminstanz haben diese Wörter keine exakte Bedeutung, und daher ist es sinnlos, Unterschiede zwischen ihnen zu diskutieren. Wenn Sie Ihren Workflow erledigen, sollten Sie die Terminologie festlegen und Beschreibungen bereitstellen.
In meiner jetzigen Umgebung ist ein "Defekt" ein beliebiger Artikel in Jira. Es sieht so aus, als ob Jira selbst den Begriff "Problem" verwendet. Wir haben es möglicherweise von einem früheren System geerbt. "Bug" ist eine Art von Problem, wenn etwas nicht wie erwartet funktioniert und in der Dokumentation beschrieben wird. "Funktionsanforderung", wenn etwas wie erwartet funktioniert, aber eine Verbesserung gewünscht wird (dies kann offensichtlich und wichtig sein, aber wenn das aktuelle Verhalten beschrieben wird, handelt es sich immer noch um eine Funktionsanforderung). Es gibt mehr Typen, aber diese 2 werden von Leuten außerhalb des Entwicklungsteams verwendet, um etwas von ihm zu verlangen.
Wenn Sie Namen für Problemtypen auswählen, klingen "Fehler" und "Defekt" ähnlich wie ich. Der Unterschied zwischen ihnen ist stilistisch. Da Englisch nicht meine Muttersprache ist, kann ich nicht viel davon sehen und bin mir nicht sicher, ob das, was ich sehe, richtig ist.
quelle