Wege zum agilen Testmanagement

Früher testen

von - 27.10.2021
Ein weiterer Ansatz, der Software-Qualität bei kürzeren Release-Zyklen garantieren soll, ist „Shift Left“: Das Testen soll früher in die Entwicklungs-Pipeline integriert werden und nicht erst als großer Block am Ende einer Release-Phase stehen. „Das Shift-Left-Testing hilft, Probleme anzugehen, bevor sie auftreten“, sagt Ramiro Millan von Progress. „Idealerweise wird der Code bereits vom Beginn der Entwicklung an regelmäßig statisch untersucht“, ergänzt Klaus Lambertz. Es sei erst dann sinnvoll, den Code durch Code-Reviews, Unit-Tests oder Integrationstests zu prüfen, wenn die statische Code-Analyse keine Fehler mehr anzeigt, so der Verifysoft-Geschäftsführer weiter. Statische Code-Analyse-Tools überprüfen den Code auf Syntax, Semantik, Kontrollfluss- und Datenflussanomalien, Nebenläufigkeitsprobleme sowie die Einhaltung von Codierrichtlinien und -standards. „Werkzeuge für die statische Analyse decken ohne Schreiben von Testfällen eine Vielzahl von Bugs auf und identifizieren sicherheitsgefährdende Schwachstellen“, sagt Lambertz. Die erfassten Code-Metriken geben außerdem Hinweise auf Qualitätsmerkmale wie Wartbarkeit, Erweiterbarkeit, Analysierbarkeit und Testbarkeit der Software, so Lambertz weiter. „Um die Software-Qualität langfristig zu sichern und die Release-Frequenz erhöhen zu können, macht die Beachtung von Metriken durchaus Sinn.“
Klaus Lambertz
Gründer und Geschäftsführer der Verifysoft Technology GmbH
Foto: Verifysoft
Werkzeuge für die statische Analyse decken ohne Schreiben von Testfällen eine Vielzahl von Bugs auf.
Sergej Dechand, Gründer und Geschäftsführer der Firma Code Intelligence, die eine Plattform für automatisierte Software-Security-Tests anbietet, warnt allerdings davor, statische Code-Analysen überzubewerten: „Das reine Scannen des Codes führt dazu, dass viele Fehler übersehen und jede Menge Fehlalarme generiert werden.“ Sobald die Software lauffähig ist, sollten die statischen Analysen durch dynamische ergänzt werden. „Bei sicherheitskritischer Software – also Software, bei der im Problemfall Menschen zu Schaden kommen können – sind dynamische Testverfahren und der Nachweis der Testabdeckung aus gutem Grund verpflichtend“, betont Klaus Lambertz.
Verwandte Themen