xSuite Blog

Expertenwissen zu Digitalisierung & Automatisierung von Geschäftsprozessen

Qualitätssicherung in der Softwareentwicklung

16 .03 .2020

Qualitaetssicherung in der Softwareentwicklung

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.

Qualität heißt Anforderungen erfüllen

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.

Qualitätssicherung in der Praxis: Testen, Testen, Testen

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.

Qualitätssicherung erfordert Qualifizierung

Die Beschäftigten in der Qualitätssicherung sind ISTQB zertifiziert und müssen vielfältige Kenntnisse und Fertigkeiten besitzen. Eine (unvollständige) Liste:

  • Know-how über Geschäftsprozesse
  • SAP-Kenntnisse
  • Beherrschung von Webtechnologien
  • Beherrschung von Betriebssystemtechnologien, u.a. für die Bereitstellung von Infrastruktur
  • Beherrschung von Datenbanktechnologien
  • Beherrschung unterschiedlicher Testmethoden / -strategien
  • Kommunikation und Mediation

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.

Autor

Uwe Holst

Uwe Holst

Uwe Holst ist bei der xSuite Group seit über 3 Jahren als Senior Tester in der Qualitätssicherung tätig. Sein detektivischer Spürsinn verbunden mit einem Hang zur Hartnäckigkeit stellt sicher, dass es in der Entwicklung der xSuite Solutions immer etwas zu tun gibt, damit fehlerfreie Lösungen an unsere Kunden ausgeliefert werden.