# EXAM

EXAM (kurz für EXtended Automation Method) ist eine seit 2006 von der MicroNova AG für die Volkswagen AG entwickelte Methodik zur grafischen Entwicklung von Testfällen im Bereich der Testautomatisierung. Mit der auf dem Eclipse-RCP aufbauenden Testentwicklungsumgebung lassen sich Testfälle grafisch in Unified Modeling Language (UML) modellieren, durchführen und auswerten. Einsatzbereiche sind vor allem die Hardware-in-the-Loop-Simulation (HiL), die Software-in-the-Loop-Simulation (SiL) und die Prüfstandsautomation im Automotive-Bereich, aber auch in weiteren Branchen wie der Windenergie.

## Entstehung

Audi und Volkswagen ließen EXAM im Jahr 2006 von der MicroNova electronic GmbH (heute MicroNova AG) als konsolidiertes Tool aus den hauseigenen Werkzeugen ITS (Audi) und Tara (Volkswagen) entwickeln. Seitdem hat es sich im Volkswagen-Konzern als konzerneinheitliche Testentwicklungsumgebung etabliert. Seit 2007 nutzt auch Porsche das Tool. 2011 erfolgte das Release der Version EXAM 3.0, im Juni 2012 folgte unter Führung der Capgemini die Version 3.1. Mit Version 4 übernahm MicroNova das Zepter bei der Entwicklung; prägnante Neuerung war die Etablierung einer Schichtenarchitektur, die durch die Optimierung der Zugriffe das Latenzproblem umgeht und so einen weltweiten Einsatz ermöglicht.

## Lizenz

Die Testentwicklungsumgebung EXAM wird als Freeware zur Verfügung gestellt. Die enthaltenen Bibliotheken unterliegen der GPL-OpenSource-Lizenz.

## Einsatz

Die Software ist bei Volkswagen konzernweit im Einsatz. So nutzen neben Audi und Volkswagen auch andere Konzerntöchter wie Seat, Bentley, Škoda und auch Porsche das Tool zur Testautomatisierung von HiL-Simulatoren. Auch Automobilzulieferer wie ZF, Continental und Bosch setzen EXAM ein, um den Testprozess mit den Automobilherstellern zu optimieren. Die Nutzung als Freeware soll den Austausch von Funktionsbibliotheken unterstützen, um die verteilte Entwicklung bei Zulieferern und Herstellern einheitlich zu halten.

## Methodik

EXAM ist neben seiner Funktion als Testentwicklungsumgebung auch eine Methodik zur Darstellung, Durchführung und Auswertung von Testfällen. Ziel ist es, die Testfälle in UML-Modellen so formal zu beschreiben, dass diese maschinell interpretiert und in ausführbare Testprogramme überführt werden können, unabhängig vom verwendeten Testsystem. Dadurch können Testfälle ganz oder teilweise ausgetauscht und wiederverwendet werden.
Testabläufe können mit EXAM ohne Programmierkenntnisse grafisch in Sequenzdiagrammen und seit EXAM 3.0 auch in Aktivitätsdiagrammen modelliert werden.
Die Beschreibung der Testfälle erfolgt weitgehend unabhängig vom Testsystem mit abstrakten Funktionen des zu testenden Systems (DUT Device Under Test) aus der EXAM-Bibliothek. Tester können sich somit beim Erstellen der Testfälle auf den Testinhalt statt auf das Prüfsystem konzentrieren.
Hauptmerkmale:
* Abstrakte Modellierung von Testfällen
* Plattformunabhängige Beschreibung von Testinhalten
* Automatische Generierung von ausführbaren Testskripten
* Standortunabhängige Entwicklung von Testfällen in Teams
* Nachverfolgbarkeit durch den ganzen Testprozess

## Komponenten

Die Testentwicklungsumgebung EXAM besteht in der Basis aus drei Werkzeugen:
* EXAM modeller zum Modellieren der Testfälle; Test-Entwicklungsumgebung SDK
* EXAM testrunner zum Ausführen der Testfälle
* EXAM reportmanager zur Auswertung und Analyse der Testergebnisse
Durch die Verwendung des Eclipse-RCP lassen sich Erweiterungs-Plugins in die Testentwicklungsumgebung integrieren und so auf den jeweiligen Einsatzzweck anpassen. Seit einer Kooperation mit dem französischen Unternehmen All4Tec im Jahr 2010 lassen sich über den Testmodell-Designer MaTeLo mit Version EXAM 3.0 richtlinienbasiert automatisiert Testfälle erzeugen. Des Weiteren ist eine Integration des Trace-Check der Firma TraceTronic ebenfalls seit EXAM 3.0 möglich.

## Schnittstellen

EXAM verfügt über offene Schnittstellen (API), mit denen sich alle führenden HiL-Systeme und viele gängige Entwicklungswerkzeuge anbinden lassen. Eine auf Business Intelligence and Reporting Tools (BIRT) basierende Report-Schnittstelle erlaubt die Generierung von zahlreichen Report-Dokumenten auf Basis von Templates oder als Austauschformat mittels XML-Dateien. Um EXAM in den Testmanagementprozess einzubinden, bestehen Schnittstellen zum Requirement-Tool IBM DOORS und zu Imbus Testbench (EXAM 3.0). EXAM unterstützt ebenfalls die XIL-API.

## Scripting

Das auf Groovy basierende Scripting erlaubt es, modellbasierte Funktionen zu implementieren, um Änderungen an EXAM-Objekten vollautomatisiert vorzunehmen. Der zugehörige Editor bietet als Grundfunktionen die Syntaxhervorhebung, Code-Vervollständigung und generische Skripterzeugung aus Template-Dateien. Ferner können Skripte mit Hilfe des XMI-Exports unter den Testdesignern ausgetauscht werden.