Digitale Transformation – Evolution, Innovation, Disruption

14:40 - 16:00 Uhr

Entwurf standardgetriebener Testautomatisierungsarchitekturen gemäß ISTQB TAE mit dem UML Testing Profile (Vortragssprache: Deutsch)

Marc-Florian Wendland
Fraunhofer Institut FOKUS

Entwurf standardgetriebener Testautomatisierungsarchitekturen gemäß ISTQB TAE mit dem UML Testing Profile

Das vorliegende Tutorial führt zwei aktuelle Industriestandards aus dem Bereich „Testautomation“ systematisch zusammen. Bei diesen Standards handelt es sich zum einen um den Lehrplan des ISTQB für den Test Automation Engineer (TAE) und der Modellierungssprache UML Testing Profile 2 (UTP). Ziel des Tutorials ist es der Zielgruppe den praktischen Nutzen der vom TAE standardisierten Testautomatisierungsarchitektur zu vermitteln, sowie Anregungen zu liefern, wie eine konkrete Umsetzung dessen mittels der standardisierten Testmodellierungssprache UTP aussehen könnte. Modellbasiertes Testen (MBT), also der automatisierte Entwurf von Testfällen und Testdaten, wird in diesem Zusammenhang nicht vertieft; es ist kein MBT-Tutorial.

Einordnung des Kontexts:
Das vorliegende Tutorial richtet sich primär an Testmanager, Tester und Testautomatisierungsarchitekten. Es vermittelt einen konzisen Überblick über beide Standards, stellt vor allem die generic Test Automation Architecture (gTAA) des konzeptionellen Standards TAE in Vordergrund. Der eher technische Standard UTP wird als Mittel zum Zweck für den Entwurf und die generative Umsetzung verschiedener zielplattformspezifischer Testautomatisierungslösungen verstanden. Das Tutorial versteht sich nicht als reines UTP-Tutorial, sondern stellt den Aspekt der ganzheitlichen Testautomatisierung in der Vordergrund.

Darstellung des fachlichen Inhalts/der Lösungsidee:
Seit Oktober 2016 ist ein neuer Standard für die Weiterbildung zum ISTQB Test Automation Engineer (TAE) verfügbar. Ein wichtiger Beitrag des TAE-Lehrplans ist die standardisierte Spezifikation der generic Test Automation Architecture (gTAA), auf deren Basis konkrete Testautomatisierungsarchitekturen (test automation architetcure -TAA) und schlussendlich Testautomatisierungslösungen (test automation solution – TAS) entwickelt werden. Als rein konzeptioneller Lehrplan bleibt er frei von konkreten Technologien f ür die Umsetzung von TAAs und TASs. An dieser Stelle setzt das vorliegende Tutorial an, indem es das UML Testing Profile 2 als architektonischen Baukasten verwendet, um konkrete Testautomatisierungslösungen zu entwerfen, aus denen wiederum eine Vielzahl spezifischer und technologisch unterschiedlicher Testautomatisierungslösungen abgeleitet werden können.

Zu diesem Zweck diskutiert das Tutorial zunächst die konzeptionelle Architekturschichten der gTAA (Testentwurfsschicht, Testdefinitionsschicht, Testausführungsschicht und Testadaptationsschicht) hinsichtlich ihrer primären Aufgabe, sowie den Informationsbedarf und –austausch in einer ganzheitlichen Testautomatisierungslösung. Hernach folgt der Übergang zum UTP, welches die relevanten Informationen der Schichten der gTAA effizient abbildet. Nachfolgend werden die im Kontext der gTAA wichtigsten Konzepte des UTP erläutert – der englische Text in Klammern repräsentiert die Bezeichnung der Konzepte im Standard:

  • Testentwurfskonzepte (test design facility): Die test design facility des UTP ermöglicht die Spezifikationen von so genannten Testentwurfsdirektiven, welche für die Ableitung von Testfällen, Testdaten und Testablaufspezifikationen verwendet werden. Testgenerierungswerkzeuge verwenden die Informationen der test design facility, um den Testableitungsprozess zu konfigurieren. Das UTP erfüllt damit die Anforderungen des TAE für die Testentwurfsschicht der gTAA.
  • Testverhalten und Testdaten (test behavior, test data): Mittels des UTP lassen sich Testverhalten und Testdaten auf logischer Ebene spezifizieren, modularisieren und wiederverwenden. In der gTAA werden diese Artefakte als test definition bezeichnet. Das UTP unterstützt somit die Anforderungen zur Umsetzung der Testdefinitionsschicht der gTAA hinsichtlich der Notation für test definitions.
  • Testauswertung (arbitration specification): Die Auswertung von automatisierten Testfällen sollte von einer TAS ebenfalls automatisiert durchgeführt werden. Das UTP spezifiziert zu diesem Zweck das Konzept der arbitration specification. Eine arbitration specification ist eine Verhaltensbeschreibung, die beschreibt wie ein Testergebnis (verdict) zu berechnen ist (im einfachsten Falle pass/fail). Mit dem Konzept der arbitration specification erfüllt das UTP die Anforderungen des TAE für die automatisierte Testauswertung der Testausführungsschicht der gTAA.
  • Testlogging (test logging facility): Die test logging facility des UTP ermöglicht es zum einen die strukturell relevanten Informationen zu definieren, die während der Testausführung gelogged werden sollen, als auch die Instanziierung dieser Strukturen in Form von modellbasierten Testlogs (für Testfälle und Testsuiten). Damit unterstützt das UTP die Anforderungen der Teilkomponente Test Logging der Testausführungsschicht der gTAA.
  • Die Testadaptionsschicht der gTAA wird nur mittelbar vom UTP unterstützt. Es existieren keine dedizierten Konzepte im UTP, um die Adaption eines Testausführungssystems an das zu testende System zu etablieren. Unmittelbar lässt sich die Adaptionsschichte über die zugrunde liegende UML beschreiben. Da dies aber kein integraler Bestandteil des UTP ist, wird auf diesen Aspekt nur knapp eingegangen.

Am Ende des Tutorials sind die Zuhörer sowohl mit der gTAA vertraut, als auch mit den entsprechenden Konzepten des UTP. Die Umsetzung von spezifischen, modellbasierten Testautomatisierungslösungen wird anhand der technischen Ergebnisse zweier EU-Forschungsprojekte veranschaulicht. Dies demonstriert die gemeinsame Anwendbarkeit der beiden Standards TAE und UTP zum Zwecke des Entwurfs standardisierter Testautomatisierungsarchitekturen.

Übertragbarkeit des Lösungsansätze:
Sowohl der TAE als auch das UTP sind branchen- und technologie-unabhängige Standards. Dies erhöht die Übertragbarkeit des vorgestellten Lösungsansatzes auf neue Technologien oder Zielplattformen.

Marc-Florian Wendland, Fraunhofer Institut FOKUS

Marc-Florian Wendland ist Senior Researcher im Geschäftsbereich System Quality Center beim Fraunhofer Institut FOKUS. Er ist Dipl.-Inform. und M.Sc. sowie ISTQB Full Certified Tester Advanced Level, UML Certified Professional Advanced Level und iSQI -certified TTCN-3-Experte. Er verfügt über 8 Jahre Berufserfahrung in den Bereichen Testprozessautomatisierung, Testentwurf und Testprozessoptimierung.

Seine besondere Expertise liegt derzeit in der Umsetzung ganzheitlicher, standardgetriebener Testautomatisierungslösungen. Marc-Florian Wendland ist/war in zahlreiche Standardisierungsaktivitäten im Bereich der Modellierung und der Qualitätssicherung involviert. So leitet er seit 7 Jahren die Arbeitsgruppe UTP bei der OMG und ist aktives Mitglied in den Arbeitsgruppen UML und ausführbare UML. Marc-Florian Wendland war zwei Jahre lang treibendes Mitglied in der ETSI Specialist Task Force der Test Description Language (TDL). Zudem hat er an den Aktivitäten des Certified Model-Based Tester beim iSQI und ISTQB mitgewirkt. Derzeit ist Marc-Florian Wendland zudem stellvertretender Leiter der FG Softwaretest im ASQF Berlin/Brandenburg. Marc-Florian Wendland war für zahlreiche wissenschaftliche und industrielle Konferenzen Mitglied des Organisations- und Programmkomitees.