Qualitätsmanagement

Automatisierung des Systemtests für Smallworld-Produkte Konzept und Einordnung

Moderne Entwicklungsprozesse zeichnen sich durch starke Kundenorientierung, hohe Flexibilität und kurze Entwicklungs- und Lieferzyklen aus. Ein Testprozess muss sich dem anpassen und effiziente Verfahren für eine effektive Qualitätssicherung anbieten. Ohne eine Testautomatisierung ist ein solcher Anspruch nicht zu erfüllen.

Man kann Testwerkzeuge nach der Prozessstufe einordnen, in der sie Anwendung finden können. Bei der Testautomatisierung findet man üblicherweise Werkzeuge, die im frühen Entwicklungsstadium eingesetzt werden und sich auf den Sourcecode konzentrieren. Aus Testmanagement-Sicht haben solche Werkzeuge den Nachteil, dass sie auf die Entwicklung ausgerichtet sind. Die Testfälle müssen von Entwicklern bedient, gewartet, interpretiert und in der Regel auch ausgeführt werden. Sie entziehen sich einer Managementprüfung im Sinne von Überdeckungsmessungen, Nachweisbarkeit von Durchführungen, Lesbarkeit usw., so dass sich der konkrete Nutzen erstellter Testfälle nur schwer messen und bewerten lässt. Zusätzlich sind sie für Systemtests aufgrund der dazu notwendigen Komplexität der Testumgebung kaum geeignet.

Beim Systemtest wird das zu testende System als Black-Box betrachtet, bei der das System von außen bedient und dessen Reaktionen von außen betrachtet werden. Üblicherweise (aber nicht ausschließlich) ist bei Smallworld-Anwendungen die Schnittstelle dazu das GUI. Entsprechende Testszenarien bestehen aber aufgrund der durchzuführenden Cursornavigationen, Mausklicks, Parametereingaben in verschiedenen Feldern, Ergebnisprüfungen usw. aus sehr vielen Einzelschritten. Damit Erstellung und insbesondere Pflege solcher umfangreicher Szenarien nicht extrem aufwändig und fehleranfällig werden, ist dazu eine entsprechende Werkzeugunterstützung notwendig.

Eine Lösung bieten Werkzeuge, die Konzepte der hierarchischen Verfeinerung von Testschritten anbieten, bekannt als Action Words oder Interactions. Gemeinsam ist den Konzepten, dass sie die Erstellung von Testszenarien mittels logischer High-Level-Schritte ermöglichen, die dann zu ausführbaren, elementaren Schritten verfeinert werden. Beim Werkzeug ALM von HP wurde dazu beispielsweise speziell das Konzept des Business Process Testing eingeführt, das eine Verfeinerung über Business Components und Component Steps erlaubt. Letztere sind dann elementare Bedienungen eines GUI-Elementes oder ausprogrammierte elementare Bedienschritte.


Interaktionsbasierte Testautomatisierung

Beim Testmanagementwerkzeug TestBench der Firma imbus spricht man vergleichbar von Interaktionen. Allerdings ist das Konzept nicht nachträglich aufgesetzt, sondern das Werkzeug ist bereits basierend darauf entwickelt worden. Eine Interaktion ist ein Testschritt, der in beliebiger Hierarchietiefe immer weiter verfeinert werden kann, bis ein ausführbarer elementarer Testschritt erreicht ist. Dabei wird konzeptionell kein Unterschied zwischen einem manuellen und einem automatisierten Schritt gemacht. Die Interaktionen sind parametrisiert mit den Testdaten, die ebenfalls in TestBench abgelegt werden. Die Abbildung aus einem Foliensatz von Imbus verdeutlicht das Vorgehen.

Grau hinterlegt ist der Bereich der durch TestBench abgedeckt wird. Er umfasst die gesamte High-Level-Spezifikation der logischen und konkreten Testfälle, also inklusive ihrer Parameter. Diese sind durch einen Testdesigner (oder auch einen Kunden) definierbar, lesbar und wartbar. Sie sind eingebunden in ein vollwertiges Testmanagementwerkzeug, so dass ein ordentlicher Testprozess aufgesetzt werden kann.


Die Test Execution Engine (TEE) ist grundsätzlich nicht Teil von TestBench. Zur Ausführung muss diese für die konkreten Zielsysteme erstellt werden. TestBench unterstützt jedoch die Entwicklung einer solchen Komponente, indem sie einen Export der Testspezifikationen ermöglicht und eine DLL zu deren Analyse und Steuerung anbietet. Mit dieser DLL kann auch das Testergebnis wieder als Datei geschrieben und TestBench zum Import zur Verfügung gestellt werden. Die weitere Bearbeitung (Analyse, Statistikerstellung, Archivierung) findet dann in TestBench statt. Die Abbildung verdeutlicht das beispielhaft.

Export, Import und Bedienung der TEE finden aktuell durch den Tester statt. Eine Erweiterung für eine Einbindung in einen Continuous Delivery-Prozess ist prinzipiell möglich.

iTEP-Wrapper ist ein Produkt von ITS International Services.


Die TEE liest die Basisschritte der Testfälle und schickt diese an die Zielsysteme, i. d. R. das zu testende Magik-Image, weiter. Dort müssen diese Befehle interpretiert und ausgeführt werden. Für jede Basisinteraktion muss eine entsprechende Methode in Magik verfügbar sein. Viele der Basisinteraktionen sind dazu da, die GUI-Elemente des Smallworld-GIS zu bedienen, wozu ggf. Treiber existieren, die mit den unterschiedlichen GUI-Elementen eines Smallworld-GIS umgehen können. Die Abbildung verdeutlicht die Architektur.

Neben der TEE gehören auch die dargestellten Magik-Komponenten iTB-Interface, Interaktionen und Treiber zu dem von ITS International Services entwickelten Testframework (hellblau dargestellt).

Der Einsatz des von ITS International Services bereitgestellten Testframeworks basiert auf dem Interaktionsprinzip von TestBench und wird durch diese optimal ergänzt, ist aber prinzipiell von ihr unabhängig.

ITS Gruppe

Die ITS Gruppe hat sich auf die Entwicklung und Implementierung von innovativen und an der Praxis orientierten Geoinformations- und Betriebsmittelinformationssystemen spezialisiert. Die Lösungen der ITS bieten für alle Mitarbeiter eines Unternehmens den schnellen und flexiblen Zugang zu allen relevanten Informationen auf der Basis einer zentralen Datenhaltung.


Kontakt

ITS Gruppe
Phoenixseestraße 6
D-44263 Dortmund

Ansprechpartner

Zum Seitenanfang springen
© 2017 ITS Informationstechnik Service GmbH