In der Welt der Softwareentwicklung und Produktentwicklung hört man oft den Begriff "QA-Testing". Auf den ersten Blick scheint es sinnvoll: Testing ist wichtig, um Fehler zu finden, und Quality Assurance (QA) sorgt für Qualität. Doch bei genauerer Betrachtung ist der Ausdruck "QA-Testing" nicht wirklich korrekt und führt oft zu Missverständnissen. Wenn man sagt, "QA ist nicht möglich" oder "QA-Testing ist nicht möglich", bedeutet das weniger, dass Qualitätssicherung als Konzept nicht existiert, sondern vielmehr, dass der Vorgang des Testens und der Prozess der Qualitätssicherung unterschiedliche Ziele und Rollen verfolgen. Dieses Missverständnis hat seine Wurzeln in der unklaren Abgrenzung zwischen QA und Testing, die häufig für Verwirrung sorgt, vor allem wenn in Projektteams und Unternehmen einzelne Verantwortlichkeiten oder Erwartungen nicht klar definiert sind.
Quality Assurance und Testing sind zwar eng miteinander verbunden, überschneiden sich jedoch nicht vollständig. Testing ist in erster Linie ein produktorientierter Vorgang. Tester nehmen die Software, das Produkt oder eine Komponente und prüfen es auf Fehler, Fehlerquellen, Schwachstellen oder Nichtübereinstimmungen mit den Erwartungen. Es geht darum, Probleme zu entdecken, die behoben werden müssen. Tester arbeiten oft mit Testfällen oder explorativen Tests und konzentrieren sich darauf, aus Sicht des Endnutzers oder aus technischer Perspektive das Produkt auf Herz und Nieren zu prüfen.
Im Gegensatz dazu ist QA prozessorientiert. Es geht nicht nur um die Suche nach Fehlern, sondern vor allem um die Einführung, Dokumentation und Einhaltung von Prozessen, die sicherstellen, dass die Qualität während des gesamten Entwicklungszyklus gesteigert und gehalten wird. QA sorgt dafür, dass Standards eingehalten werden, definiert Richtlinien, etabliert Methoden zur Fehlerprävention und unterstützt die Organisation dabei, eine Qualitätskultur zu leben. QA spezifiziert, wie Tests durchgeführt werden sollen, wie Bug-Reports abgewickelt werden, wer für die Überprüfung zuständig ist und wie zukünftige Fehler minimiert werden können. Deshalb ist QA eine kontinuierliche Aktivität, die Prozesse und Rahmenbedingungen festlegt, während Testing konkrete produktbezogene Aktionen umfasst.
Aufgrund dieser Differenzierung ist der Ausdruck "QA-Testing" eigentlich ein Widerspruch. Wenn man sagt, QA-Test, vermischt man zwei verschiedene Verantwortungsbereiche. Es entsteht die falsche Annahme, dass die Behebung von Fehlern und die Einführung von Prozessen identisch sind. Doch in vielen Unternehmen wird die Rolle von QA als reine Testfunktion wahrgenommen, was einem reduzierten Verständnis der Funktion von Qualitätssicherung gleichkommt. Ein typisches Szenario verdeutlicht dies: Ein Tester meldet wiederholt denselben Fehler bei jedem Release, beispielsweise dass ein doppelter Klick auf einen Button zu doppelten Datenbankeinträgen führt.
Für den Tester kann dies monoton und frustrierend sein, da er immer wieder auf das gleiche Problem stößt. Hier greift die QA-Prozesssicht ein. QA würde analysieren, ob dieses Muster ein Hinweis auf grundsätzliche Unzulänglichkeiten in der Entwicklerausbildung, Requirements-Spezifikation oder im Sprint-Review-Prozess ist. QA kann dann Strategien empfehlen, etwa Schulungen für Entwickler, automatisierte Tests als Vorfilter oder auch Anpassungen der Arbeitsanweisungen. Zudem stellt QA sicher, dass es eine klar definierte Triage gibt: Wer bewertet Bugs, welche Prioritäten werden gesetzt und wer ist für die Umsetzung verantwortlich? Das reine Testing deckt nur den Produktaspekt ab, während QA den gesamten Lebenszyklus der Qualitätssicherung betrachtet.
Wenn bei einem Projekt keine klaren QA-Prozesse existieren, endet Testing im besten Fall mit einer langen Liste von Fehlern ohne effiziente Bearbeitung. Im schlimmsten Fall verzögert sich das Release oder es landen fehlerhafte Produkte beim Kunden. Ein weiteres wichtiges Element von QA ist die Definition von Akzeptanzkriterien. Diese Kriterien legen fest, wann eine Funktion als erfüllt gilt. Tester prüfen diese Kriterien im Rahmen ihrer Arbeit.
Wenn ein Tester etwa entdeckt, dass bei der Eingabe von Zahlen die Eingabe von "999e99" als gültig betrachtet wird, obwohl dies eigentlich wissenschaftliche Notation ist und nicht erlaubt sein sollte, verweist das auf Lücken in der ursprünglichen Anforderungsdefinition. QA vermittelt hier zwischen den Stakeholdern und stellt sicher, dass solche Kriterien von Anfang an klar und überprüfbar sind. Die Diskussion über die Begrifflichkeiten QA und Testing hat eine lange Tradition in der Softwareentwickler-Community. Seit Jahren wird darüber debattiert, ob ein "Test" gleichbedeutend mit QA ist. Auch heute noch wird auf Plattformen wie LinkedIn und in Foren kontrovers diskutiert, was genau gemeint ist, wenn jemand sagt: "Bitte mach mal QA auf diesem Projekt.
" Häufig meint der Auftraggeber eigentlich Unterstützung bei Tests, also Hilfe, die Software auf Fehler zu überprüfen. Andere wiederum verstehen darunter die Einrichtung und Optimierung von Prozessen zur Qualitätssicherung, was ganz andere Fähigkeiten und Verantwortlichkeiten erfordert. Es ist für jedes Unternehmen wichtig, diese Unterschiede klar zu kommunizieren und Rollen deutlich zu trennen. Das verhindert Verzögerungen, Missverständnisse und ineffizientes Arbeiten. In modernen agilen Teams beispielsweise wird Qualitätssicherung oft als Teamverantwortung verstanden, die von mehreren Rollen getragen wird – von Entwicklern über Tester bis hin zu Product Ownern und QA-Spezialisten.
Auf der anderen Seite ist das reine Testen ohne begleitende QA-Prozesse oft nicht effektiv genug. Tests zeigen zwar Fehler auf, doch ohne definierte Prozesse und organisatorische Maßnahmen werden Erkenntnisse nicht systematisch genutzt. Qualitätssicherung geht weit über das bloße Finden von Fehlern hinaus; es ist eine strategische Aufgabe, die dazu beiträgt, die Gesamtqualität langfristig sicherzustellen und Fehler frühzeitig zu vermeiden statt sie nur zu entdecken. Zusammenfassend lässt sich sagen, dass "QA-Testing nicht möglich ist", weil es sich um einen Begriff handelt, der zwei unterschiedliche Aspekte der Softwarequalität vermischt. Testing und QA ergänzen sich, sind aber nicht das Gleiche.