In diesem Bereich des des Ausbildungsrahmenplan muss der oder die Auszubildende lernen wie systematische Qualitätsmängel erkannt, behoben und dokumentiert werden.
Folgende Lerninhalte sind in diesem Feld vorhanden:
- Qualitätsstandards und -richtlinien kennen: Es gibt ein haufen an Standard und richtlinien. Alle muss man nicht kennen. Viele Softwarefirmen sind z.B. ISO 9001 zertifiziert. Es wird festgelegt wie Unternehmen ihre Prozesse dokumentieren und kontinuirlich verbessern sollen.
Um bei dem Beispiel der ISO 9001 zu bleiben ist dort festgelegt wie der Entwicklungsprozess von der Anforderungsanalyse bis zur Abnahme Dokumentiert wird. Dies wird gemacht, damit die Entwicklung transparent und Nachvollziehbar ist. - Fehlerquellen analysieren: Systematisch wird hier gelernt Schwachstellen in IT Systemen, Prozessen oder Software zu erkennen und diese zu bewerten. Dazu sind verschiedene Schritte nötig:
- Fehlerarten Identifizieren: Es muss unterschieden werden zwischen
- bedienfehlern
- Softwarefehler
- Hardwaredefekten
- Ursachenanalyse durchführen: Mithilfe verschiedenster Methoden wird gelernt den Fehler auf dem Grund zu gehen. Einige Methoden sind:
- 5-Why-Methode: Eigentlich eine Einfache Methode 5 mal fragt man sich selber Warum. Ein Beispiel dazu ist weiter unten unter 5-Why-Methode zu finden.
- Ishikawa-Diagramm: Ursache-Wirkungs-Diagramm oder auch Fischgrätendiagramm genannt.
Das Ishikawa-Diagramm – auch bekannt als Fischgrätendiagramm oder Ursache-Wirkungs-Diagramm – dient der strukturierten Analyse möglicher Fehlerursachen. Ein Beispiel dazu ist weiter unten unter Beispiel Ishikawa-Diagramm zu finden.
- Fehlerarten Identifizieren: Es muss unterschieden werden zwischen
- Tests und Prüfverfahren anwenden: Zunächst werden verschiedenste Testarten kennengelernt (wie z.B. Unit-Integrations-,Systemtest) sowie verschiedene Testmethoden (Z.B. Blackbox, Whitebox,etc.). Hier sollten Auszubildene mittels praktischer Übung selbst ein Programm erstellen und für dieses Programm Testfälle erstellen. Dafür eignen sich Unit Tests sehr gut. Je nach Anwendung wird hier gelernt wie Testdaten ausgewählt oder Testprotokolle erstellt werden. Dieser Punkt fördert das Qualitätsbewussten. (Siehe weiter unten das Beispiel Tests und Prüfverfahren).
- Maßnahmen zur Fehlerbehebung umsetzen: Tritt ein Fehler während eines Tests auf, sollte dieser natürlich behoben werden. Dazu muss folgendes erfolgen:
- Lösungsstrategien entwickeln: Es wird gelernt aus Fehlerursachen konkrete Maßnahmen abzuleiten. Beispiel den Code korrigieren (anhand des Beispielen Fehler „Division durch 0“ eine automatische Prüfung das als Divisor der Benutzer ein Hinweis erhält das 0 als Divisor nicht erlaubt ist.
- Fehlerbehebung dokumentieren: Jede Behebung nachvollziehbar in einem Fehlerprotokoll festhalten.
- Wirksamkeit prüfen: Durch erneute Tests prüfen ob der Fehler tatsächlich behoben ist und sich durch die Behebung nicht neue Fehler eingeschlichen haben.
- Kommunikation im Team: Der / die Auszubindende natürlich lernen Fehler und Lösungen im Team zu kommunizieren.
- Prävention ableiten: Es ist noch kein Meister vom Himmel gefallen. Hier ist tatsächlich der Satz „Lerne aus deinem Fehlern“ Programm. Durch die Lösung und ordentlichen Dokumentation (einschweißen der Lösung) können diese oder ähnliche Fehler präventiv für die Zukunft ausgeschlossen werden.
- Dokumentation und Nachverfolgung: Hier geht es darum Fehler nachvollziehbar, strukturier und auch dauerhaft verfügbar zu Dokumentieren. Bei der Dokumentation ist folgendes zu beachten:
- Vollständigkeit der Dokumentation: Alle Informationen müssen enthalten sein, z.B. die Fehlerbeschreibung, die Ursache, die Lösung des Problemes und alle Testergebnisse.
- Nachvollziehbarkeit: Die Kollegen oder nachvolgende Programmierer müssen die Dokumentation verstehen können.
- Struktur: Das Dokument sollte Strukturiert sein. Also Einheitliche Formate verwenden
- Korrekte Sprache: Fachlich präzise in verständlicher Form.
- Versionierung: Änderungen an der Dokumentation sollten Versioniert werden um so die Dokumente Nachvollziehbar zu gestalten. Einige Firmen verwenden zur Qualitätskontrolle sowie implementierung neuer Programmteile und Fehlerbehebung Tools wie Jira (externer Link).
Beispiele zur Fehlerquellenanalyse
Bei den Beispielen der Ursachenanalyse wird der Fehler „Division durch 0“ als Fallbeispiel für die unterschiedlichen Methoden verwendet.
5-Why-Methode
Das folgende Beispiel der 5-Why-Methode veranschaulicht die herangehensweise bei den Fehler „Division durch 0“:
- Warum wird durch 0 geteilt?
→ Weil der Divisor zur Laufzeit den Wert 0 hat. - Warum hat der Divisor zur Laufzeit den Wert 0?
→ Weil er aus einer Benutzereingabe oder Berechnung stammt, die 0 ergibt. - Warum wurde die Eingabe oder Berechnung nicht überprüft?
→ Weil im Code keine Validierung auf den Wert 0 vor der Division erfolgt. - Warum fehlt die Validierung?
→ Weil sie im ursprünglichen Entwicklungsprozess nicht berücksichtigt oder getestet wurde.
Beispiel Ishikawa-Diagramm
Das folgende Diagramm veranschaulicht typische Ursachen für diesen Fehler und zeigt auf, wie er sich vermeiden lässt. Das Ishikawa-Diagramm (auch als Fischgrätendiagramm oder Ursache-Wirkung-Diagramm bekannt) hilft bei der Ursachenanalye.
Als Beispiel verwende ich ein Programmfehler „Division durch 0“ (ich denke kennt fast jeder der mit dem Programmieren anfängt).
Das folgende Diagramm zeigt ein Beispiel des Ishikawa-Diagramm zeigt Ursachen zu dem Fehler „Division durch 0“ und wie diese verhindert werden können.

FMEA (Fehlermöglichkeits- und einflussanalyse)
Die klassische Struktur der FMEA besitz 3 Kernbewertungen. Auftretenwahrscheinlichkeit (A), Bedeutung (B) sowie Entdeckungswahrscheinlichkeit(E).
Dabei werden die Kernbewertungen auf einer Skala von 1 (niedrig) bis 10(hoch) bewertet.
Prozessschritt | Fehlermöglichkeit | Fehlerursache | Fehlerfolge | A | B | E | Risikoprioritätszahl | Maßnahme |
Berechnung durchführen | Division durch 0 | Keine Prüfung des Divisors | Programmabsturz / Ausnahmefehler | 6 | 8 | 4 | 192 | Validierung de Divisors vor berechnung |
Benutzereingabe verarbeiten | Eingabe von 0 als Divisor | Fehlende eingabeprüfung | Programmabsturz / ausnahmefehler | 5 | 7 | 5 | 175 | Eingabefeld prüfen |
Code Review durchführen | Fehler wird übersehen | Kein Fokus auf Mathematische Ausdrücke | Fehler gelangt in Programm | 3 | 6 | 6 | 108 | Checkliste für Mathematische operationen nutzen |
Beispiel Tests und Prüfverfahren
Test für Division durch 0
Testfall-ID | Datum | Tester | Eingabe | Erwartetes Ergebnis | Tatsächliches Ergebnis | Ergebnis |
Test001 | 16.06.2021 | Gernardt | 42 / 0 | Fehlermeldung „Division durch 0 nicht erlaubt“ | Fehlermeldung „Division durch 0 nicht erlaubt“ | Bestanden |
Durch diesen Test soll vermieden werden, dass das Programm abstürzt oder eine unbehandelte Ausnahme auswirft. Mit dem Beispiel Protokoll wird der Testfall festgehalten.
Pingback: Lfd 5 b Ursachen Qualitätsmängel systematisch feststellen, beseitigen und dokumentieren - gernardt.net