Übung 4: Einsatz von Mappings

Du lernst das Mappingkonzept kennen und stellst den Testfall aus Übung 3 darauf um. Statt direkter Modellpfade verwendest du abstrakte Namen, die zentral verwaltet werden.

Am Ende dieser Übung läuft dein Testfall unverändert weiter, obwohl die Auflösung über ein Globales Mapping erfolgt. Außerdem änderst du ein Mappingziel und prüfst den Effekt im Report Viewer.

Voraussetzungen:

Grundlagen des Mapping-Konzepts

In Übung 3 wurde direkt auf konkrete Modellgrößen wie driverRequest und velocity zugegriffen. In realen Projekten ändern sich Signalpfade, Modellversionen oder Softwarestände jedoch regelmäßig. Ohne Mapping müssten dann alle betroffenen Testschritte in jedem Testfall manuell angepasst werden.

Genau hier setzt das Mappingkonzept an. Es trennt den im Testfall verwendeten Namen von der konkreten Zielgröße:

Mappingname

Der abstrakte Bezeichner im Testfall.

Mappingziel

Die konkrete Testgröße, auf die der Mappingname zeigt.

Ändert sich die Zielgröße, wird nur das Mapping angepasst. Der Testfall bleibt unverändert und kann mit unterschiedlichen Mappings wiederverwendet werden.

../../_images/Tutorial_Lesson_4_Mapping_Concept.png

Signalbehandlung mit Mappings

In dieser Lektion verwendest du ausschließlich globale Mappings. Globale Mappings sind die bevorzugte Variante für wiederverwendbare Tests. Sie werden in einer XAM-Datei gespeichert und zentral in der Testkonfiguration eingebunden.

../../_images/Tutorial_Lesson_4_Global_Mapping_Window.png

Mappingnamen werden zentral definiert und in mehreren Testfällen wiederverwendet.

../../_images/Tutorial_Lesson_4_XAM_File_Example.png

Beispiel einer XAM-Datei: Die Spalte „Name“ enthält den abstrakten Mappingnamen, die Spalte „Target“ den Pfad auf das konkrete Ziel im System under Test.

Globales Mapping anlegen

  1. Öffne das Fenster Globales Mapping über Fenster ‣ Globales Mapping.

  2. Ziehe driverRequest und velocity per Drag-and-drop aus dem Tab Modellzugriff in das globale Mapping.

  3. Prüfe die vorgeschlagenen Mappingnamen. Entferne bei Bedarf Präfixe wie Plant model. und bestätige mit OK.

Damit liegen für beide Größen Einträge aus Mappingname und Mappingziel vor.

../../_images/Tutorial_Lesson_4_Create_Global_Mapping.png

Info

Das Fenster Globales Mapping kann per Drag-and-drop dauerhaft angedockt werden. Ziehe es dazu an die gewünschte Stelle (wo eine blaue Hervorhebung erscheint).

Globales Mapping als XAM-Datei speichern

  1. Speichere das globale Mapping unter einem frei gewählten Namen, zum Beispiel EV_SIL.xam.

Die Datei wird im Verzeichnis Parameters deines Workspace abgelegt.

XAM-Datei in der Testkonfiguration einbinden

  1. Öffne die Testkonfiguration aus Übung 2, zum Beispiel EV_SIL.tcf.

  2. Trage die XAM-Datei im Tab Allgemein im Feld Globale Mapping-Datei ein.

  3. Speichere die Testkonfiguration und schließe den Editor.

Beim nächsten Start der Testkonfiguration wird das globale Mapping automatisch geladen.

../../_images/Tutorial_Lesson_4_TCF_Global_Mapping_File.png

Bestehenden Testfall auf Mapping umstellen

Du stellst nun den Testfall aus Übung 3 im Editor auf Mapping um.

  1. Öffne das Package, zum Beispiel EV_Test.pkg.

  2. Ziehe den Mapping-Eintrag driverRequest auf den Schreiben-Testschritt in Zeile 1.

  3. Ziehe velocity auf den Lesen-Testschritt in Zeile 3.

  4. Speichere das Package.

An den umgestellten Schritten erscheint ein kleines M als Kennzeichen für globales Mapping. Der Testfall verwendet nun Mappingnamen statt direkter Modellpfade.

../../_images/Tutorial_Lesson_4_Testcase_Uses_Mapping.png

Info

Verwende Globales Mapping möglichst schon beim Erstellen neuer Testfälle. Dadurch bleiben spätere Anpassungen deutlich einfacher.

Konfigurationen neu starten

Änderungen an der geladenen Testkonfiguration werden erst nach einem Neustart wirksam.

  1. Klicke im Fenster Konfigurationen auf Stopp.

  2. Starte die Konfigurationen anschließend mit Play erneut.

Testfall ausführen und Mapping im Report prüfen

  1. Drücke F9 oder klicke im Package-Editor auf Testfall ausführen.

Der Testfall läuft wie in Übung 3 mit SUCCESS durch. Im Report siehst du zusätzlich, welcher Mappingname verwendet und auf welches Ziel er aufgelöst wurde.

../../_images/Tutorial_Lesson_4_Report_Mapping_Resolution.png

Globales Mapping anpassen

Der zentrale Vorteil von Mappings ist die einfache Wartung: Statt den Testfall zu ändern, passt du nur die Zielzuordnung im Mapping an.

Im Beispiel soll die Geschwindigkeit nicht mehr aus Plant model.velocity, sondern aus Plant model.BUS_velocity gelesen werden.

  1. Öffne die XAM-Datei im Mappingdateieditor.

  2. Ziehe die neue Größe aus dem Modellzugriff auf den bisherigen Eintrag in der Spalte Target.

  3. Speichere die Datei.

../../_images/Tutorial_Lesson_4_Update_Mapping_Target.png

Beim nächsten Lauf ist im Report das neue Mappingziel sichtbar. Der Testfall selbst bleibt unverändert.

Ergebnis der Lektion 4

Du hast den Testfall aus Übung 3 auf globales Mapping umgestellt und die XAM-Datei in der Testkonfiguration eingebunden. Außerdem hast du ein Mappingziel geändert und den Effekt im Report nachvollzogen.

Damit werden Tests robuster gegenüber Änderungen am Testobjekt und lassen sich besser wiederverwenden.

Weiterführende Themen wie lokale Mappings, parametrierte Mappings über Packagereferenzen oder Priorisierungen findest du in der Anwenderdokumentation zum Mappingkonzept, zu globalen Mappings und zum Mappingdateieditor.

Für die Ergebnisauswertung sind zusätzlich Benutzerdefinierte Reportgeneratoren, Signalaufnahmen und die Traceanalyse hilfreich.

../../_images/Tutorial_Lesson_4_Mapping_Overview.png

Weiter mit Übung 5.