Eine Frau und ein Mann unterhalten sich angeregt.

Methoden und Wissen

„Ich werde hellhörig, wenn es heißt: Das muss nur noch getestet werden.“

04. Dezember 2025 / Annekathrin Gut

Interview mit Daniel Gehrke und Kemalettin Oguz

Qualitätssicherung und Test in der Softwareentwicklung

Stellt euch vor, ihr wollt online ein Ticket für das nächste Konzert eurer Lieblingsband buchen. Und dann das: Die Seite lädt und lädt – und bricht schließlich ab. Leute, die verhindern, dass so etwas passiert, sind Kemalettin Oguz und Daniel Gehrke. Die beiden Softwaretester der HEC sorgen für umfassende Qualität in der Softwareentwicklung. Im Interview erzählen sie, worauf sie beim Testen achten und warum Qualitätssicherung (QS) eine Teamleistung ist.

Mal angenommen, ich möchte die Entwicklung einer Individualsoftware beauftragen. Was bedeutet professionelle Qualitätssicherung konkret für mein Projekt?

Daniel Gehrke: Ich ziehe ganz gerne die Analogie zum TÜV. Den TÜV kennen wir alle als die, die uns alle zwei Jahre bei den Autos ärgern. Man sieht aber gar nicht so richtig, dass der TÜV ja noch viel mehr macht.

Wenn ich als Autohersteller ein neues Bremssystem auf den Markt bringen möchte, dann baue ich das ja auch nicht fertig und sage am Ende: ‚So, lieber TÜV, jetzt setzt euch doch mal rein und guckt, ob das Ding wirklich bremst.‘ Sondern man stellt von Anfang an Richtlinien auf, welche Bedingungen für ein Bremssystem erfüllt werden müssen und testet erstmal auf einem Prüfstand.

Das Gleiche machen wir als QS in der Softwareentwicklung. Wir sind von Anfang an dabei und geben Richtlinien vor, wie die Qualität eingehalten werden muss und wie die Komponenten getestet werden. Und zwar von allen, nicht nur von uns.

Ab wann sollte ich als Kunde also über Qualitätssicherung nachdenken?

Kemalettin Oguz: Qualität spielt von Anfang bis Ende eine zentrale Rolle. Manche haben das Bild vor Augen: ‚Dann testen wir es eben am Ende ganz schnell.‘ Aber es beginnt schon ganz am Anfang bei den klaren Anforderungen und zieht sich konsequent bis zum Ausliefern des Produktes. Nur wenn Qualität frühzeitig mitgedacht wird, lässt sich ein verlässliches und nachhaltiges Ergebnis erzielen.

Daniel Gehrke: Wir machen Qualitätssicherung, um Risiken zu minimieren. Zum Beispiel das Risiko, dass jemand beim Programmieren einen Fehler macht oder dass sich der Kunde falsch ausgedrückt hat. Menschen machen Fehler.

Es gibt Produktrisiken, die mit unserer Software zusammenhängen. Es gibt aber auch Projektrisiken, die das Umfeld betreffen: Haben wir die passenden Leute, die das Ganze umsetzen sollen? Ist das Budget korrekt? Sind unsere Vorgehensweisen wie Scrum oder das Wasserfallprinzip passend? Auch darauf achten wir.

Damit wird deutlich, dass QS von Anfang an dabei sein muss. Beim Hausbau muss ich ja auch gucken, ob das Fundament richtig gegossen wurde. Ich kann nicht am Ende ein wackelndes Haus haben und sagen: ‚Ja, stimmt, das Fundament war damals auch doof.‘

Woran kann ich festmachen, ob das Testing erfolgreich durchgeführt wurde?

Kemalettin Oguz: Es gibt etablierte Standards für das Testing an sich – und dann gibt es Standards, die im gesamten Projektumfeld eingehalten werden sollten. Wenn wir nach Scrum entwickeln, ist es eine zentrale Aufgabe, auf die Grundbausteine zu achten.  Dazu gehört beispielsweise eine Definition of Ready, also die Kriterien, wann ein Arbeitspaket wirklich bereit für die Entwicklung ist. Wir definieren eine Teststrategie, sowie eine Definition of Done, die festlegt, wann etwas tatsächlich als fertig gilt.  Ohne solch abgestimmten Rahmenbedingungen kann Qualität gar nicht entstehen.

Daniel Gehrke: Ich würde das noch ein bisschen allgemeiner ausdrücken. Zum einen arbeiten wir nach ISTQB (International Software Testing Qualifications Board) Standard und sind entsprechend zertifiziert.

Außerdem brauchen wir für eine Individualsoftware einen individuellen Prozess. Dafür definieren wir genau diese Standards, die Kemal gerade genannt hat. Und dennoch passen wir unsere Vorgehensweise individuell an die Gegebenheiten an. Was für einen Kunden haben wir? Was für eine Software muss entwickelt werden? Was finden wir schon vor? Denn seltenst arbeiten wir auf der grünen Wiese, sondern erweitern eine bereits vorhandene Softwarelandschaft.

Personen diskutieren fröhlich an einem Arbeitstisch.
Qualitätssicherung ist immer eine Teamaufgabe, meint Daniel Gehrke (rechts im Bild).

Wie funktioniert die Zusammenarbeit zwischen Entwicklung und Test?

Daniel Gehrke: Mein Ziel wäre es, da gar nicht zu unterscheiden. Denn am Ende ist es ein ganzes Team, das etwas baut. Ich nehme wieder die Analogie zum Hausbau: Auch da müssen die Handwerksmenschen Hand in Hand arbeiten. So ist es hier auch: Ich habe Aufgaben, die prüfen sollen, ob die Qualität so ist, wie sie sein soll, auf allen Ebenen: beim Product Owner, beim Kunden, in der Entwicklung und auch bei der Qualitätssicherung. Natürlich gibt es jemanden, der den Hut dafür aufhat, das Ganze steuert und begleitet. Aber tun müssen es alle im Team.

Kemalettin Oguz: Wir sind in der QS nicht einen Schritt nach der Entwicklung, sondern wir sind ein Teil der Entwicklung. Ein Ticket, das entwickelt worden ist, aber noch nicht getestet wurde, ist schlicht nicht auslieferbar und liefert dem Kunden keinen Mehrwert.  Deswegen werde ich sehr, sehr hellhörig, wenn es heißt: ‚Das muss nur noch getestet werden.‘ Denn erst durch die Abnahme wird aus einer Entwicklung ein wirklich nutzbares Produkt.

Kemalettin Oguz, HEC GmbH
Kemalettin Oguz sorgt bei der HEC für Qualität in der Software.

Also kann ich am Testen nicht sparen?

Kemalettin Oguz: Es gibt verschiedene Studien, die zeigen, was es kostet, wenn im Nachgang ein Fehler gefunden wird. Man weiß nicht, wie lange der Fehler schon existiert und was für Auswirkungen er hatte. Einen erst im späteren Verlauf gefundenen Fehler zu fixen und dann noch mal zu deployen, ist für den Kunden kostenintensiver, als von Anfang an in eine vernünftig funktionierende Qualitätssicherung zu investieren.

Daniel Gehrke: Man sagt, der Faktor liegt bei 50 bis 100 für Fehler, die erst in der Produktion entdeckt werden. Um also auf die ursprüngliche Frage zurückzukommen: Nein, ich kann also gar nicht sparen.

Natürlich: Qualität ist immer das, was ich bestimme. Hat mein Pulli eine gute Qualität? Da haben wir drei sicherlich unterschiedliche Ansprüche. Qualität muss definiert werden. Ich habe natürlich die Möglichkeit, meine Qualitätsansprüche runterzuschrauben. Die Frage ist: Willst du das? Und ich glaube, da muss die Antwort sein: Nein, will ich nicht.

Lasst uns über das Technische sprechen: Was wird denn alles getestet?

Kemalettin Oguz: Auch das wird durch das Projekt vorgegeben. Es gibt Projekte, die arbeiten mit sensiblen Daten, da sind die Themen Datenschutz und Sicherheit relevant. Es gibt Projekte, die sehr performant laufen müssen, weil sie eine hohe Nutzerlast haben. Da müssen gewisse Last- und Performance-Testszenarien gebaut werden. Es gibt Projekte, bei denen beides weniger relevant ist – dort rücken andere Qualitätskriterien in den Vordergrund. Entscheidend ist es also, die Tests an die Anforderungen des Projektes anzupassen.

Also ist das genauso individuell wie das Projekt. Ihr orientiert euch an den Anforderungen und am Qualitätsbewusstsein des Kunden.

Kemalettin Oguz: Genau. Bei jedem Projekt gilt, dass die Kundenanforderungen geprüft werden müssen: Was ist am Ende wirklich nutzbringend für ihn? Dieses Paket muss auf jeden Fall funktionieren. Darüber hinaus sind es individuelle Anpassungen, die projektabhängig sind.

Daniel Gehrke: In der ISO 25010 steht, was alles zur Softwarequalität gehört. Es gibt funktionale Anforderungen, also Dinge, die die Software tun soll. Und es gibt nicht-funktionale Anforderungen: Wie schnell macht sie das? Wie gut sind Performance, Effizienz, Benutzbarkeit, digitale Barrierefreiheit, Sicherheit oder Portabilität?

Das hängt stark davon ab, was wir entwickeln. Es gibt Anwendungen, wo Portabilität wichtiger ist als anderswo. Eine Handy-App, die muss auf allen möglichen Handys laufen. Wenn die Anwendung nur in einem Browser im Unternehmen laufen soll, dann ist das nicht so wichtig.
 

Die Vorstellung ist immer cool: Wir automatisieren die Tests, dann brauchen wir nichts mehr zu tun. Tatsächlich ist es aber so: Eine Software lebt und wird verändert. Auch die Tests müssen angepasst werden.

Tests lassen sich automatisieren. Wann automatisiert ihr, wann arbeitet ihr manuell und welche Vorteile bringt das jeweils?

Daniel Gehrke: Das ist ein gerne genanntes Schlagwort. Die Vorstellung ist immer cool: Wir automatisieren die Tests, dann brauchen wir nichts mehr zu tun. Tatsächlich ist es aber so: Eine Software lebt und wird verändert. Auch die Tests müssen angepasst werden. Wenn ich eine Automatisierung schreibe, dann baue ich auch eine Software. Für die Entwicklung der automatisierten Tests muss ich mir die gleichen Gedanken machen, wie für jede andere Softwareentwicklung auch.

Es gibt verschiedene Ebenen, auf denen ich automatisieren kann. Die einfachsten Tests sind Komponenten-Tests während der Entwicklung. Die machen wir immer. Da werden große Teile des Codes isoliert vom Rest des Systems getestet. Dann gibt es Schnittstellentests – immer da, wo irgendwelche Sachen miteinander kommunizieren. Also zum Beispiel die Datenbank mit meiner Anwendung. Aber auch mein Online-Shop mit PayPal. Und dann gibt es ganze Business Cases, die ich von Anfang bis Ende durchtesten kann.

Das könnte ich alles automatisieren. Das ergibt dann Sinn, wenn eine Entwicklung über einen längeren Zeitraum mehrere Iterationen hat. Da möchte ich wissen: Wenn ich an einer Stelle etwas anfasse, was mache ich dabei woanders vielleicht kaputt? Automatisierung ist kein Allheilmittel. Doch mit Automatisierung kann ich in kürzerer Zeit und kontinuierlich testen.

Kemalettin Oguz: Gerade bei Tests, die wiederkehrend sind, bietet sich eine Automatisierung hervorragend an. Das sind beispielsweise Regressionstests oder Smoke-Tests, die bei einem Projekt, das länger läuft, immer wieder durchgeführt werden müssen. Automatisierte Tests nehmen hier Arbeit ab und sorgen für Sicherheit, wenn es nicht allzu viele Änderungen im Laufe des Projekts gibt. Besonders in Bereichen, die ein gewisses Risiko bergen, wie ein Zahlungsprozess, der in einem gewissen Zyklus abgetestet werden soll.

Was sind typische Fehler, die ihr häufig aufdeckt?

Daniel Gehrke: Es gibt Fehler im Prozess. Zum Beispiel wenn Leute meinen, sie hätten die Anforderungen richtig aufgeschrieben, da brauche keiner mehr draufzugucken. Wir stellen häufig fest, dass Kund:innen sich das Ergebnis am Anfang ganz anders vorgestellt haben. Dann sieht man es umgesetzt und sagt: ‚So ist das gar nicht praktikabel.‘

Und es gibt Fehler in Produkten. Immer mal wieder kommen Designfehler vor. Irgendwas wird in Browsern nicht richtig angezeigt oder nicht ganz so umgesetzt wie in der Vorlage. Häufig wird an den Standard-Fall gedacht, aber nicht an den Grenzfall. Wenn wir sagen: Wir versichern Erwachsene ab 18 bis 65 Jahren – was heißt das denn ganz genau? Der Geburtstag um 23:59 Uhr? Die genaue Geburtszeit? Und in welcher Zeitzone?

Kemalettin Oguz: Die häufigsten Befunde sind Darstellungsfehler. Es gibt auch Systeminfrastrukturprobleme: Etwas funktioniert auf einer Testumgebung einwandfrei, nach dem Deployment auf der Produktivumgebung aber nicht mehr, weil dort die Rahmenbedingungen anders sind.

Erinnert ihr euch an Kunden, wo ihr durch Testen richtig grobe Fehler verhindern konntet?

Daniel Gehrke: Eins meiner Lieblingsbeispiele ist ein Paket-Logistiker, bei dem wir Tests durchgeführt und entdeckt haben, dass Millionen von Paketen falsch abgerechnet worden wären. Und beim selben Kunden wurde durch Monitoring, also durch Beobachten der laufenden Produktionsumgebung, ein Hacking-Angriff entdeckt und verhindert. Da wären sonst tausende Kund:innen mit Spam belastet worden.

Wir haben außerdem festgestellt, dass einmal fast die gesamte Produktion stehen geblieben wäre. Man kann sich vorstellen, was bei großen Paket-Logistikern passiert, wenn die einen Tag lang ihre Pakete nicht verschicken können, weil durch ein Software-Update auf einmal alle Scanner nicht mehr funktionieren.

Kemalettin Oguz: Bei der Ticketverkaufsplattform eines Sportvereins war die Umgebung nicht mal ansatzweise so stabil, dass das neue System die durchschnittliche Anzahl der bisherigen User:innen aushalten konnte. Da mussten wir erheblich nachbessern, was die Performance und die Lasteigenschaften angeht. Wenn wir ohne Lasttest live gegangen wären, dann hätten die Leute wahrscheinlich keine Tickets kaufen können, weil das System eingestürzt wäre.
 

Wenn eine Software fertig entwickelt ist, ist es dann auch später noch sinnvoll etwas zu Testen?

Kemalettin Oguz: Auf jeden Fall ist Monitoring nach einem erfolgreichen Deployment relevant und ist ein Bestandteil der Qualitätssicherung. Es beobachtet relevante Parameter und zeigt an, falls ein Server ausfällt oder unerwartet hohe Last aushalten muss. Wir hatten das neulich bei einem Kunden: Die Seite war mehrfach sehr häufig für ganz kurze Zeit offline. Mit einem Monitoring wäre das viel früher und nicht erst durch Zufall aufgefallen.

Wenn ihr einen Blick Richtung Zukunft werft: Was glaubt ihr, wie sich Qualitätssicherung und Testing verändern werden?

Kemalettin Oguz: Ich glaube, dass sich unsere Rolle generell extrem verändert hat. QS ist eine beratende Funktion geworden. Wir sind zwar immer noch für gewisse Ticketabnahmen zuständig. Aber sowohl die Kunden als auch das gesamte Team brauchen Menschen in den Projekten, die den ganzen Prozess begleiten und sagen: ‚Hier können wir besser werden.‘ Leute, die auch mal kritische oder unangenehme Fragen stellen und Diskussionen anregen.

Daniel Gehrke: Das wird mit KI noch spannender. Die KI lügt uns ja mit vollster Überzeugung ins Gesicht, Stand heute. Wer prüft also, was die KI macht? Wir werden uns natürlich durch KI immer mehr unterstützen lassen. Aber gleichzeitig muss irgendwer validieren und verifizieren, was die KI macht. Das wird immer mehr unsere Rolle sein. Und damit wird das noch mehr zu dem, was Kemal gerade gesagt hat: QS wird noch mehr einen beratenden Ansatz haben.

Wie haltet ihr mit der technologischen Entwicklung Schritt?

Kemalettin Oguz: Unser Vorteil bei der HEC ist, dass wir einen breiten Querschnitt aus dem gesamten Markt sehen. Wir haben so viele Projekte und Menschen in ganz verschiedenen Teamkonstellationen. Das ergibt einen guten Austausch. Wir haben einen breit gefächerten Wissenspool, aus dem wir schöpfen können. Im Vergleich zu Firmen, die nur ein Produkt entwickeln, sind wir so technologisch breiter aufgestellt und kriegen Entwicklungen in bestimmten Branchen schneller mit.

Daniel Gehrke: Und da kommt hinzu, dass wir bei verschiedenen Kunden auch häufig mit anderen IT-Dienstleistern eben zusammenarbeiten. Und darüber natürlich noch mehr Wissen reinkommt.

 

Über unsere Experten

Daniel Gehrke

Daniel Gehrke

QS und Testing

0421 20750 0 E-Mail senden

Daniel ist ein Routinier in der Softwareentwicklung mit über zwanzig Jahren Erfahrung. Vor mehr als zehn Jahren hat er seine wahre Leidenschaft entdeckt: die Qualitätssicherung. Seitdem engagiert er sich für Qualität und Testing in Softwareprojekten. Als Mentor und Coach steht er Kolleg:innen zur Seite und vermittelt als Trainer sein umfangreiches Wissen. Er unterstützt Teams und Kund:innen darin, Software auf das nächste Qualitätslevel zu heben.

Kemalettin Oguz

Kemalettin Oguz

QS und Testing

0421 20750 0 E-Mail senden

Seit 2018 sorgt Kemalettin in der Qualitätssicherung dafür, dass in Projekten Qualität von Anfang verankert wird und Standards zuverlässig umgesetzt werden. Der studierte Informatiker legt Wert auf strukturiertes Arbeiten: lieber eine Aufgabe sauber und vollständig abschließen, als viele nur halb. Zusätzlich begleitet er Teams bei der Prozessoptimierung sowie im Anforderungs- und Releasemanagement. Seine Mission: Produkte nicht nur fehlerfrei, sondern langfristig stabil, nachhaltig und verlässlich gestalten.