Noch keinen Zugang? Dann testen Sie unser Angebot jetzt 3 Monate kostenfrei. Einfach anmelden und los geht‘s!
Angemeldet bleiben
Ausgewählte Ausgabe: 01-02-2017 Ansicht: Modernes Layout
| Artikelseite 1 von 2

Effiziente Testautomatisierung von Software

Industrie 4.0 steht für die internetbasierte Kommunikation von Mensch und Maschine sowie die Automatisierung von Prozessen durch digitale Transformation. Wie kann industrialisierte Testautomatisierung dabei helfen, effiziente, stabile und dauerhafte – also hochqualitative – Software zu gewährleisten?


Die Welt der Software-Entwicklung wurde in den vergangenen Jahren von zwei Begriffen geprägt, die miteinander zusammenhängen: Agilität und Industrialisierung. Schnelle und flexible Methoden der Software-Entwicklung lassen sich auf prozessualer Ebene dabei deutlich schwieriger umsetzen als in technischer Hinsicht. Einfache, gleichartige und immer wiederkehrende Arbeitsschritte eignen sich besonders für die Automatisierung. Aufgrund dessen fungieren „Regressionstests“ häufig als Treiber bei der Testautomatisierung. Als Regressionstests werden bereits durchlaufene Tests bezeichnet, die nach jeder Modifikationen der Software erneut durchgeführt werden müssen.
Im Zeitalter der Globalisierung ist Testautomatisierung oft mit Outsourcing verbunden. Anbieter von „Managed Testing Services“ (MTS) wie die SQS Software Quality Systems AG übernehmen hierbei die komplette Verantwortung für die Qualitätssicherung der teilweise umfangreichen Software-Systeme ihrer Kunden, damit diese sich auf das eigentliche Kerngeschäft konzentrieren können, Bild 1. Das Beratungsunternehmen ist einer der ganz großen unabhängigen Anbieter von Software-Test- und Qualitätsmanagement-Dienstleistungen. Die SQS-Gruppe wurde 1982 in Köln gegründet und beschäftigt rund 4100 Mitarbeiter.

Bild 1.  Fertigungsbetriebe und Produktionsunternehmen, etwa im Umfeld der Automobilindustrie, konzentrieren sich gerne auf ihre Kernkompetenzen und lagern flankierende Aufgaben, beispielsweise Software-Entwicklungen, oft an externe Dienstleister aus.

Bild 1.
Fertigungsbetriebe und Produktionsunternehmen, etwa im Umfeld der Automobilindustrie, konzentrieren sich gerne auf ihre Kernkompetenzen und lagern flankierende Aufgaben, beispielsweise Software-Entwicklungen, oft an externe Dienstleister aus.

Fünf Säulen zur Orientierung

Was bedeuten die Grundpfeiler der Industrialisierung (siehe gelber Infokasten) im Kontext der Testautomatisierung von Software? Wie müssen sich Anbieter von MTS aufstellen, um am Markt erfolgreich zu agieren? Bei einer so komplexen Aufgabe wie der Testautomatisierung hängen die fünf Säulen der Industrialisierung eng zusammen und stützen sich gegenseitig.
So entwickeln sich etwa Standards immer aus vorherigen, teilweise sogar projektübergreifenden Erfahrungen, sind also Best-Practice-Beispiele, die im Kontext eines kontinuierlichen Verbesserungsprozesses über institutionalisierte Feedbackschleifen herausgearbeitet werden müssen. Eine konsequente „Standardisierung“ vermeidet Redundanzen und minimiert neben dem Verwaltungsaufwand den Schulungsbedarf der beteiligten Mitarbeiter. Zugleich ist sie eine unmittelbare Voraussetzung für die Automatisierbarkeit der Tests.
„Modularisierung“ ist die Kunst, komplexe Aufgaben in geeignete, handhabbare Teile aufzugliedern. Das gilt für den eigentlichen Test genauso wie für die Testmethodik, die Testarchitektur oder die für die Tests verwendeten Toolketten und die Spezifikation von Rollen. Der Einsatz von Automatisierungsframeworks hilft, Wiederverwendung in den Prozess zu integrieren und die Effizienz weiter zu erhöhen.
Die so entwickelten, einzelnen Module entsprechen gleichzeitig hoch spezialisierten Funktionen, für deren Zusammenwirken eindeutige Schnittstellen definiert werden müssen. Das gilt für die prozessuale Ebene genauso wie für die eingesetzten Toolketten zur Automatisierung. Auf der Personalebene lässt sich das Prinzip der „Spezialisierung“ am besten durch ein Team unterschiedlicher Experten realisieren. Ein „T-Modell“, bei dem jedes Mitglied über breites Grundwissen und gleichzeitig tiefes Spezialwissen in seinem jeweiligen Bereich verfügt, stellt die ideale Zusammensetzung dar.
Die vorgenannten Säulen sind die Grundlagen, um die Testautomatisierung selbst soweit wie möglich zu „automatisieren“, am besten in Bereichen, in denen wiederkehrende, gleichartige Aufgaben anfallen – etwa bei der Code-Generierung für Skripte, die zur Ausführung der Software-Tests notwendig sind.
Schließlich sollte ein „kontinuierlicher Verbesserungsprozess“ mit eingebauten Feedback-Schleifen alle Bereiche von der Prozessebene bis zur Definition von Testfällen durchziehen.

Seite des Artikels
Autoren

 Sven Euteneuer

Global Head of Technical Quality bei SQS in Köln.

Projekte effizient umsetzen

Für ein erfolgreiches Offshoring ist zu empfehlen, dass die gewählten  Dienstleister  die  auszulagernden  Aufgaben nach  den  folgenden  fünf  Grundprinzipien  der  Industrialisierung  gestalten:  „Standardisierung“,  „Automatisierung“, „Modularisierung“, „Spezialisierung“ sowie „Kontinuierlicher Verbesserungsprozess“. Unter diesen Voraussetzungen  gehört  die  Industrialisierung  der  Testautomatisierung  gerade  bei  großen,  stabilen  und langlaufenden IT (Informationstechnologie)-Projekten  branchenübergreifend  zu  den  erfolgreichsten  Ansätzen  für  mehr  Effizienz und  Effektivität  im  IT-Bereich.  Die  beschriebene  Vorgehensweise lässt sich darüber hinaus auch für zahlreiche weitere Projekte nutzen, bei denen ein „roter Faden“ mehr Effizienz und Sicherheit bei der Umsetzung verspricht.

Verwandte Artikel

Alte Maschine, schnelle Vernetzung, neuer Nutzen

Datentechnischen Angriffen gezielt begegnen

Technische Intelligenz für die Produktion

Assistenzroboter in der Produktion

Effizienz aus der Cloud