Methoden und Wissen

Qualitätssicherung - Gibt es eine fehlerfreie Softwareentwicklung?

23. November 2021 / Jannik Prestel

Qualitätssicherung

Gibt es eine fehlerfreie Softwareentwicklung?

Stellen Sie sich mal vor, Sie legen beim Onlineshopping einen Artikel in den Warenkorb. Wenn Sie dann zur Kasse gehen, ist der Artikel verschwunden oder der Preis stimmt plötzlich nicht mehr! Oder: Sie schauen sich auf ihrem Laptop im Firefox-Browser eine Tabelle an. Auf ihrem Smartphone in Safari sieht die Darstellung ganz anders aus und funktioniert nicht richtig. Solche Fehler sollten nicht passieren, kommen in der Praxis aber doch vor.

Zum Glück gibt es Leute in der Softwareentwicklung, die sich von vornherein jede neu entwickelte Funktion ansehen und auf Herz und Nieren prüfen. Bei der HEC und neusta software development sorgen die Softwaretester und -testerinnen dafür, dass Anwendungen voll funktionsfähig ausgeliefert werden.

Nicht jedes Projekt erfordert eine sogenannte Qualitätssicherung (QS). Aber mit der Komplexität der Anwendungen steigt der Bedarf. Und das ist heute oft der Fall: Die moderne Softwareentwicklung ist ausgesprochen komplex – und die QS ein dementsprechend breit gefächertes Gebiet. Für Frank Heydenreich, Softwaretester der HEC, ist die QS einfach unumgänglich, um die Qualität eines Produkts zu erhöhen: „Sie ist eine zusätzliche Instanz in der Entwicklung, die einen anderen Blick auf umgesetzte Teile einer Software hat. Sie hilft, Fehler zu reduzieren und die Qualität zu erhöhen.“

Moderne QS: manuell oder automatisch

Bei der modernen QS gibt es grob gesagt zwei Vorgehensweisen: Zum einen das explorative, manuelle Testen, bei dem sich der Tester oder die Testerin durch die Software klickt. Zum anderen das durch automatisierte Programme abgedeckte Testen. In welchem Umfang welche Variante zum Zuge kommt, hängt vom Projekt, aber auch von der QS-Person selbst ab.

Je komplexer eine Software oder Anwendung wird, desto sinnvoller sind automatische Tests. Dafür wird eigens ein Programm entwickelt. So können die Tests regelmäßig wiederholt werden. Müsste man nach jedem Release erneut alles manuell testen, würde die Qualität des Testens jedes Mal sinken und somit auch der Erfolg der Qualitätssicherung.

Warum kann man dann nicht gleich alles automatisieren? Steffen Lohmann, Technischer Projektleiter bei neusta software development, winkt ab: „Das ist zu viel Aufwand! Datahubs oder E-Mail-Programme lassen sich zum Beispiel nur mit erheblichem Aufwand testen.“

Qualitätssicherung hat einen anderen Blick auf umgesetzte Teile einer Software. Sie hilft, Fehler zu reduzieren und die Qualität zu erhöhen.

Frank Heydenreich, Softwaretester der HEC

Kann man nicht einfach ohne Fehler entwickeln?

Wer früher in der Schule ein Diktat geschrieben hat, der weiß, dass selbst wenn man es dreimal durchliest, sich trotzdem Fehler einschleichen. Je umfangreicher ein Softwareprojekt ist, desto unwahrscheinlicher ist es, dass keine Fehler auftreten. „Software ist heute zu komplex “, sagt Frank Heydenreich. „Und Menschen machen Fehler.“

Werden die Projekte noch komplexer, dann wird auch die Anfälligkeit für Probleme größer. Wenn mein Vorhaben „Schuhe anziehen“ ist, dann weiß ich ziemlich genau was ich zu tun habe und es kann wenig schief gehen. Bei etwas größeren Vorhaben muss viel mehr bedacht werden: Wenn ich zum Beispiel eine Hochzeit planen und durchführen möchte, ist auch mit bester Planung das Ergebnis nicht immer hundertprozentig vorherzusehen – wenn zum Beispiel das Wetter schlecht ist oder Gäste einfach wegbleiben.

Vincent Hinrichs, Entwickler bei neusta software development, sagt mit Blick auf die Softwareentwicklung: „Ab einer gewissen Größe und Komplexität ist eine fehlerfreie Software leider nicht möglich, so wünschenswert es auch wäre.“

Ab einer gewissen Komplexität ist eine fehlerfreie Software nicht möglich, so wünschenswert es auch wäre.

Vincent Hinrichs, Entwickler bei neusta software development

Tester:innen behalten den Überblick

Testerinnen und Tester haben meist den besten Überblick über das gesamte Projekt oder über den aktuellen Sprint. „Entwickler:innen fehlt einfach ein anderer Blick auf die Software“, sagt Frank Heydenreich. Die einzelnen Entwickler bearbeiten jeweils nur einen Teil eines Tickets. Tester fassen dagegen jedes Ticket an.

QS sorgt also nicht nur für Fehlerreduktion, sondern auch für reibungslose Abläufe: Hat ein Entwickler eine Anforderung umgesetzt, schaut sich die QS diese genau an. Erst dann geht sie zur Abnahme an den Product Owner. „Für unser Projekt zum Beispiel bringt QS eine Entlastung der Product Owner durch Vorfiltern von Tickets“, sagt Vincent Hinrichs. „Für den Endkunden maximiert die QS die „experience“ einer Anwendung.“

Oft bildet die QS das Bindeglied zwischen dem Entwicklungsteam und den Auftraggebenden. Kunden besitzen in der Praxis häufig nicht so viel technisches Verständnis, um alle Dimensionen abschätzen zu können. Softwaretester sind dann die Übersetzer zwischen der Technik und der Fachlichkeit.

QS sorgt für doppelte Sicherheit – zwei Paar Augen sehen mehr als eines.

Steffen Lohmann, Technischer Projektleiter bei neusta software development

Stetige Verbesserung ist das Ziel

Softwaretest ist kein Ausbildungsberuf, sondern kann letztlich jeder Mensch mit einer gewissen IT-Affinität machen. Doch je höher die Qualifikation ist, desto breiter kann die Tätigkeit ausgeübt werden. Als professionelle Tester und Testerinnen bringen die meisten von uns ein hohes Maß an Eigenverantwortung und einen Drang nach stetiger Verbesserung mit. Das sind aus unserer Sicht gute Eigenschaften für die Arbeit in der QS.

„QS fängt beim Code Review an und sorgt für eine bessere Wartbarkeit des Codes“, sagt Steffen Lohmann. „Sie stärkt das Vertrauen des Kunden und der Benutzer, denn wir korrigieren Fehler proaktiv. QS sorgt für doppelte Sicherheit – zwei Paar Augen sehen mehr als eines.“

Mehr zum Thema Qualitätssicherung
Foto von Jannik Prestel

Über den Autor

Jannik Prestel behält in Projekten als Ansprechpartner für die Product Owner den Überblick. Seine Grundüberzeugung: Qualitätssicherung ist nicht die Aufgabe einer einzigen Rolle, sondern jeder im Team kann dazu beitragen, die Qualität hochzuhalten. Während seines Elektrotechnik-Studiums an der Hochschule Bremen hat Jannik Prestel als Werkstudent im Bereich Softwaretest bei neusta software development gearbeitet. In der QS bei der HEC arbeitet er seit Ende 2014.

Sie möchten mehr über Qualitätssicherung erfahren? Jannik Prestel freut sich, von Ihnen zu hören: jannik.prestel@hec.de.