Ü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:
Übung 3 ist abgeschlossen.
Ein Package wie
EV_Testmit Schreiben-, Warten- und Lesen-Testschritt ist vorhanden.Die Konfigurationen wurden wie unter Erstellen einer neuen Testbenchkonfiguration beschrieben im Testbenchkonfigurationseditor und Testkonfigurationseditor angelegt, ausgewählt und gestartet.
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.
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.
Mappingnamen werden zentral definiert und in mehreren Testfällen wiederverwendet.¶
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¶
Öffne das Fenster Globales Mapping über .
Ziehe driverRequest und velocity per Drag-and-drop aus dem Tab Modellzugriff in das globale Mapping.
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.
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¶
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¶
Öffne die Testkonfiguration aus Übung 2, zum Beispiel
EV_SIL.tcf.Trage die XAM-Datei im Tab Allgemein im Feld Globale Mapping-Datei ein.
Speichere die Testkonfiguration und schließe den Editor.
Beim nächsten Start der Testkonfiguration wird das globale Mapping automatisch geladen.
Bestehenden Testfall auf Mapping umstellen¶
Du stellst nun den Testfall aus Übung 3 im Editor auf Mapping um.
Öffne das Package, zum Beispiel
EV_Test.pkg.Ziehe den Mapping-Eintrag driverRequest auf den Schreiben-Testschritt in Zeile 1.
Ziehe velocity auf den Lesen-Testschritt in Zeile 3.
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.
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.
Klicke im Fenster Konfigurationen auf Stopp.
Starte die Konfigurationen anschließend mit Play erneut.
Testfall ausführen und Mapping im Report prüfen¶
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.
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.
Öffne die XAM-Datei im Mappingdateieditor.
Ziehe die neue Größe aus dem Modellzugriff auf den bisherigen Eintrag in der Spalte Target.
Speichere die Datei.
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.
Weiter mit Übung 5.