Was ist der Unterschied zwischen einem Defekt und einem Fehler?
Kommentare
- Lesen Sie testingstandards.co.uk/bs_7925-1_online.htm Weitere Informationen
- Es gibt Fehler, die tatsächlich darauf hinweisen, dass etwas fehlt, was bedeutet, dass es sich um eine Funktionsanforderung handelt, nicht um Fehler.
- Die Antwort hängt vom Zweck ab, warum Sie fragen.
- Schlagen Sie die Etymologie des Wortes Defekt nach. De = nicht, un. Facere = tun. Daher tut nicht (wie erwartet), führt nicht, ist kaputt, kaput. Während Fehler “ bedeutet, dass etwas in den Werken die Leistung beeinträchtigt „. Am Ende des Tages müssen Sie etwas reparieren, also ist alles akademisch. Ich habe für das Schließen gestimmt. ‚ Haben Sie keine Fehler zu beheben?!
Antwort
-
Ein Fehler ist das Ergebnis eines Codierungsfehlers
-
Ein Fehler ist eine Abweichung von den Anforderungen
Das heißt: Ein -Defekt bedeutet nicht unbedingt, dass der Code einen Fehler enthält Dies könnte eine Funktion sein, die nicht implementiert, aber in den Anforderungen der Software definiert wurde.
Auf der Wikipedia-Seite unter Softwaretests :
Nicht alle Softwarefehler werden durch Codierungsfehler verursacht. Eine häufige Ursache für teure Fehler sind Anforderungslücken, z. B. nicht erkannte Anforderungen, die zu Auslassungsfehlern des Programmdesigners führen. [14] Eine häufige Ursache für Anforderungslücken sind nicht funktionale Anforderungen wie Testbarkeit, Skalierbarkeit, Wartbarkeit, Benutzerfreundlichkeit, Leistung und Sicherheit.
Kommentare
- Bei beiden handelt es sich um “ Abweichungen von den Anforderungen „, wie ich es sehe.
- Ein Defekt muss nicht ‚ ein Fehler sein. Außerdem muss ein Fehler ‚ nicht bedeuten, dass eine Anforderung nicht erfüllt wurde, und daher ist ‚ keine Abweichung von der Anforderung ‚
- Sie scheinen den Punkt @Martin zu verpassen. Ja, ein Fehler kann ein Defekt sein. Ja, ein Defekt kann ein Fehler sein. Dies ist jedoch nicht unbedingt immer der Fall. ‚. Nur weil es einige Überlappungen gibt, heißt das nicht, dass ‚ sie identisch sind! Venn-Diagramm des Fehlers & Defekt – > (())
- @Dan McGrath: Im Grunde genommen haben Sie hier Ihre eigene Definition eines Fehlers. Aber im Allgemeinen gibt es ‚ keine definierte Bedeutung, es ist ‚ nur ein Fachjargon!
- @DanMcGrath : Ihr Venn-Diagramm ist nutzlos. Dies kann entweder ({}) oder ({)} bedeuten. Ich nehme an, Sie meinten die zweite.
Antwort
Zitiert Ilene Burnstein aus dem Buch Praktische Softwaretests (empfohlen), die von der Definition in den“ IEEE-Standards „abweichen Collection for Software Engineering „(1994) und“ IEEE Standard Glossary of Software Engineering Terminology „(Standard 610.12, 1990):
Fehler
Ein Fehler ist ein Fehler, ein Missverständnis oder ein Missverständnis eines Softwareentwicklers.
In die Kategorie der Entwickler gehören Softwareentwickler, Programmierer, Analysten und Tester. Beispielsweise kann ein Entwickler eine Entwurfsnotation falsch verstehen oder ein Programmierer kann einen Variablennamen falsch eingeben.
Fehler (Defekte)
Ein Fehler (Defekt) wird aufgrund eines Fehlers in die Software eingeführt. Dies ist eine Anomalie in der Software, die dazu führen kann, dass sie sich falsch verhält und nicht der Spezifikation entspricht.
Fehler oder Defekte werden manchmal als „Fehler“ bezeichnet. Die Verwendung des letzteren Begriffs trivialisiert die Auswirkungen von Fehlern auf die Softwarequalität. Die Verwendung des Begriffs „Defekt“ ist auch mit Software-Artefakten wie Anforderungen und Konstruktionsdokumenten verbunden. In diesen Artefakten auftretende Fehler werden ebenfalls durch Fehler verursacht und normalerweise im Überprüfungsprozess erkannt.
Fehler
Ein Fehler ist die Unfähigkeit eines Softwaresystems oder einer Softwarekomponente, die erforderlichen Funktionen innerhalb der angegebenen Leistungsanforderungen auszuführen.
Während der Ausführung einer Softwarekomponente oder eines Softwaresystems kann ein Tester, Entwickler, oder der Benutzer stellt fest, dass die erwarteten Ergebnisse nicht erzielt werden. In einigen Fällen weist eine bestimmte Art von Fehlverhalten darauf hin, dass eine bestimmte Art von Fehler vorliegt. Wir können sagen, dass die Art des Fehlverhaltens ein Symptom für den Fehler ist.Ein erfahrener Entwickler / Tester verfügt über eine Wissensdatenbank zu Fehlern / Symptomen / Fehlerfällen (Fehlermodelle wie in Kapitel 3 beschrieben). Falsches Verhalten kann das Erzeugen falscher Werte für Ausgabevariablen, eine falsche Reaktion eines Geräts oder ein falsches Bild auf einem Bildschirm umfassen. Während der Entwicklung werden Fehler normalerweise von Testern beobachtet, und Fehler werden von Entwicklern gefunden und repariert.
Sie können das vollständige Kapitel in Google Books lesen, hier .
Antwort
Es gibt verschiedene Begriffe im Zusammenhang mit Softwarefehlern. Auszug aus einem Kurs, den ich belegt habe:
-
Fehler : Menschliche Handlung oder Unterlassung Dies führt zu einem Fehler.
-
Fehler : Fehler ist eine Software Fehler (falscher Schritt, Prozess oder Datendefinition), der einen Fehler verursacht.
-
Fehler : Wie Fehler.
-
Fehler : Die Unfähigkeit einer Software, ihre erforderlichen Funktionen innerhalb der angegebenen Leistungsanforderungen auszuführen.
Demnach gibt es keinen Unterschied zwischen einem Defekt und einem Fehler. Einige Leute argumentieren jedoch, dass ein Fehler ein Fehler ist, der vor der Veröffentlichung der Software gefunden wurde, während ein Fehler vom Kunden gefunden wurde.
Ich konnte nicht widerstehen, den berühmten ersten tatsächlichen Fehlerfall zu veröffentlichen „.
Kommentare
- Endlich jemand, der hat gelesen: testingstandards.co.uk/bs_7925-1_online.htm
- Das ‚ s nicht woher ich es habe, aber sie haben möglicherweise eine gemeinsame Quelle (oder diese könnte die Quelle sein).
- Ja, vor vielen, vielen Jahren habe ich eine Weile versucht, einen Fehler zu beheben hatte ein nerviges Flackern in einer Zelle auf dem Bildschirm und es ergab keinen Sinn. Es flog schließlich ab. (Dies war in der Ära des weißen Textes auf einem schwarzen Bildschirm, der fragliche Punkt war weit genug rechts, um immer schwarz zu sein, während Ich habe gerade bearbeitet, daher habe ich es erst bemerkt, als das Programm etwas Weiß dahinter gesetzt hat.)
Antwort
Auweh.
Früher – ein fehlerhafter Betrieb eines Computers wurde durch alle möglichen Dinge verursacht – einschließlich Ratten, die an der Verkabelung kauten, und echten Insekten (Lebewesen), die in die Arbeit kamen.
Die Der Begriff BUG ist ein Begriff, der bedeutet, dass etwas nicht wie erwartet funktioniert.
BUG sollte als Jargonbegriff für einen Fehler betrachtet werden.
Ein Fehler ist ein technisch korrekter Begriff dass das Ding nicht so tut, wie es sollte.
Wo immer möglich, bringt die Verwendung von DEFECT anstelle von BUG tatsächlich die Konnotation mit sich, dass wir unsere Fehler (unsere Mängel, unser mangelndes Verständnis der Benutzeranforderungen oder der Dinge) anerkennen wir haben es in der Implementierung übersehen), anstatt es als den trivial klingenden „Bug“ zu verkleiden.
Verwenden Sie DEFECT.
Versuchen Sie, den Begriff BUG nicht zu verwenden. Es ist albern, irrelevant, historisch und trivialisierend.
Kommentare
- Warum sollten Sie einen gut verstandenen Fachbegriff aus der Verwendung entfernen? Es tut mir ‚ leid … ja, BUG ist historisch – aber wenn Sie denken, dass Programmierer Fehler (generisch im Gegensatz zu bestimmten) als trivial betrachten, nur weil sie ‚ werden aufgrund ihrer Herkunft als Bugs bezeichnet oder der Begriff als irrelevant, dann habe ich ‚ Angst, dass meine Verwandlung in ein mürrisches Mittelalter völlig gerechtfertigt ist. Oh, und wie @Dan hervorhebt, sind Fehler Fehler, aber Fehler sind nicht notwendigerweise Fehler, was weiter darauf hindeutet, dass der Begriff einen Wert hat.
- @Murph, a. Id id = „fbc066bb3a“>
“ Fehler “ ist ein Euphemismus für einen Programmierfehler. Unbewusst verführt dies zu einer Art Gremlin, über den der Entwickler keine Kontrolle hat. Dies ist nicht korrekt – es ist ein Fehler und die Bestätigung, dass dies ein Schritt in Richtung eines professionelleren Verhaltens ist. (Imho natürlich :-))
Antwort
Aus dem IEEE-Standard Glossar der Software Engineering-Terminologie, das im Software Engineering Body of Knowledge KA für Softwaretests und Softwarequalität zitiert wird:
Fehler. Siehe: Fehler; Fehler.
Fehler. (1) Die Differenz zwischen einem berechneten, beobachteten oder gemessenen Wert oder Zustand und dem wahren, spezifizierten oder theoretisch korrekten Wert oder Zustand. Zum Beispiel eine Differenz von 30 Metern zwischen einem berechneten Ergebnis und dem korrekten Ergebnis. (2) Eine falsche Schritt-, Prozess- oder Datendefinition. Zum Beispiel eine falsche Anweisung in einem Computerprogramm. (3) Ein falsches Ergebnis. Zum Beispiel ein berechnetes Ergebnis von 12, wenn das richtige Ergebnis 10 ist. (4) Eine menschliche Handlung, die ein falsches Ergebnis erzeugt. Zum Beispiel eine falsche Aktion eines Programmierers oder Bedieners. Hinweis: Während alle vier Definitionen häufig verwendet werden, weist eine Unterscheidung Definition 1 dem Wort „Fehler“, Definition 2 dem Wort „Fehler“, Definition 3 dem Wort „Fehler“ und Definition 4 dem Wort „Fehler“ zu. Siehe a2so: dynamischer Fehler; fataler Fehler; indigener Fehler; semantischer Fehler; syntaktischer Fehler; statischer Fehler; vorübergehender Fehler.
Fehler. Die Unfähigkeit eines Systems oder einer Komponente, die erforderlichen Funktionen innerhalb der festgelegten Leistungsanforderungen auszuführen. Hinweis: Die Fehlertoleranzdisziplin unterscheidet zwischen einer menschlichen Handlung (einem Fehler), ihrer Manifestation (einem Hardware- oder Softwarefehler), dem Ergebnis des Fehlers (einem Fehler) und dem Betrag, um den das Ergebnis falsch ist (der Fehler). Siehe auch: Absturz; abhängiges Versagen; Ausnahme; Fehlermodus; Fehlerrate; schweres Versagen; beginnendes Versagen; unabhängiges Versagen; zufälliger Fehler; weiches Versagen; Fehler stecken geblieben.
Fehler. (1) Ein Defekt in einem Hardwaregerät oder einer Hardwarekomponente; Zum Beispiel ein Kurzschluss oder ein Kabelbruch. (2) Ein falscher Schritt, Prozess oder eine falsche Datendefinition in einem Computerprogramm. Hinweis: Diese Definition wird hauptsächlich von der Fehlertoleranzdisziplin verwendet. Im allgemeinen Sprachgebrauch werden die Begriffe „Fehler“ und „Fehler“ verwendet, um diese Bedeutung auszudrücken. Siehe auch: datensensitiver Fehler; programmempfindlicher Fehler; äquivalente Fehler; Fehlermaskierung; intermittierender Fehler.
Ich denke, die Definition des Fehlers ist am relevantesten. Alles beginnt mit einem Fehler, sei es in den Anforderungen, im Design, in der Implementierung oder im Testfall / -verfahren. Wenn sich dieser Fehler in der Software manifestiert, wird er zu einem Fehler. Ein Fehler wird durch das Vorhandensein eines oder mehrerer Fehler verursacht Weitere Fehler in der Software.
Ich bin jedoch nicht an der formalen Definition von Fehlern interessiert. Ich bevorzuge die Definition, die dukeofgaming in seiner Antwort gegeben hat. Die Definition in dieser Antwort ist jedoch die IEEE-Standarddefinition für Fehler.
Antwort
Dan McGraths Antwort hat es richtig getroffen.
- Ein Fehler ist das Ergebnis eines Codierungsfehlers.
- Ein Fehler ist eine Abweichung von den Anforderungen.
Vielleicht würde ein Beispiel dies klarer machen.
Beispiel: Der Client 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, weil der Client wollte, dass die Schaltfläche 1 das Fenster speichert und schließt. Der Entwickler wurde missverstanden und separat erstellt. Da beide Schaltflächen ihre Anforderungen erfüllten, handelt es sich nicht um einen Fehler, sondern um einen Fehler, da die Anforderungen des Kunden nicht erfüllt wurden.
Szenario 2: Das Webformular verfügt über eine Schaltfläche zum Speichern &, die jedoch nur gespeichert, aber nicht geschlossen wird. Ergebnis: Fehler. Weil die Schaltfläche nicht wie erforderlich / erwartet funktioniert. Der Entwickler weiß, dass es wahrscheinlich ist, dieses Ergebnis zu erzielen, aber letztendlich nicht. (Möglicherweise Codierungsfehler)
Ich bin mir nicht sicher, ob dies klarer wird.
p / s: von einem Entwickler Standpunkt (ich war einmal), sowohl Fehler als auch Fehler sind genauso wichtig. Wir werden sie immer noch beheben.
Wir sind sogar auf seltsame Anomalien gestoßen, die wir unter Fehler kategorisiert haben, und wir versuchen ständig herauszufinden, was ist die Ursache und wie man es behebt. Die Bezeichnung „Fehler“ macht es im Vergleich zu Fehlern nicht trivial.
Kommentare
- Wie nennen wir fehlerhafte Anforderungen?
- @ gnasher729 Wenn Sie mit fehlerhaften Anforderungen gemeint haben, dass die Programmierer die Anforderungen falsch verstanden haben, würde ich denken, dass ‚ ein Defekt ist. Wenn Sie jedoch fehlerhafte Anforderungen gemeint haben, da der Benutzer, der die falschen Anforderungen für die endgültige Arbeit bereitstellt, das anfängliche Problem nicht löst, ist dies kein Fehler, da dies eher ein Problem mit der Sitzung zum Sammeln von Anforderungen als mit der Entwicklung ist.
Antwort
Hier ist eine, die ich zuvor für meinen Arbeitgeber Q-LEAP basierend auf dem ISTQB-Vokabular durchgeführt und auch überprüft habe das IEEE-Vokabular. Genießen.
Fehler und Defekt? Das gleiche, obwohl man darüber endlos diskutieren kann. Wir müssen uns wirklich um andere Dinge kümmern, das Leben ist bereits kompliziert genug usw.
Ein Beispiel für Wie der Begriff in freier Wildbahn verwendet wird, finden Sie unter „Wie Google Software testet“ p. 113. Öffnen Sie einen Artikel von „IEEE Software“ und er wird auf die gleiche Weise verwendet. In der Tat stößt man im wirklichen Leben selten auf das Wort „Defekt“.
Das Leben eines Fehlers
Fehler und Fehlerberichte sind das einzige Artefakt, das jeder Tester versteht. Das Finden von Fehlern, das Testen von Fehlern, das Beheben von Fehlern und das Zurückführen von Fehlern sind der Herzschlag und der Workflow für Softwarequalität. Dies ist der Teil des Testens, der bei Google am konventionellsten ist, aber es gibt immer noch einige interessante Abweichungen von der Norm. In diesem Abschnitt ignorieren wir die Fehler, die zur Verfolgung von Arbeitselementen abgelegt werden, und verwenden den Begriff zur Identifizierung Tatsächlich defekter Code. Als solche stellen Fehler häufig den Arbeitsablauf von Stunde zu Stunde und von Tag zu Tag für Entwicklungsteams dar.
Ein Fehler wird geboren. Fehler werden von allen bei Google gefunden und abgelegt. Produkt Manager melden Fehler, wenn sie Probleme in den frühen Builds feststellen, die sich von ihren Spezifikationen / Gedanken unterscheiden. Entwickler melden Fehler, wenn sie feststellen, dass sie versehentlich ein Problem eingecheckt oder gefunden haben Ein Problem an einer anderen Stelle in der Codebasis oder beim Füttern von Google-Produkten. Fehler kommen auch aus dem Feld, von Crowd-Sourcing-Testern, externen Anbietertests, und werden von Community-Managern eingereicht, die die produktspezifischen Google-Gruppen überwachen. Viele interne Versionen von Apps bieten auch schnelle Ein-Klick-Methoden zum Einreichen von Fehlern, z. B. Google Maps. Und manchmal erzeugen Softwareprogramme Fehler über eine API.
Antwort
Der Unterschied besteht darin, dass der Begriff „Bug“ magisch klingt. Als ob ein Programm nach dem Programmieren zufällig Fehler enthalten kann. Wenn es zufällige Fehler enthält, bedeutet dies, dass Sie nicht den Spezifikationen entsprechen und Ihr Programm fehlerhaft ist.
Ein Fehler bedeutet Ein 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 ist und dies bedeutet, dass das Programm ist nicht für die Veröffentlichung geeignet.
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, weil sie aus irgendeinem Grund akzeptieren dass ein Fehler magisch und zufällig ist und dass jedes Programm mindestens einen Fehler enthält. Ein Programmierer, der den Begriff „Fehler“ verwendet, kann es jedoch unangenehm finden, ein Programm mit einem Fehler freizugeben, da der Begriff einen höheren Schweregrad impliziert.
Die Auswirkungen des Bevorzugens eines Begriffs gegenüber dem anderen wirken sich täglich auf uns aus.
Antwort
Gemäß Zuverlässigkeit: Grundkonzepte und Terminologie :
Ein Systemfehler tritt auf, wenn der bereitgestellte Dienst von der Erfüllung der Systemfunktion abweicht, wobei letztere das ist, wofür das System bestimmt ist. Ein -Fehler ist der Teil des Systemstatus, der zu einem nachfolgenden Fehler führen kann: Ein Fehler, der den Dienst betrifft, ist ein Hinweis dass ein Fehler auftritt oder aufgetreten ist. Die festgestellte oder hypothetische Fehlerursache ist ein Fehler .
Ich verstehe Fehler nur als einen anderen Namen für Fehler.
Fehler ist verwirrend und kann je nach Fehler einen Fehler oder eine Störung darstellen Kontext.
Beachten Sie, dass die Spezifikation nicht erwähnt wird: Selbst eine Spezifikation kann fehlerhaft sein.
Antwort
Außerhalb eines bestimmten Fehlers / einer bestimmten Aufgabe / eines bestimmten Tickets / eines bestimmten Defekts / eines bestimmten Problems / einer beliebigen Instanz des Tracking-Systems haben diese Wörter keine genaue Bedeutung, weshalb es sinnlos ist, den Unterschied zwischen ihnen zu diskutieren. Wenn Sie Ihren Workflow festlegen, sollten Sie die Terminologie festlegen und Beschreibungen bereitstellen.
In meiner aktuellen Umgebung ist ein „Defekt“ ein Element in Jira. Es sieht so aus, als würde Jira selbst den Begriff „Problem“ verwenden. Wir haben es möglicherweise von einem früheren System geerbt.“Bug“ ist eine Art 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 Personen außerhalb des Entwicklungsteams verwendet, um Fragen zu stellen.
Wenn Sie Namen für Problemtypen auswählen, klingen „Fehler“ und „Fehler“ ä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.