Teamarbeit bereits während der Planung und Dokumentation

Softwaretesterinnen und -tester in der Qualitätssicherung (QA) arbeiten eng mit dem Produktmanagement und dem Softwareentwicklungsteam zusammen. Das Produktmanagement ist dafür zuständig, ein Produkt immer weiterzuentwickeln. So werden beispielsweise neue Funktionen hinzugefügt, Kundenwünsche berücksichtigt, rechtliche Vorgaben umgesetzt oder die Sicherheit einer Software verbessert. Diese neuen Funktionen einer Software werden in Requirements, also Anforderungen, detailliert beschrieben und schriftlich festgehalten. Das Produktmanagement bespricht die neuen Anforderungen mit dem Softwareentwicklungs- sowie Softwaretestteam. Dieser Austausch ist enorm wichtig, damit alle, die an einer Software arbeiten, auf dem gleichen Stand sind und wissen, was genau gefordert wird und wie dies umgesetzt werden soll. Hierbei können alle Teams Vorschläge einbringen und eventuelle Schwachstellen in den Anforderungen ausbessern. Die Dokumentation der Requirements sollte dabei stets auf dem aktuellen Stand gehalten werden.

Umsetzung der Anforderungen

Während die Entwicklerinnen und Entwickler die Software den neuen Anforderungen entsprechend programmieren, beginnt das Test-Team damit, neue Tests für die Anforderungen zu erstellen oder bestehende Tests anzupassen. Zudem wird die Testumgebung vorbereitet, also beispielsweise für die Tests benötigte Geräte beschafft. Bei kritischen Anforderungen erhält das Testteam eine vorläufige Softwareversion, sobald der Code hierfür umgesetzt wurde. So können die erstellten Tests verbessert und etwaige Fehler in der Software so früh wie möglich aufgespürt werden. Unklarheiten in den Anforderungen und Fragen zur Umsetzung im Produkt werden fortlaufend mit dem Produktmanagement und dem Entwicklungsteam geklärt.

Die QA auf der Bug Jagd

Wenn das Entwicklungsteam alle Anforderungen umgesetzt hat, überprüft die QA die Software auf Herz und Nieren. Sie führt die erforderlichen Tests durch, dokumentiert alle gefundenen Bugs und leitet diese an das Entwicklungsteam weiter. Die Bugs werden gemeinsam mit der QA, dem Produktmanagement und der Softwarentwicklungsabteilung besprochen und je nach Schwere und Dringlichkeit priorisiert. In dieser Phase fällt dann auch manchmal der berühmte Satz: „It’s not a bug, it’s a feature!“ Dies bedeutet, dass ein Verhalten der Software nicht als Fehler angesehen wird, sondern als positives Merkmal. Anschließend werden die gefundenen Fehler vom Entwicklungsteam ausgebessert. Die Softwaretesterinnen und -tester führen dann einen zweiten Testlauf durch und legen besonderes Augenmerk darauf, ob die Bugs behoben wurden. Manchmal schleichen sich aber auch neue Fehler in die Software. Daher ist es sehr wichtig, auch im zweiten Testlauf alle Tests auszuführen und sich nicht nur auf die Bereiche zu konzentrieren, in denen Bugs gefunden wurden.

Austausch als Erfolgsfaktor

Am Ende der Releasephase gibt das Testteam eine Einschätzung über die Softwareversion. Wenn keine neuen Fehler aufgetaucht sind, kann das Produkt an die Kundinnen und Kunden ausgerollt werden. Zum Abschluss setzen sich alle Teams noch einmal gemeinsam zusammen und besprechen, was im Release gut gelaufen ist und an welchen Stellen man etwas verbessern sollte. Ein produktiver Austausch zwischen den Teams ist ein wichtiger Erfolgsfaktor für eine bessere Softwarequalität und sollte daher nicht vernachlässigt werden.

Monika M.