Automatisiertes Testen bei SAP-Anwendungen: Für den Fall der Fälle Detail - Computerwelt

Computerwelt: Aktuelle IT-News Österreich


02.02.2010 Sven Schirmer*

Automatisiertes Testen bei SAP-Anwendungen: Für den Fall der Fälle

Unternehmen sind auf eine reibungslos funktionierende SAP-Umgebung angewiesen. Doch die wenigsten testen ihre Anwendungen professionell, beugen somit Software-Fehlern vor und minimieren das Ausfall-Risiko. Automatisierte Softwaretests können ein hohes Maß an Sicherheit und Stabilität garantieren.

Viele Große Automobilkonzerne steuern ihre Fahrzeug-Produktion über eine ERP-Lösung von SAP. Sämtliche Prozesse, die beispielsweise die Montage betreffen, sind dort abgebildet. Das SAP-System sorgt dafür, dass in der Produktion immer genügend Fertigungsteile vorhanden sind. Wenn der aktuelle Bestand zurückgeht, stößt die Software automatisch einen Bestellvorgang beim Zulieferer an, der dann die entsprechenden Teile rechtzeitig liefern kann. Kommt es hier zu einem Softwarefehler, kann es durchaus sein, dass die Bänder in den Fertigungshallen still stehen, und das kann teuer werden.

Umso erstaunlicher ist es, dass IT- und Fachabteilungen beim Testen von Software nicht genügend Sorgfalt an den Tag legen. Die Notwendigkeit zu Testen ist vielen zwar bewusst, jedoch fehlt den Mitarbeitern die Zeit.

Tests sind immer dann notwendig, wenn SAP alle zwei Monate ein neues Patch herausbringt oder alle sechs Monate ein Enhancement Package veröffentlicht - und selbstverständlich bei komplett neuen Installationen. Dann müssen die IT und die Fachabteilungen das gesamte System mit Anwendungsfällen prüfen. Das gilt auch für die Eigenentwicklungen und Erweiterungen der SAP-Standardprogramme.

MANUELL = ZEITAUFWÄNDIG Statt aber systematisch, methodisch und strukturiert vorzugehen, bestimmt "Kollege Zufall" die Testprozesse. So wird häufig intuitiv gearbeitet, nach dem Prinzip: Wir suchen uns gängige Anwendungsfälle. Dieses manuelle Testen – eine häufige Vorgehensweise – ist jedoch ein immenser Zeitfresser und nicht kalkulierbar. Ein Anwender gibt manuell die Testfälle und Daten in das SAP-System ein, bestätigt die Dateneingabe und wartet ab, was passiert. Funktioniert alles einwandfrei, nimmt er sich den nächsten Fall vor, gibt es Schwierigkeiten versucht er den Fehler zu beheben.

Die Folgen aus diesen Vorgehensweisen sind häufig Testszenarien, die einem produktiven Massenbetrieb nicht Stand halten und sich nicht wiederholen lassen. Die ermittelten Testfälle sind häufig fehlerhaft und bis zu 30 Prozent redundant. Zudem bleiben die negativen Testfälle außen vor.

AUTOMATISIERT = METHODISCH Automatisiertes Testen hilft, den Testaufwand deutlich zu reduzieren und Kosten zu sparen. Dabei zeichnet eine Software im Vorfeld der eigentlichen Überprüfungen Testverläufe wie eine Art Rekorder auf und spielt sie über Nacht durch. Dieses Verfahren wird als Graphical User Interface (GUI) Testautomatisierung bezeichnet. Es kommt in eigenständigen Projekten zum Einsatz, die geplant, spezifiziert, umgesetzt, protokolliert und ausgewertet werden. Das Vorgehen beinhaltet eine Rekorder-Funktion (Capture), die Mausbewegungen, Mausklicks oder Tastatureingaben auf jeder beliebigen Bildschirmoberfläche aufzeichnet. Diese "Aufnahmen" kann der Tester jederzeit wiedergeben (Replay), so dass er bei einem erneuten Testdurchlauf nicht selbst am PC-Arbeitsplatz anwesend sein muss.

Die GUI-Testautomatisierung ist in der Lage, mehrere Testskripte nacheinander durchlaufen zu lassen. Falls sie während der Skriptwiedergabe an einer Stelle nicht fortfahren kann, weil sich ein Fenster nicht öffnet oder eine Fehlermeldung auftritt, stoppt der Durchlauf. Es wird ein Screenshot erzeugt, der Testfall wird gespeichert und automatisch eine Fehlermeldung ausgegeben. Der Dateiname des Screenshots beinhaltet die Zeilennummer des Skripts, in der der Fehler aufgetreten ist. Damit kann der Tester jederzeit nachvollziehen, in welcher Zeile des Programms der Test beziehungsweise die Wiedergabe abgebrochen wurde. Mittels des Capture-Replay-Verfahrens werden die Testfälle aufgezeichnet. Dadurch wird das Sollergebnis festgelegt. Mit dem systematischen Testdatenmanagement ist die Wiederholung der Testfälle reproduzierbar – ein extrem wichtiger Punkt, um sinnvoll Fehler beheben zu können.

DARAUF KOMMT ES AN Die Herausforderung beim Automatisierten Testen besteht in der Planung und Vorbereitung. Wenn Unternehmen zu wenig Aufwand in diese Phase stecken, dann ist viel zu viel Wartungsaufwand für die später ausgeführten Tests notwendig. Aufgrund der Komplexität kann die IT nicht alle Anwendungsszenarien automatisieren. Wichtig ist es deshalb, die richtige Auswahl zu treffen. Wählt man zu komplexe Testfälle, ist der Aufwand für die Wartung der Automatisierung so hoch, dass die Automatisierung mehr Zeit und Geld kostet, als die manuelle.

VORTEILE DER GUI-TESTAUTOMATISIERUNG Die GUI-Testautomatisierung erfolgt am besten am Ende eines Projekts, da sich während einer Projektlaufzeit oft noch Änderungen ergeben. Dann entfaltet sie ihr wahres Potenzial, da auf Grundlage von Planungen neuer Releases eine weitere GUI-Testautomatisierung aufgesetzt werden kann. Die Vorteile des Verfahrens sind insbesondere in der Möglichkeit von Regressionstests zu sehen. Regressionstests wiederholen alle oder eine Teilmenge aller Testfälle, um Nebenwirkungen von Modifikationen in bereits getesteten Teilen der Software aufzuspüren. Zudem lassen sich Tests häufiger und schneller vornehmen. Eine höhere Zuverlässigkeit, reproduzierbare Ergebnisse und eine unbeaufsichtigte Testausführung ohne Benutzerinteraktion sind weitere positive Merkmale.

Das Einsparungspotenzial der GUI-Automatisierung gegenüber dem manuellen Testen ist enorm: Bereits nach dem dritten Durchlauf sind die Kosten für das manuelle und automatisierte Testen gleich. Mit jedem weiteren Testdurchlauf steigen die Kosten bei der manuellen Methode gegenüber der GUI-Automatisierung dramatisch an. Beim fünften Durchlauf ist die GUI-Automatisierung um fast 16 Prozent günstiger. Entscheidend für den schnellen Return on Investment ist die Wiederverwendbarkeit innerhalb mehrerer Tests durch Modularisierung, die Häufigkeit der Regressionstests, die Stabilität der Tests bei Systemveränderung und die Widerverwendung der funktionalen Tests, zum Beispiel für Lasttests oder zur Systemüberwachung.

Mit automatisiertem Testen minimieren Unternehmen das Risiko, dass durch Softwarefehler ganze Prozessketten unterbrochen werden. Im Test kann es zwar keine hundertprozentige Testabdeckung geben, ein professionelles Testmanagement kann jedoch die dadurch entstehenden Risiken minimieren.

* Sven Schirmer ist Bereichsleiter Testmanagement bei MaibornWolff et al.

Diesen Artikel

Bewertung:

Übermittlung Ihrer Stimme...
Noch nicht bewertet. Seien Sie der Erste, der diesen Artikel bewertet!
Klicken Sie auf den Bewertungsbalken, um diesen Artikel zu bewerten.
  Sponsored Links:

IT-News täglich per Newsletter

E-Mail:
Weitere CW-Newsletter

CW Premium Zugang

Whitepaper und Printausgabe lesen.  

kostenlos registrieren

Aktuelle Praxisreports

(c) FotoliaHunderte Berichte über IKT Projekte aus Österreich. Suchen Sie nach Unternehmen oder Lösungen.

Service

Acceptance Testing: Trotz knapper Ressourcen

Zum Thema

  • Huawei Technologies Austria GmbH

    Huawei Technologies Austria GmbH mehr
  • ETC - Enterprise Training Center

    ETC - Enterprise Training Center E-Learning, Datenschutz, B2B Dienste und Lösungen, Outsourcing, IT-Personalbereitstellung, Aus- und Weiterbildung mehr
  • HATAHET productivity solutions GmbH

    HATAHET productivity solutions GmbH Individual-Softwareentwicklung, Migrations-Management, Programmierung, System- und Netzwerk-Tuning, Systemintegration und Systemmanagement, Übernahme von Softwareprojekten, User Helpdesk-Systeme und Hotlines,... mehr
  • Fabasoft AG

    Fabasoft AG Vereine und Verbände, Öffentliche Verwaltung, Medizin und Gesundheitswesen, Luft- und Raumfahrttechnik, Freie Berufe, Finanzdienstleistungen, Qualitätssicherung,... mehr

Hosted by:    Security Monitoring by: