Cookie

Erst testen, dann einsetzen

Automatisierte Testverfahren steigern Softwarequalität und minimieren Risiken

 

Immer mehr Unternehmen erkennen die Notwendigkeit, ihre Test-Verfahren in der IT auszuweiten. Märkte und Sicherheitsaspekte sind Treiber dieses Trends. Warum sie gut beraten sind, so zu verfahren.

Die „Computerwoche“ nennt es folgerichtig „Die Sicherheit der Dinge“ und hat gleich ein passendes Beispiel: „Im konkreten Fall wurde der Angriff aus der Ferne über das Entertainmentsystem eines Fahrzeugs vorgenommen. Der Spielraum für die Einflussnahme auf den Wagen war in diesem Fall durch einen ausgenutzten Zero-Day-Exploit extrem groß. Selbst Bremsen und Lenkung waren betroffen. Die Gefahren eines bösartig durchgeführten Angriffs für Fahrer, Passagiere, Fahrzeug und Umgebung sind erheblich.“ Was war geschehen? In einem Modellversuch waren Hacker in die sensible Bordelektronik eines Geländewagens eingedrungen und hatten diesen wissentlich verrücktspielen lassen. Glücklicherweise zwar nur eine Laborsituation, die aber grundsätzlich gar nicht so weit hergeholt ist.

„Internet of Things“, „Industrie 4.0“ oder umfassende digitale Transformation von Geschäftsprozessen: Die Risiken durch nicht sorgfältig genug abgesicherte Softwareprozesse steigen in diesen Tagen überproportional. Das zeigt auch der renommierte „World Quality Report“. Demnach sind die IT-Ausgaben für Testing und Qualitätssicherung im Vorjahres-Vergleich um neun Prozent gestiegen. Und für 81 Prozent der Befragten steht die Sicherheit ihrer Systeme dabei an erster Stelle. Sie ist sozusagen die treibende Kraft für das Testing. Damit sichern sich Unternehmen gegen neue Bedrohungen, Hacks und Ausfälle.

Frühzeitig in den Entwicklungszyklus eingreifen

Im Detail ist es dabei wichtig, von der ersten Codezeile an aktiv zu werden und etwa die Qualität von Quellcodes fortlaufend und intensiv zu überprüfen. Führende Industrieunternehmen wie der renommierte Haushaltsgerätehersteller Vorwerk beispielsweise haben diese Dringlichkeit bereits verstanden. Sie wissen, dass maximale Software-Qualität über den gesamten Lebenszyklus gerade für geschäftskritische Web-Applikationen unverzichtbar ist. Das Wuppertaler Unternehmen nutzt etwa eine Intranet-Applikation mit SAP-Anbindung zur zentralen Auftragserfassung, auf die der Direktvertrieb ständig zugreift. Verständlich, dass es bei dieser Anwendung auf besonders hohe Leistung, Stabilität und Zuverlässigkeit ankommt und sie auf Herz und Nieren geprüft wird: Code-Analysen und Lasttests, Testmanagement-Lösungen und Test-Automatisierung bis zur Applikationsanalyse und Performanceberatung sind hier gut investierte Prüfprozesse.

Dabei müssen die Tests gar nicht die Dimensionen des im Beispiel genannten Jeeps erreichen, um für Unternehmen relevant zu werden, denn: Je mehr Vertriebskanäle beispielsweise in das Web rücken, desto zuverlässiger müssen sie naturgemäß werden. Und wenn über mehrere Stunden etwa ein Adressfeld keine Kundendaten aufnehmen kann, dann gehen Unternehmen damit wertvolle Umsätze verloren – denn über die Wechselbereitschaft von Onlinekäufern muss man sich ja bekanntlich keine Illusionen machen. Oder wenn mangels Test plötzlich Quellcode oder SQL Abfragen auf neuen Websites sichtbar sind und Hacker somit einfacher Kundendaten exportieren oder manipulieren können, bereuen Unternehmen es mit Sicherheit, nicht doch vorab auf Prüfungen zurückgegriffen zu haben.

Potenzielle Risiken werden gemindert

Ein ausführliches Testszenario hingegen checkt gewissenhaft beispielsweise, wo Performance-Engpässe unter Last auftreten, wie lange Kunden bei steigender Benutzer-Anzahl warten müssen. Wie sind meine Server ausgelastet, stimmt das Sizing? Wann muss die Infrastruktur erweitert werden? Funktionieren die wichtigen Geschäftsprozesse immer korrekt? Solche Fragestellungen eben vor der Live-Schaltung ausführlich zu klären, mindert potenzielle Risiken erheblich. Und das gilt gerade für sicherheitsrelevante Fragestellungen. Firewalls und Virenscanner sind zwar heutzutage akzeptierter Standard, sie sind aber noch lange nicht ausreichend. Content-Security wird deshalb immer wichtiger. Auch deshalb, da die Prozesse einer sehr hohen Dynamik gewachsen sein müssen durch ständig neue Angriffsmethoden und Sicherheitslücken.

Die gute Botschaft dabei: Gleich aus zwei Gründen ist Testen heutzutage kein Hexenwerk mehr. Erstens: Ein frühzeitiges Eingreifen in den Sicherheitskreislauf ist zwar mit Kosten verbunden, aber es ist nach seriösen Untersuchungen der „Standish Group“ deutlich günstiger, IT-Projekte vorab ausgiebigen Tests zu unterziehen, anstatt anschließend wesentlich kostspieligere Korrekturen vornehmen zu müssen. Das heißt, die Fehlerauswirkung ist immer teurer als eine Fehlervermeidung. Zweitens: Modernes Testen heißt weitestgehend automatisiertes Testen. Eine qualifizierte Testautomatisierung in einem qualifizierten – und bestenfalls zertifizierten – Prüflabor ermöglicht effiziente Funktionstests durch eine Senkung der Aufwände bei zunehmender Anzahl von erforderlichen Testläufen. Dort sind nächtliche Prüfläufe und somit eine kürzere Testzeit möglich. Die Testabdeckung ist höher, Prüfungen sind wiederholbar. Im Ergebnis wird die IT dadurch außerdem von Routineaufgaben in manuellen Tests befreit (mehr Zeit für neue Themen), eine sichere Aussage über die Qualität der Software vor jedem Releasewechsel ist derart möglich, ebenso frühzeitiges Finden von Softwarefehlern vor jedem Rollout. Dies durch entwicklungsbegleitende Unit Tests, Integrationstests- und Systemtests (Regressionstests) sowie Data-Driven Tests und Massentests.

Fazit: Sowohl aus Kostengründen als auch aus sicherheitsrelevanten Fragestellungen ist intensives Testen ausnahmslos immer die bessere Alternative.