Lernhilfe zum Thema Qualitätsmanagement in der Softwaretechnik
Qualitätsmanagement umfasst alle Tätigkeiten, die darauf abzielen, die Qualität von Software zu planen, zu steuern und zu verbessern. Es besteht aus zwei Hauptbereichen: der konstruktiven und der analytischen Qualitätssicherung.
Fokussiert sich auf die Prävention von Fehlern. Sie stellt sicher, dass die Entwicklungsprozesse von Anfang an auf Qualität ausgerichtet sind.
Fokussiert sich auf das Finden von Fehlern, nachdem sie entstanden sind. Sie überprüft die entwickelten Artefakte systematisch.
Testen ist die systematische Ausführung eines Programms, um möglichst viele Fehler zu finden. Ein Test besteht aus Eingabedaten und dem erwarteten Ergebnis.
Diese Tests werden basierend auf den Spezifikationen durchgeführt, ohne Kenntnis der internen Implementierung.
Diese Tests nutzen das Wissen über die interne Struktur der Software, um Testfälle zu entwerfen.
Tests werden in verschiedenen Stufen durchgeführt. Die Testpyramide beschreibt die ideale Verteilung von Tests:
In agilen Projekten ist diese Pyramidenform das Ziel. Klassische Projekte haben oft eine umgekehrte Pyramide, mit vielen manuellen Systemtests.
CI bedeutet, dass bei jeder Code-Änderung in das zentrale Repository automatisch eine neue Version des Systems erstellt und getestet wird.
In Scrum ist das Testen die Verantwortung des gesamten Teams.
Die Frage, wann genug getestet wurde, ist entscheidend. Mögliche Kriterien sind: