Was macht ein QA-Team in der Softwareentwicklung, wenn es nicht täglich Fehler findet?
Veröffentlicht: 2023-01-27Ingenieure der Qualitätssicherung (QA) hören das oft:
„Ihr Team hat gestern zwanzig Fehler entdeckt, aber heute haben Sie keine!“
Diese Haltung, so gültig sie auch erscheinen mag, widerspricht dem eigentlichen Zweck und den Zielen der Qualitätssicherung in der Softwareentwicklung.
Was macht ein QA in der Softwareentwicklung genau?
In diesem Artikel erklärt Andrey Gilyov, stellvertretender Leiter der QA-Einheit bei ITrex, warum Ihr QA-Team nicht untätig ist, selbst wenn es weniger Fehler findet. Außerdem erfahren Sie, warum Sie immer QA-Ingenieure einstellen sollten, um Ihr internes oder ausgelagertes IT-Team zu verstärken, anstatt den Code von Software-Ingenieuren testen zu lassen.
QA-Ziele verstehen und warum sie nicht auf die Fehlerverfolgung beschränkt sind
Je nach Art und Komplexität einer Softwarelösung, die Sie erstellen möchten, benötigen Sie möglicherweise einen Teilzeit-QA-Spezialisten oder ein dediziertes QA-Team für Ihr Projekt. Und ihre Verantwortlichkeiten gehen weit über das Lokalisieren von Fehlern und deren Meldung an den Projektmanager und das Entwicklungsteam hinaus.
Ziele der Qualitätssicherung umfassen insbesondere:
- Fehlervermeidung. Jüngste Umfragen zeigen, dass Softwareingenieure etwa 20 % ihrer Zeit damit verbringen, Fehler zu beheben. Multiplizieren Sie diese Zeit mit dem durchschnittlichen Stundensatz eines Softwareentwicklers, und Sie werden erkennen, wie viel fehlerhafter Code Ihr Unternehmen kosten könnte. Auch der Preis für die Fehlerkorrektur steigt exponentiell mit der Zeit im Softwareentwicklungs-Workflow – ganz zu schweigen von den langfristigen Auswirkungen der Veröffentlichung fehlerbehafteter Software in der Produktion, wie Sicherheitslücken, Beeinträchtigung des Kundenerlebnisses und Reputationsverluste. Der Hauptzweck der Qualitätssicherung in der Softwareentwicklung dreht sich also darum, Fehler zu finden, bevor sie erheblichen Schaden anrichten. Um dieses Kunststück zu vollbringen, bereitet sich ein QA-Team auf Tests vor, lange bevor es eine Softwarelösung in die Hände bekommt. Diese Vorbereitungsaktivitäten umfassen das Überprüfen der Testdokumentation, das Schreiben eines Testplans und von Testfällen, die Auswahl geeigneter Testwerkzeuge und die Konfiguration der Testumgebung.
- Verfolgung und Bewertung des Softwarestatus. Um fundierte Entscheidungen in Softwareprojekten treffen zu können, benötigen der Projektleiter und der Kunde aktuelle Informationen über das Softwareprodukt, an dem sie arbeiten. Zu den Zielen der Qualitätssicherung gehört unter anderem die Bereitstellung dieser Informationen zu einem beliebigen Zeitpunkt entlang der Zeitachse des Softwareprojekts. Erwähnenswert ist jedoch, dass Qualitätssicherungsingenieure nicht den besten Zeitpunkt für den Produktivstart einer Softwarelösung auswählen. Stattdessen ist es der Kunde, der die endgültige Entscheidung trifft. Nach Rücksprache mit dem QA-Team kann sich ein Kunde sogar entscheiden, eine Softwarelösung einzuführen, die dokumentierte Bugs und Fehler enthält! Sie können beispielsweise eine solche Entscheidung treffen, wenn der Zeitrahmen für die Veröffentlichung Ihres Produkts relativ knapp ist und der Kompromiss zwischen der Belohnung – dh dem Überholen der Konkurrenz oder dem Aktivieren einer kritischen Funktion – größer ist als das Risiko, es mit geringfügigen Fehlern auf den Markt zu bringen. In jedem Fall müssen Sie diese Fehler erkennen, dokumentieren und priorisieren, und das ist auch eines der Ziele Ihres QA-Teams.
- Anforderungsvalidierung. Die Hauptaufgabe der Qualitätssicherung in der Softwareentwicklung besteht darin, zu bestätigen, dass Ihre Softwarelösung wie erwartet funktioniert und alle Kriterien erfüllt, die im Dokument der Softwareanforderungsspezifikation (SRS) definiert sind. Wenn Qualitätssicherungsspezialisten manuelle oder automatisierte Tests durchführen und Fehler identifizieren, erstellen sie ein Ticket in einem Softwaresystem zur Fehlerverfolgung wie Jira oder ClickUp für das Entwicklungsteam. Sobald das Entwicklungsteam die Fehler behoben hat, wiederholt sich der Testzyklus. Daher ist das Auffinden von Fehlern nicht der Zweck der Qualitätssicherung; Vielmehr ist es ein Nebenprodukt der QA-Aktivitäten.
QA-Teams finden manchmal keine Fehler. Und das ist in Ordnung
Nachdem Sie sich nun mit den QA-Zielen und -Vorgaben beschäftigt haben, kehren wir zu der Frage zurück, die wir zu Beginn dieses Artikels gestellt haben.

Was macht ein QA-Team in der Softwareentwicklung, wenn ihre Fehlerberichte tagelang null Fehler enthalten?
Es gibt mehrere Gründe, warum QA-Spezialisten möglicherweise keine Fehler in Ihrer Software finden:
- Die Software wurde gründlich getestet. Wenn die Softwarelösung gründlich getestet wurde, ist es weniger wahrscheinlich, dass Fehler vorhanden sind, wenn sich der QA-Zyklus wiederholt oder das Produkt in Produktion geht.
- Die Software ist einfach aufgebaut. Anwendungen mit einem begrenzten Funktionsumfang, Integrationen und einfachen Benutzeroberflächen enthalten mit geringerer Wahrscheinlichkeit Fehler als Software mit komplexeren Architektur- und Leistungsanforderungen.
- Die Software basiert auf Best Practices. Software-Engineering-Teams, die sauberen und gut dokumentierten Code schreiben, Programmierstandards befolgen und eine Versionskontrolle verwenden, liefern oft Softwareprodukte mit wenigen Fehlern. Diese Fehler werden früh im Testprozess erkannt und korrigiert, und in späteren Phasen treten keine weiteren Fehler auf.
- Der Testprozess hätte umfassender sein können. Ein Mangel an Zeit, Ressourcen oder Fähigkeiten kann QA-Spezialisten daran hindern, Ihre Softwarelösung gründlich zu testen. Dadurch konnten einige Fehler übersehen werden.
- Die Fehler sind nicht reproduzierbar. Manchmal finden QA-Spezialisten keine Fehler, weil die Fehler nicht konsistent auftreten. Verschiedene Faktoren, darunter die Komplexität der Software, die Verwendung von Bibliotheken von Drittanbietern oder das Vorhandensein externer Abhängigkeiten, können zu solchen Situationen führen.
Unabhängig von der Ursache sollten Sie die Bedeutung von QA in der Softwareentwicklung nicht unterschätzen, geschweige denn mit dem Gedanken spielen, Entwicklern zu erlauben, den Code für Sie zu testen.
Verstehen Sie mich nicht falsch: Für Entwickler ist es in Ordnung, automatisierte Tests in funktionsübergreifenden Agile-Teams zu schreiben und auszuführen. Oder sogar Software manuell testen.
In solchen Teams, in denen Projektrollen häufig geteilt werden, besteht das Hauptziel jedoch darin, funktionierende Software oder Funktionen schneller freizugeben, die Time-to-Value zu verkürzen und frühzeitig Feedback zu sammeln. Hier könnten wir es mit dem im vorherigen Abschnitt beschriebenen Risiko-Ertrags-Problem zu tun haben. Und Ihr Projekt könnte daher technische Schulden anhäufen, was in Zukunft zu Leistungsproblemen und erheblichen Debugging-Kosten führen kann.
Weitere Gründe für die Einstellung engagierter QA-Spezialisten sind die folgenden:
- Zu wissen, wie man codiert, ist nicht gleichbedeutend damit, zu wissen, wie man den Code auf mögliche Fehler überprüft
- Entwickler haben selten Spaß am Testen, während QA-Experten dies tun
- Die Stundensätze von Softwareingenieuren sind in der Regel höher als die von Qualitätssicherungsspezialisten
- Entwickler und QA-Ingenieure haben normalerweise unterschiedliche Soft Skills. Bei QAs stehen Detailtreue, die Fähigkeit zur Analyse komplexer Systeme und Multitasking im Mittelpunkt. Auf der anderen Seite arbeiten Softwareentwickler oft in kollaborativen Umgebungen und konzentrieren sich jeweils auf eine einzelne Aufgabe.
Selbst wenn Ihr QA-Team heute keine Fehler gefunden hat, sollten Sie also nicht versucht sein, Qualitätssicherungsspezialisten zu entlassen oder Testaufgaben dem primären Entwicklungsteam anzuvertrauen. Auch wenn dieser Ansatz Ihren Gehaltsscheck kurzfristig reduzieren könnte, können die Kosten für den Verlust Ihrer Kunden aufgrund schlechter Softwareleistung oder fehlerbedingter Cyberangriffe um ein Vielfaches höher sein.
Und wenn Sie Hilfe benötigen, um zu validieren, dass Ihre Software gut funktioniert, alle Anforderungen erfüllt, die in Ihrem SRS oder Ihrer technischen Vision angegeben sind, und Ihnen hilft, Ihre Geschäftsziele zu erreichen, wenden Sie sich an die QA-Experten von IRex!
Ursprünglich am 20. Januar 2023 unter https://itrexgroup.com veröffentlicht.
