1. Spezifikationsfehler
- 1.1. Fehler bei den Anforderungen
- 1.1.1. Anforderungen enthalten Widersprüche
- 1.1.2. Unscharf formulierte Anforderungen
- 1.1.3. Mehrdeutig formulierte Anforderung
- 1.1.4. Redundante Anforderungen
- 1.1.5. Fehlende Anforderung
- 1.2. Fehlerhafte Interpretation der Anforderung
- 1.2.1. Fehlende Implementierung einer expliziten Anforderung
- 1.2.2. Fehlende Implementierung einer impliziten Anforderung
- 1.2.3. Implementierung ohne Vorliegen einer Anforderung
- 1.2.4. Kundenanforderung falsch verstanden
- 1.2.5. Fehler in der Ausgabepräsentation
Fehler bei der Erfassung der Anforderungen des Kunden an das System.
Von dem Kunden gewünschte Funktionalitäten schließen sich aus.
Eine von dem Kunden gewünschte Funktionalität ist nicht vollends definiert.
Eine von dem Kunden gewünschte Funktionalität kann mehrdeutig ausgelegt werden.
Von dem Kunden gewünschte Funktionalität ist bereits durch andere Anforderungen abgedeckt.
Der Kunden hat einen Aspekt der Anforderung nicht spezifiziert.
Alle Fehler die dadurch entstehen, dass Anforderungen des Kunden nicht vollständig verstanden wurden, z.B. vergessene Implementierungen, von dem Kunden nicht geforderte Implementierungen oder falsch verstandene Anforderungen.
Eine Anforderung wurde nicht oder nur unvollständig realisiert, z.B. vergessene oder unvollständige Umsetzung eines Anwendungsfalls/Szenarios.
Bei der Implementierung wurden Sonderfälle nicht ausreichend beachtet, z.B. externe Ausnahmefälle wie Netzwerk- oder Drucker-Probleme.
Es wurden Funktionen oder Benutzerausgaben realisiert die der Kunden nicht gefordert hat.
Eine Anforderung des Kunden wurde falschverstanden und daher nicht richtig implementiert.
Berechnung wurden richtig durchgeführt, aber die Systemausgabe ist fehlerhaft, z.B. ist die Bildschirmausgabe, Druckausgabe oder Fehlermeldung inkorrekt bzgl. Inhalt, Formatierung oder Rechtschreibung.
Beispiele:
In einer Anforderungsspezifikation wird geschrieben, dass bei Überfliegen des Äquators die Positionskoordinaten
negiert werden sollen. Gemeint hatte der Autor die y-Koordinate, der Programmierer nimmt die Anforderung aber wörtlich
(wie sie in der Spezifikation steht) und setzt x-, y- und z-Koordinate negativ.
→ Fehler durch eine falsche Angabe.
In einer anderen Anforderungsspezifikation steht, dass ab einem Tachowert 100 eine Klemmenspannung von 5V an einen
bestimmten Eingang angelegt werden muss. Nur, was ist jetzt gemeint: 100 km/h oder 100 Miles per hour? Steckt der Entwickler
zu tief in seinem eigenen kulturellen Kontext, kommt er vielleicht nicht auf die Idee, das zu hinterfragen. Findet dieser
interpretierte Wert dann Eingang in ein Softwareentwicklungsdokument, liegt ein Fehler in dieser Spezifikation vor.
→ Fehler durch eine missverständliche bzw. unklare Angabe.
In einer Softwareiteration wird zusätzliche Funktionalität implementiert, die systemkritisch ist. Aufgrund eines
Kommunikationsproblems wird dies nicht in der Testspezifikation berücksichtigt. Die zugehörigen validierenden Testfälle
fehlen also komplett, die neue Funktionalität wird nicht getestet. Das führt in diesem Fall dazu, dass ein kritischer
Programmierfehler, der durch einen geeigneten Testfall hätte entdeckt werden können, eben nicht erkannt wird.
→ Fehler durch eine fehlende Angabe.