04. Juli 2024

AccsoNet Day: Ein Rückblick auf die Fish-Bowl-Session „Nachhaltiges Testen "

Am 15. Juni hat die Testcommunity beim AccsoNet Day zur Diskussion im Fish-Bowl-Format eingeladen. Unter dem Titel „Nachhaltiges Testen“ wurde eine lebhafte und erhellende Diskussion geführt. Im Mittelpunkt stand dabei nicht die ökologische Dimension von Software, sondern die langfristige Zuverlässigkeit und Wartbarkeit von Tests und Qualitätsmanagement.
1060 x 710 Simons Manuela

Autor:in

Manuela Simons

1060 x 710 Axel Burgof

Autor:in

Axel Burghof

1060 x 710 Luthmann Lars

Autor:in

Lars Luthmann

20240704 Nachhaltiges Testen Accso Con

Warum Nachhaltiges Testen?

Unsere Fish-Bowl-Session begann mit einer prägnanten Einführung in das Thema. „Nachhaltiges Testen“ bedeutet, sicherzustellen, dass Tests und das Qualitätsmanagement eines Softwareprodukts nicht nur kurzfristig, sondern dauerhaft robust und effektiv sind. Tests sollten nicht nur anfangs gut funktionieren, sondern auch in der Lage sein, Änderungen und Erweiterungen in der Software nahtlos zu unterstützen. Das Ziel ist es, eine Teststrategie zu entwickeln, die auch in Zukunft verlässlich und wartbar bleibt.

Im Folgenden möchten wir gerne die Erkenntnisse und Best Practices teilen, die die Teilnehmenden der Session diskutiert haben.
 

Die Ausgangslage: Software ohne Tests

Viele Unternehmen stehen vor der Herausforderung, ein Softwareprodukt ohne bestehende Tests zu betreiben. In solchen Fällen muss das Management überzeugt werden, die Bedeutung von Tests anzuerkennen und in ein umfassendes Qualitätsmanagement zu investieren. Fehlende Tests können zu schwerwiegenden Risiken führen, wie einem fehlerhaften Verhalten der Software, das hohe Kosten verursachen kann.

Das Management überzeugen

Ein häufiges Problem ist, dass das Management den Wert von Tests nicht erkennt oder sie als zu teuer ansieht. Ohne ein solches Verständnis können Code-Änderungen schnell zu einem Kontrollverlust führen. Ein anschauliches Beispiel verdeutlichte dies: Auf einer „grünen Wiese“ starten Entwickler:innen oft intuitiv mit dem Testen, doch mit fortschreitender Entwicklung wird diese Herangehensweise unzureichend. Automatisierte Tests werden unverzichtbar, um die Qualität zu sichern.

"Der Maler würde niemals eine Hausfassade ohne Sicherheitsgerüst streichen. Das Gerüst stellt der Maler zu seiner eigenen Sicherheit auf. Und darüber wird nicht diskutiert."Leitspruch zur Überzeugung des Managements:

So wie das Gerüst für den Maler unverzichtbar ist, sind Tests für Entwickler:innen unerlässlich, um die Qualität des Softwareprodukts sicherzustellen.

Risikoanalyse als erster Schritt

Ein Ansatz zur Einführung von Tests besteht darin, zunächst die größten Risiken zu identifizieren. Diese Risiken werden dann durch gezielte Tests abgedeckt. Dies hilft, das Management zu überzeugen, da die Investition zur Reduzierung spezifischer Risiken geführt hat. Eine andere Möglichkeit besteht darin, die für den Kunden wichtigsten Qualitätsmerkmale zu definieren und darauf basierend geeignete Tests zu implementieren, z. B. Lasttests für die Performance oder funktionale Tests zur Erfüllung der spezifizierten Anforderungen.

Die Arbeitsweise der Entwickler:innen verändern: Test Driven Development (TDD)

Ein zentraler Aspekt des nachhaltigen Testens ist die Arbeitsweise der Entwickler:innen. Hier wurde das Prinzip des Test Driven Development (TDD) hervorgehoben. Bei TDD schreiben Entwickler:innen die Tests vor der eigentlichen Implementierung. Dies erfordert ein gutes Anforderungsmanagement, da die Anforderungen klar sein müssen, bevor die Entwicklung beginnt. Der „Shift Left“-Ansatz betont, dass frühes Testen Kosten spart, da Fehler frühzeitig entdeckt und behoben werden können.

Anforderungen und Szenarien: Die Basis für Tests

Ein weiteres wichtiges Thema war das Anforderungsmanagement. Klare und präzise formulierte Anforderungen bilden die Grundlage für effektive Tests. Szenarien, die aus den Anforderungen abgeleitet werden, können strukturiert und in natürlicher Sprache formuliert werden, wie es beim Behaviour Driven Development (BDD) der Fall ist. Diese Szenarien – gegliedert in „Given/When/Then“ – helfen, die gewünschten Effekte und Eigenschaften der Software zu überprüfen.

Der Umgang mit Testdaten

Ein automatisierter Test ist nur so gut wie die Testdaten, die ihm zugrunde liegen. Die Bereitstellung geeigneter Testdaten ist entscheidend für die Ausführung sinnvoller Testszenarien. Es ist wichtig, Design-Patterns zu verwenden, die klar erkennen lassen, worum es im jeweiligen Test geht. Eine zentrale Empfehlung war die Nutzung des Builder-Patterns, um Testdaten auf allen Ebenen von Testarten effizient zu managen. Durch das Auslagern der Testdatengestaltung bleibt der Testcode übersichtlich und wartbar.

Unser Fazit

Die Diskussionen beim Accso-Net Day zeigten deutlich, dass nachhaltiges Testen mehr ist als nur eine Sammlung von Techniken. Es ist eine Denkweise, die sicherstellt, dass Qualität nicht nur ein kurzfristiges Ziel ist, sondern ein fortlaufender Prozess. Durch das Teilen von Wissen und Best Practices können wir gemeinsam sicherstellen, dass unsere Softwareprodukte ebenso zuverlässig sind wie unser täglicher Kaffee.

Lassen Sie uns weiterhin daran arbeiten, unsere Tests und unsere Software zukunftssicher zu gestalten!

AccsoNet

Die Test-Community bei Accso

Erfahren mehr über unser Engagement für Qualität in der Softwareentwicklung

Test Community Accso