Wege zum agilen Testmanagement

Breiter testen

von - 27.10.2021
Programmierer und Tester stehen vor der Herausforderung, dass sich das ganze Spektrum möglicher Nutzeraktionen nur schwer vorhersehen lässt. Unerwartete Eingaben können zu Sicherheitslücken und Qualitätsproblemen führen. „Bei funktionalen Tests fokussiert man sich auf die er­warteten Anforderungen“, erklärt Code-Intelligence-Chef Dechand. „Es gibt aber so viele andere Ereignisse, die passieren können, an die ein Entwickler vielleicht nicht denkt.“ Jürgen Bernert von Avision empfiehlt daher, eine zweite Qualitätsstufe einzubauen und einen unabhängigen Tester mit der Überprüfung zu betrauen. „Wir haben eigens Kollegen im Team, die genau für diese Aufgabe zuständig sind.“
Eine weitere Möglichkeit, auch unerwartete Eingaben zu finden, die Fehler oder Sicherheitsprobleme nach sich ziehen, ist das sogenannte Fuzz-Testing. Seit den 1980er- Jahren nutzt man dieses Verfahren, um nach der Schrotschussmethode Software so lange mit zufälligen Eingaben zu konfrontieren, bis diese abstürzt. Code Intelligence hat diesen Ansatz verfeinert und weiterentwickelt. Die Lösung des Anbieters analysiert Reaktionen der Software auf Eingaben und passt die Testfälle auf Basis der Ana­lyseergebnisse so an, dass die Code-Abdeckung maxi­miert wird. „Wir überlassen das Testen nicht dem Zufall, sondern versuchen, möglichst alle Zustände zu erreichen, die auftreten können“, erklärt Dechand. Je breiter die Abdeckung, desto mehr potenzielle Sicherheitslücken und Fehler würden aufgedeckt. „So lässt sich der Grad der IT-Sicherheit in Software deutlich erhöhen“, verspricht der CEO von Code Intelligence.
Roman Zednik
VP Presales Solution Architects bei Tricentis
Foto: Tricentis
Manuelles Testen muss auf ein Minimum reduziert werden.
Dechand vergleicht seine Lösung gerne mit Penetra­tionstests, bei denen Security-Experten versuchen, Software zu hacken und in Systeme einzudringen. Da sie jedoch nur ein begrenztes Zeitbudget zur Verfügung haben, finden sie nicht notwendigerweise alle kritischen Sicherheitslücken. „Ein Pentester hat vielleicht fünf Tage Zeit für seine Prüfung – was passiert aber, wenn ein Krimineller zehn Tage in seinen Angriff investiert?“, fragt Dechand. Die Code-Intelligence-Lösung skaliere wesentlich besser als der Einsatz von Personal und könne so die Risiken weiter reduzieren: „Wir finden auch nach abgeschlossenen Pentests fast immer noch Fehler.“ Fuzz-Testing entlaste außerdem die menschlichen Experten: „Statt sich mit trivialen Code-Fehlern zu beschäftigen, können sich Pentester auf Fehlerklassen konzentrieren, bei denen wir nicht so gut sind, etwa Fehler in der Kryptografieanwendung oder bei Pfaden, die sich nicht automatisiert erreichen lassen.“
Die Vorteile des Fuzz-Testings werden laut Dechand auch zunehmend von Behörden und Standardisierungsgremien erkannt. „Im Sommer wird mit der ISO 21434 ,Road ve­hicles – Cybersecurity engineering‘ ein neuer Standard zur Cyber-Security im Automobilbereich veröffentlicht, in dem Fuzz-Testing als Ersatz für Pentesting genannt wird.“ Auch im medizinischen Bereich gebe es ähnliche Ansätze. „Ich denke, es ist nur eine Frage der Zeit, bis auch die Bafin und ähnliche regulatorische Instanzen das Fuzz-Testing zum Pflichtprogramm hinzufügen.“

Lösungen für Testautomatisierung (Auswahl)

Anbieter

Produkt

Leistungsumfang

Code Intelligence
www.code-intelligence.com/product-tour

CI Fuzz

Automatisierte Security- und Stabilitätstests, die auf Basis der Fuzz-Technologie eine gezielte Erweiterung der Testabdeckung ermöglichen; Details zu Fehlern und Schwachstellen werden über eine Dashboard übersichtlich dargestellt.

Micro Focus
www.microfocus.com/en-us/portfolio
/functional-testing-software-testing/

UFT

Durchgängige, KI-gesteuerte Testautomatisierung; unterstützt schnelle Änderungen innerhalb einer Continuous Development Pipeline. Komponenten: UFT One für Web-, Mobil-, API- und Unternehmensanwendungen, UFT Developer für funktionale Tests mit Standard-Programmiersprachen, IDEs und Test-Frameworks, UFT Mobile für die Entwicklung von Omnichannel Apps, Service Virtualization für den Test von Services und APIs, um Abhängigkeiten und Engpässe zu beseitigen.

Progress
www.telerik.com/teststudio

Telerik Test Studio

Testautomatisierungsplattform für Web-, Desktop- und responsive Web-Anwendungen; grafische Benutzeroberfläche für die automatische Aufzeichnung und Wiedergabe von Testfällen; automatische Erkennung von Elementen, Dashboard für die Visualisierung der Testergebnisse

Ranorex
www.ranorex.com/de/

Ranorex Studio

Toolset für das End-to-End-Testing von Desktop-, Web- und mobilen Applikationen; Erstellung von Automatisierungsskripten auch ohne Programmierkenntnisse möglich; detaillierte Reports für Tester, Entwickler und Projektmanager

RapidRep
www.rapidrep.de/uebersicht-test-suite

Test Suite

Automatisierungslösung für Web-Service-Tests, Vergleichstests, Funktionstests, Migrationstests, Datenqualitätsauswertungen und Model Based Testing;

SmartBear
https://smartbear.com/product/
testcomplete/overview/

TestComplete

Automatisierte Tests zur Bedienbarkeit von Benutzeroberflächen; KI-basierte automatische Erkennung von Elementen in grafischen Benutzeroberflächen; Erstellung skriptloser Tests ohne Programmierkenntnisse möglich

Symflower
https://symflower.com/de/

Symflower

Automatische Generierung von Unit-Tests auf Basis von KI und mathematischen Modellen; vollautomatische Erkennung von Fehlern sowie Leistungs- und Sicherheitsproblemen im Quellcode

Tricentis
www.tricentis.com/de/plattform/
automate-continuous-testing-tosca/

Tosca

KI-basierte Continuous-Testing-Plattform für die End-to-End-Testautomatisierung; Testfälle lassen sich ohne Skripte oder Codieren definieren; unterstützt über 160 Technologien und Unternehmensanwendungen

Verifysoft Technologoy www.verifysoft.com/
de_conformiq_automatic_test_generation.html

Conformiq

Automatisierte Entwicklung und Erstellung funktionaler Tests; Testpläne, Testfälle und ausführbare Testskripte lassen sich automatisch durch einen Testgenerator erstellen. Bei Änderungen des Produkt- bzw. Softwaredesigns werden die Testskripte automatisch aktualisiert. Die generierten Tests sind laut Hersteller für eine schnelle Ausführung optimiert und bieten eine hohe Testabdeckung.

Verwandte Themen