I N F O R M I E R E N DETEKTIVE DES CODES Wie Tester*innen die Qualität von Softwareentwicklungen verbessern Testen ist ein elementarer Bestandteil der Softwareentwicklung. Denn: „Eine fehlerfreie Programmierung ist nicht möglich,“ weiß Dr. Carsten Kaven, Testmanager beim DVZ. Um demnach Fehler oder sogar Ausfälle zu ver- meiden, ist Testen unumgänglich. Nicht nur die vom Kunden gestellten Anforderungen werden geprüft, sondern auch gesetzliche Vorgaben, Regularien, Standards und Normen. Zusätzlich verbessert sich durch die Einbindung der Software-Anwender*innen im Testprozess die Benutzerfreundlichkeit. All dies führt dazu, dass die gelieferte Software eine möglichst hohe Qualität aufweist. Gleichzeitig spart es Zeit und Kosten ein, die durch aufwendige Nacharbeiten entstünden. Ein Plädoyer für das Testing. „Wir kommen ins Spiel, wenn ein Fachverfahren neu entwickelt wird oder eine Anwendung ein Update bekommt. Aber auch bei kleineren Software-Anpassungen sollte das Ergebnis getestet werden“, erklärt Dr. Kaven. „Idealerweise sind wir von Anfang an in einem Software-Projekt involviert. Denn nur so haben wir genügend Zeit, um uns in die An- forderungen einzuarbeiten und die benötigten Testfälle zu konzipieren“, ergänzt DVZ-Testerin Anja Gamalski. Darüber hinaus bietet das DVZ auch methodischen Support an, wenn ein Kunde einen externen Softwarelie- feranten beauftragt, aber trotzdem Test-Know-how benötigt. Step-by-Step durch den Test Jedes Test-Projekt durchläuft dabei das gleiche Schema, bei dem die einzel- nen Prozesse aufeinander aufbauen. Angefangen mit der Testplanung, in der vor allem die Teststrategie und das Testkonzept entwickelt werden: „Während wir bei der Teststrategie vor allem Fragen aufdecken, beantworten wir diese im Testkonzept“, verdeut- licht der Testmanager. Am Ende entsteht ein Dokument, das unter anderem das Testobjekt beschreibt, Ziele definiert, die Testmethoden, Infrastruktur oder zu erfassenden Metriken festlegt sowie eine Zeit- und Ressourcenplanung beinhaltet. „Als Testmanager schaffe ich einen strategischen und organisatorischen Rahmen, wohingegen die Tester*innen operativ die Testprozesse durchfüh- ren“, beschreibt Dr. Kaven die Rollen im DVZ. Sobald die Vorarbeit steht, werden Testfälle kreiert: „Hinter je- der Anforderung steht mindestens ein Testfall. Soll ich beispielsweise eine beauftragte Suchfunktion tes- ten, könnten die im Testfall zu prü- fenden Schritte wie folgt aussehen: Logge dich ein, aktiviere die Suchen- Funktion und suche nach 'Akte XY'“, schildert die Testerin. Zur Unterstützung und Durchführung der Testaktivitäten kommen im DVZ verschiedene externe Tools zum Ein- satz: seien es Jira, Xray oder Azure DevOps zur Verwaltung, Planung, Durchführung und Auswertung der Tests oder Tosca zur Automatisie- rung von Tests. „Ein typischer Fehler wäre beispielsweise, wenn ich bei Eingabefeldern, die ausschließlich Zahlen akzeptieren sollten, auch Text eingeben kann“, schmunzelt Anja Gamalski. Kann das Testing starten, durchläuft die Software nacheinander verschiedene Teststufen, die zeitlich und fachlich voneinander abgeschlos- sen sind: • Unittest: prüft einzelne, abgrenzbare Teile der Software auf Code-Ebene • Integrationstest: prüft das Zusammenspiel aller Module • Systemtest: prüft die Einhaltung der spezifizierten Anforderungen des Gesamtsystems • Systemintegrationstest: prüft das Zusammenspiel mehrerer Systeme • Abnahmetest: Kunde und Softwarelieferant prüfen die Produktionsreife des Gesamtsystems 10 02/23