Software-Qualitätsmanagement ( SQM ) ist ein Managementprozess, der darauf abzielt, die Qualität von Software so zu entwickeln und zu steuern, dass das Produkt die vom Kunden erwarteten Qualitätsstandards sowie gegebenenfalls alle erforderlichen regulatorischen und entwicklerseitigen Anforderungen erfüllt. [ 1 ] [ 2 ] [ 3 ] Software-Qualitätsmanager fordern, dass Software vor der Markteinführung getestet wird. Dies geschieht mithilfe einer zyklischen, prozessbasierten Qualitätsbewertung, um Fehler vor der Veröffentlichung aufzudecken und zu beheben. Ihre Aufgabe besteht nicht nur darin, sicherzustellen, dass die Software für den Kunden einwandfrei ist, sondern auch eine Qualitätskultur im gesamten Unternehmen zu fördern. [ 1 ] [ 2 ] [ 3 ]
Qualitätsmanagementaktivitäten
Die Aktivitäten des Software-Qualitätsmanagements lassen sich im Allgemeinen in drei Kernkomponenten unterteilen: Qualitätssicherung, Qualitätsplanung und Qualitätskontrolle. [ 1 ] [ 2 ] Einige, wie der Softwareingenieur und Autor Ian Sommerville, verwenden nicht den Begriff „Qualitätskontrolle“ (da Qualitätskontrolle oft eher mit der Fertigung als mit der Softwareentwicklung in Verbindung gebracht wird), sondern verknüpfen die damit verbundenen Konzepte mit dem Konzept der Qualitätssicherung. [ 3 ] Die drei Kernkomponenten bleiben jedoch ansonsten unverändert.
Qualitätssicherung
Die Qualitätssicherung von Software etabliert ein organisiertes und logisches Set organisatorischer Prozesse. Durch die Festlegung von Softwareentwicklungsstandards – basierend auf Best Practices der Branche – die mit diesen Prozessen verknüpft werden sollen, erhöhen sich die Chancen von Softwareentwicklern, qualitativ hochwertigere Software zu erstellen. Die Verknüpfung von Qualitätsmerkmalen wie Wartbarkeit und Zuverlässigkeit mit Prozessen gestaltet sich in der Softwareentwicklung jedoch aufgrund der kreativen Designelemente im Vergleich zu den mechanischen Fertigungsprozessen schwieriger. [ 1 ] [ 2 ] [ 3 ] Darüber hinaus kann die Standardisierung von Prozessen die Kreativität mitunter hemmen, was zu Software von geringerer statt besserer Qualität führt. [ 3 ]
Diese Phase kann Folgendes umfassen:
- Förderung von Standards für Dokumentationsprozesse, wie z. B. die Erstellung klar definierter technischer Dokumente mithilfe von Standardvorlagen.
- Anleitung zur Durchführung von Standardprozessen, wie z. B. Qualitätsprüfungen
- Durchführung von Testdatenerfassungsverfahren während des Produktionsprozesses
- Identifizierung von Standards, falls vorhanden, die in Softwareentwicklungsprozessen verwendet werden sollten
Qualitätsplanung
Die Qualitätsplanung erfolgt auf einer detaillierteren, projektbezogenen Ebene und definiert die Qualitätsmerkmale, die mit dem Projektergebnis verbunden werden sollen, sowie deren Bewertung. Zusätzlich können in dieser Phase bestehende Organisationsstandards dem Projekt zugeordnet werden. Merkmale wie „Robustheit“, „Zugänglichkeit“ und „Modularität“ können dem Softwareentwicklungsprojekt zugewiesen werden. [ 1 ] [ 2 ] Während dies ein formalisierterer, integralerer Prozess sein kann, legen diejenigen, die eine agilere Methode des Qualitätsmanagements anwenden, möglicherweise weniger Wert auf strenge Planungsstrukturen. [ 3 ] Der Qualitätsplan kann auch den Zielmarkt, kritische Release-Termine, Qualitätsziele, erwartete Risiken und die Risikomanagementrichtlinie umfassen. [ 2 ] [ 3 ]
Qualitätskontrolle
Das Qualitätskontrollteam testet und prüft Software in verschiedenen Phasen, um sicherzustellen, dass die Qualitätssicherungsprozesse und -standards auf Organisations- und Projektebene eingehalten werden. [ 1 ] [ 2 ] (Manche, wie z. B. Sommerville, ordnen diese Aufgaben der Qualitätssicherung zu, anstatt sie als Qualitätskontrolle zu bezeichnen. [ 3 ] ) Diese Prüfungen sind idealerweise vom Entwicklungsteam getrennt, um eine objektivere Sicht auf das zu testende Produkt zu ermöglichen. [ 2 ] [ 3 ] Projektmanager auf Entwicklungsseite müssen jedoch ebenfalls unterstützen und in dieser Phase dazu beitragen, eine „Kultur der Unterstützung ohne Schuldzuweisungen bei der Fehlererkennung“ zu fördern. [ 3 ] In Softwareentwicklungsunternehmen, die einen agileren Qualitätsansatz verfolgen, können diese Aktivitäten weniger formalisiert sein; ein Wechsel von einer formalen Qualitätsmanagementstruktur zu agilen Methoden kann jedoch Probleme verursachen, wenn die Managementverfahren nicht entsprechend angepasst werden. [ 3 ]
Zu den Aktivitäten gehören:
- Freigabetests der Software, einschließlich ordnungsgemäßer Dokumentation des Testprozesses
- Prüfung der Software und der zugehörigen Dokumentation auf Nichteinhaltung der Standards
- Nachfolgeprüfung der Software, um sicherzustellen, dass alle in früheren Tests aufgeführten erforderlichen Änderungen berücksichtigt werden.
- Anwendung von Softwaremessung und Metriken zur Bewertung
Softwarequalität und der Softwarelebenszyklus
Die Messung der Softwarequalität unterscheidet sich von der Fertigung; Toleranzen sind nicht anwendbar (zumindest nicht in gleicher Weise), und objektive Schlussfolgerungen darüber, ob Software die Spezifikationen erfüllt, sind schwierig, wenn nicht gar unmöglich zu ziehen. [ 3 ] Die Qualität und Eignung von Software für den vorgesehenen Zweck können jedoch je nach Organisation und Art des Projekts auf verschiedene Weise sichergestellt werden. [ 4 ] Dies geschieht durch die Unterstützung des gesamten Softwareentwicklungszyklus , d. h.:
- Erfassung von Anforderungen und Definition des Umfangs eines IT-Projekts mit Schwerpunkt auf der Überprüfung, ob die definierten Anforderungen testbar sind;
- die Lösung entwerfen, wobei der Schwerpunkt auf der Planung eines Testprozesses liegt, z. B. welche Art von Tests durchgeführt werden und wie diese im Kontext von Testumgebungen und Testdaten durchgeführt werden;
- Implementierung einer Lösung, die durch Testfälle und Szenarien unterstützt wird, deren Ausführung und die Erfassung von Fehlern, einschließlich der Koordination der Fehlerbehebung;
- Implementierung des Änderungsmanagements, unterstützt durch die Überprüfung, wie geplante Änderungen die Qualität einer erstellten Lösung und die gegebenenfalls erforderliche Änderung eines Testplans beeinflussen können; und
- Abschluss des Projekts, unterstützt durch die Durchführung von Tests, die auf eine umfassende Überprüfung der Gesamtqualität der erstellten Lösung abzielen.
Links zu IT-Methoden
Das Softwarequalitätsmanagement ist ein Thema, das eng mit verschiedenen Projektmanagement-, Entwicklungs- und IT-Betriebsmethoden verknüpft ist, darunter:

- Die Komponente „Qualität im Projektumfeld“ beschreibt die Notwendigkeit einer doppelten und objektiven Kontrolle der erstellten Produkte. Sie schlägt die Verwendung von vier Elementen vor: Qualitätsmanagementsystem, Funktion der Qualitätskontrolle, Qualitätsplanung und Qualitätskontrollen.
- Die „Qualitätsprüfungstechnik“ konzentriert sich auf die Überprüfung, ob die hergestellten Produkte definierte Qualitätskriterien erfüllen.
- Die Projektmanagementmethode PMBOK 4. Auflage [ 6 ] definiert das Wissensgebiet Projektqualitätsmanagement und die folgenden Prozesse:
- 3.4.12 Planqualität,
- 3.5.2. Qualitätssicherung durchführen,
- 3.6.7. Qualitätskontrolle durchführen
- Die Entwicklungsmethode RUP definiert Disziplintests, die in allen Phasen von der Konzeption bis zur Transition durchgeführt werden.
- Die Entwicklungsmethode MSF definiert die Rolle des Testers und die Stabilisierungsphase, die sich hauptsächlich auf das Testen einer Lösung konzentriert. [ 7 ]
- Agile Methoden definieren weder die Rolle des Testers noch die Mechanismen des Softwarequalitätsmanagements präzise. Sie beschreiben lediglich Techniken wie Continuous Integration und testgetriebene Entwicklung . Dennoch ist nun endlich eine Publikation zum Thema agiles Testen erschienen .
- Die operative Methode CMMI definiert unter anderem den Prozessbereich PPQA „Prozess- und Produktqualitätssicherung“, der bereits auf CMMI-Level 2 erforderlich ist.
- Die operative Methode COBIT definiert unter anderem den Prozess P08 Qualitätsmanagement.
- Die operative Methode ITIL wird unter anderem in der Publikation „Kontinuierliche Serviceverbesserung“ definiert.
- V-Modell – ein Modell, das den Softwareentwicklungslebenszyklus und den Testprozess definiert.
- Die Normenfamilie ISO 9000 bezieht sich auf Qualitätsmanagementsysteme und soll Organisationen dabei helfen, sicherzustellen, dass sie die Bedürfnisse ihrer Kunden und anderer Interessengruppen[1] erfüllen und gleichzeitig die gesetzlichen und behördlichen Anforderungen in Bezug auf das Produkt einhalten.
Verbände und Organisationen
- Die American Society for Quality (ASQ) ist eine professionelle Organisation, die ihren Mitgliedern Zertifizierungen, Schulungen, Publikationen, Konferenzen und andere Dienstleistungen im Zusammenhang mit Qualitätsmanagement, kontinuierlicher Verbesserung und Produktsicherheit anbietet.
- Das International Software Testing Qualifications Board (ISTQBP) ist ein gemeinnütziger, internationaler Verband mit Sitz in Belgien. Er verwaltet den Zertifizierungsprozess für Softwaretester und kann auf mehr als 535.000 ausgestellte Zertifikate in über 120 Ländern verweisen. [ 8 ]
Siehe auch
- Agiles Testen
- Software-Sicherheit
- Qualitätssicherung
- Softwarequalität
- Software-Qualitätskontrolle
- Qualitätssicherung von Software
- Softwarequalitätsanalyst
Referenzen
- Zsolt , U. ( Februar 2014). „Softwarequalitätsmanagement“ ( PDF ) . Softwareentwicklungsprozesse und Softwarequalitätssicherung . Universität Pannonien. S. 117–121 . Abgerufen am 7. Dezember 2017 .
- Maxim , BR (2014). „ Software Quality Management“ ( PPT ) . University of Michigan - Dearborn . Abgerufen am 7. Dezember 2017 .
- Sommerville , I. ( 2011 ) . „Kapitel 24: Qualitätsmanagement“. Software Engineering ( 9. Aufl . ) . Addison - Wesley. S. 651–680 . ISBN 9780137035151Die
- ^ Kelemen, ZD (2013). Prozessbasierte Vereinheitlichung zur Verbesserung von Softwareprozessen mit mehreren Modellen Eindhoven: Technische Universität Eindhoven. ISBN 978-90-386-3313-8
- ^ OGC (Office of Government Commerce) (2009). Managing Successful Projects with PRINCE2 (Ausgabe 2009). TSO (The Stationery Office). ISBN 978-0-11-331059-3
- ^ Ein Leitfaden zum Project Management Body of Knowledge, Vierte Auflage , PMI, USA, 2008
- ^ Microsoft Solution Framework - Kapitel 18 Stabilisierungsphase, Veröffentlicht: 27. April 2005 [1]
- ^ „Zertifizierung von Softwaretestern weltweit“ . International Software Testing Qualifications Board . Abgerufen am 7. Dezember 2017 .