Mit der Pinzette automatisch nach Bugs greifen

Erstellt am 12. September 2010 von Guido Strunck

Softwaretests und Testautomation werden oft als Bestandteil der Software-Entwicklung angesehen. Doch auch im späteren Systembetrieb gewinnen Testing-Technologien zunehmend an Bedeutung. Etwa wenn es darum geht Software firmenweit durch Upgrades zu aktualisieren, mit Hilfe von  Patches Sicherheitslücken zu stopfen oder auch um neue Softwarepakete auf die Rechner im Firmennetz automatisch zu verteilen.

Geht dabei was schief oder rutscht ein nicht hinreichend auf Kompatibilität zu den betrieblich genutzten Anwendungen getesteter Patch in der Abnahme durch und wird auf zahlreiche Rechner im Netz aufgespielt, können die Probleme schnell beträchtliche Ausmaße annehmen. Schlimmstenfalls werden alle betroffenen Rechner lahmgelegt und deren Nutzer können Kaffeetrinken gehen, bis ihre Arbeitsumgebungen wiederhergestellt sind (bei laufenden Gehaltskosten). Das habe ich selbst schon einige Male miterlebt.

Während so etwas in einem Unternehmen aber „nur“ Geld kostet, kann es wirklich gefährlich werden, wenn dadurch hochverfügbare kritische Infrastrukturen wie die Stromversorgung, das Verkehrswesen, Krankenhäuser oder der Zahlungsverkehr an Banken und Börsen zum Ausfall gebracht werden.

Diesem Problem will sich nun IBM in Kooperation mit der EU und mehreren Universitäten im Rahmen des Projektes „PINCETTE“ (fr. für Pinzette) annehmen. Es hat zum Ziel, Werkzeuge und Methoden zu entwickeln, mit deren Hilfe die Qualitätssicherung bei Release und Rollout von Softwarepaketen in großen IT-Netzwerken verbessert werden kann.

»Das Ziel von PINCETTE ist, die Aktivitäten stark zu vereinfachen, die sicherstellen, dass komplexe Systeme fehlerlos laufen, wenn sie automatisch aktualisiert werden, um kostenintensive Störungen oder Fehler mit minimaler menschlicher Beteiligung zu entfernen«, so Dr. Daniel Kroenig von der Universität Oxford. Und  Dr. Hana Chockler, Projektbeteiligte bei IBM ergänzt: »Die Forschungsergebnisse von PINCETTE werden eine neue Ära einleiten, in der Entwickler und Anwender von Netzwerkkontrollsystemen potentielle Störungen beheben können, bevor es zu Fehlfunktionen kommt«

Inhaltlich geht es also darum, schon bei der Erstellung von Softwareprodukten, bei ihrer Paketierung sowie bei den sonstigen Vorbereitungen für den Rollout den Prozessbeteiligten Werkzeuge zur Verfügung zu stellen, mit denen sie automatisiert prüfen können, ob es Probleme aufgrund von Fehlern und Mängeln beim Ausrollen der Software geben könnte.

Die von PINCETTE entwickelten Werkzeuge sollen Test- und Simulationstechniken mit formalen Methoden der Informatik (z.B. mathematische Prüfansätze) kombinieren und so gewährleisten, dass sich die Systeme unter nahezu allen Bedingungen wie geplant verhalten.

Unternehmen sollen so verlässlichere Rollouts mit häufigeren Aktualisierungen ihrer Software zu geringeren Kosten durchführen können. Obendrein wurde vereinbart, dass die Ergebnisse dieses, zum Teil wohl auch aus EU-Mitteln kofinanzierten Projektes im Anschluss auch der Open Source Community zur Verfügung gestellt werden.

Die Testing-Community darf gespannt sein, welche Auswirkungen das PINCETTE-Projekt auf die Trends und Tools im Bereich Testautomation und automatisierter Konformitäts- und Integrationstests haben wird.