Expertenwissen zu Digitalisierung & Automatisierung von Geschäftsprozessen
Expertenwissen zu Digitalisierung & Automatisierung von Geschäftsprozessen
Themen: Softwareentwicklung und -einführung
Qualitätssicherung (kurz QS) ist ein komplexes Thema und gerade in einem sich schnell verändernden Umfeld wie der Softwareentwicklung auch eine große Herausforderung. Bei uns im Unternehmen schreiben wir QS ganz groß – und darum starten wir in den Tag mit Diskussionen zur Qualität unseres Kaffees, nutzen für unsere Blogposts lieber mal das 4-Augen-Prinzip und lassen nicht locker, Arbeitsprozesse einzelner Abteilungen und Arbeitsgruppen stetig zu verbessern.
In der Softwareentwicklung ist Qualität das Ziel eines abgestimmten Prozesses zwischen unterschiedlichen Aufgabengebieten. In unserem Haus definiert das Produktmanagement in Absprache mit der Geschäftsführung und weiteren Fachbereichen die Vorgaben und erstellt eine ausformulierte Anforderungsliste für die Produktentwicklung.
Auf diesen Anforderungen beruhen dann die technischen Konzepte, Fachkonzepte und Prototypen, die von der Entwicklung – ggf. auch in mehreren Iterationen (Stichwort: Agilität) – erstellt werden. Im Rahmen der Softwarentwicklung werden technische Tests (sog. Unittests) bereits mit in den Code eingebaut. Diese stellen sicher, dass durch spätere Codeänderungen ggf. eingebaute Fehlerzustände zuverlässig entdeckt werden können.
Das QS-Team führt parallel zur laufenden Softwareentwicklung und nach deren Abschluss den eigentlichen Testlauf durch. Das Produktmanagement erstellt hierfür die Zielkriterien für jede einzelne Anforderung, die der Test erfassen muss. Diese Kriterien sind unter anderem: Bedienbarkeit, Schnelligkeit, Korrektheit und vieles mehr. An der konkreten Anforderung wird ein sogenannter Testfall hinterlegt, in dem dann ausformuliert steht, was wie zu testen ist und wie die zu erwartenden Ergebnisse aussehen sollen. Die Summe aller Testfälle über alle Anforderungen an einem Produkt ergeben dann den sogenannten Testplan, der jeweils für eine Iteration des Produktes ausgeführt wird und dessen Ergebnis dann zu Nachbesserungen am Produkt führen kann. Am Ende eines Testzyklus steht die Auswertung der Testergebnisse sowie in Abstimmung mit allen Beteiligten die anschließende Freigabeempfehlung für den Kundeneinsatz.
Konkret umgesetzt wird der Prozess mit dem „Team Foundation Server (TFS)“ von Microsoft, der das sogenannte Application Lifecycle Management (ALM) in seiner Gesamtheit unterstützt. Alle Aspekte des Entwicklungsprozesses (Anforderungen, Quellcode, Testfälle…) werden im TFS festgehalten, so dass alle Beteiligten auf den gleichen Pool an Informationen zurückgreifen können und damit sowohl der Stand der Entwicklung als auch z. B. der Stand des Tests transparent im Unternehmen kommuniziert werden kann.
Die Beschäftigten in der Qualitätssicherung sind ISTQB zertifiziert und müssen vielfältige Kenntnisse und Fertigkeiten besitzen. Eine (unvollständige) Liste:
Am Ende eines Entwicklungs- und Testzyklus steht letzten Endes immer das Ziel, den Kunden und dessen Endanwender*innen mit einer Software zu versorgen, die bestmöglich dabei unterstützt, die eigenen Geschäftsziele zu erreichen. Die Qualitätssicherung ist somit ein wichtiger (Teil-) Aspekt, dieses Ziel auch zu erreichen.