
Laut IEEE/ISO/IEC 24765-2017 ist Qualitätssicherung
- ein geplantes und systematisches Vorgehen, das erforderlich ist, um hinreichend sicher zu sein, dass ein Gegenstand oder ein Produkt den festgelegten technischen Anforderungen entspricht.
- eine Reihe von Tätigkeiten zur Bewertung des Prozesses, mit dem Produkte entwickelt oder hergestellt werden.
- die geplanten und systematischen Tätigkeiten, die im Rahmen des Qualitätssicherungssystems durchgeführt und bei Bedarf nachgewiesen werden, um ein angemessenes Vertrauen zu schaffen, dass eine Einheit die Qualitätsanforderungen erfüllt (ISO/IEC 12207:2008, Systems and software engineering – Software life cycle processes.4.34.).
- Teil des Qualitätsmanagements, der darauf ausgerichtet ist, das Vertrauen zu schaffen, dass die Qualitätsanforderungen erfüllt werden (ISO/IEC 15288:2008 (IEEE Std 15288-2008), Systeme und Softwaretechnik – Systemlebenszyklusprozesse.4.23)
Bei der Qualitätssicherung kann zwischen konstruktiver und analytischer Qualitätssicherung unterschieden werden.
Die konstruktive Qualitätssicherung in der System- und Softwareentwicklung bezieht sich auf Maßnahmen, die während des Entwicklungsprozesses ergriffen werden, um sicherzustellen, dass das Endprodukt den Anforderungen und Qualitätsstandards entspricht.
Im Gegensatz dazu bezieht sich die analytische Qualitätssicherung auf Maßnahmen, die nach Abschluss der Entwicklung ergriffen werden, um das Endprodukt auf Fehler und Mängel zu überprüfen.
Ein Beispiel für konstruktive Qualitätssicherung ist die Verwendung von Standards und Richtlinien. Durch die Festlegung von Standards und Richtlinien für die Erstellung von Anforderungen, einer Architektur oder eines Feindesigns ebenso wie für die Programmierung wird sichergestellt, dass die resultierenden Arbeitsergebnisse verständlich, vollständig beschrieben und wartbar sind. Ein Anforderungsersteller kann beispielsweise verpflichtet sein, bestimmte Attribute mit vordefinierten Werten auszufüllen, Verifikationskriterien festzulegen und Formulierungen zu vermeiden. Dadurch wird die Qualität einer Anforderung verbessert und die Wahrscheinlichkeit von Fehlern verringert.
Ein weiteres Beispiel für konstruktive Qualitätssicherung ist die Anwendung von Methoden wie Modellbasiertes System Engineering (MBSE) und die Nutzung geeigneter Werkzeuge für die Entwicklung. Dies sind beispielsweise Enterprise Architect, Capella oder Eclipse Papyrus.
Die analytische Qualitätssicherung umfasst hingegen Maßnahmen wie die Durchführung von Reviews. Hierbei überprüfen erfahrene Entwickler das Arbeitsergebnis eines Kollegen auf Fehler, Unklarheiten oder unvollständige Angaben. Durch diese Reviews werden potenzielle Probleme frühzeitig erkannt und behoben, bevor das Arbeitsergebnis für die nächste Entwicklungsstufe genutzt wird. Zur Unterstützung der Review wird idealerweise ein vordefinierter Fragenkatalog genutzt, der hilft typische Fehler aufzudecken.
Ein weiteres Beispiel für analytische Qualitätssicherung ist das Testen des fertigen Produkts auf Fehler und Mängel, beispielsweise ein SW-Modul, eine Gruppe von SW-Modulen oder ein ganzes System zusammengesetzt aus Hardware und Software. Ein Beispiel dafür ist das anforderungsbasierte Testen, bei dem überprüft wird, ob das System oder die Software die festgelegten Anforderungen erfüllt. Hierbei werden Testfälle entwickelt und ausgeführt, um sicherzustellen, dass alle Funktionen korrekt arbeiten. Selbstverständlich wird die Korrektheit und Vollständigkeit der definierten Testfälle durch ein Review überprüft.
Fazit
Zur vollständigen Qualitätssicherung gehört also nicht nur das Testen. Die konstruktive Qualitätssicherung ebenso wie die Durchführung von Reviews sind wichtige Komponenten der QS-Arbeit. Das gilt besonders in Entwicklungsprojekten der Automobilbranche die konform zu Automotive SPICE®, der ISO 26262 oder ISO 21434 durchgeführt werden müssen.
Während das Testen von Software und Systemen allgemein anerkannt ist und in Entwicklungsprojekte größtenteils durchgeführt wird – auch weil hier ein hoher Automatisierungsgrad möglich ist, werden die konstruktiven Methoden und die Durchführung von Reviews häufig nicht oder nicht systematisch angewendet. Oft mit der Begründung des hohen Aufwandes und der fehlenden Zeit.
Reviews und konstruktive Qualitätssicherung tragen jedoch wesentlich dazu bei, dass die während der Entwicklung entstehenden Arbeitergebnisse wie beispielsweise Anforderungen, Architekturen, Testfälle, weniger Fehler enthalten und so teure Nacharbeit durch späte Fehlerentdeckung reduziert oder sogar vermieden wird. Denn je später im Entwicklungszyklus ein Fehler gefunden wird, desto teuerer ist seine Behebung. Sie haben es in der Hand – nutzen Sie das gesamte Spektrum der Möglichkeiten zur frühen Fehlerentdeckung!
Wenn Sie mehr über die verschiedenen Qualitätsmethoden erfahren möchten oder Unterstützung bei der Umsetzung und Einführung benötigen, nehmen Sie gerne Kontakt mit mir auf.
Weitere Informationen finden Sie auch auf meiner Dienstleistungsseite.