Projekt-Editor

Innerhalb von Projekten können mehrere Packages zusammengefasst werden. Dabei ist es möglich, einem Package verschiedene Parameterdatensätze hinzuzufügen. Das Package wird dann mit jedem Parameterdatensatz genau einmal ausgeführt.

Damit lassen sich große voneinander unabhängige Testabläufe erstellen, die über einen längeren Zeitraum (z. B. über Nacht) ohne Nutzereingabe ablaufen können. Projekte erlauben dann eine übersichtliche und detaillierte Auswertung der Testabläufe.

Projekte können zusammen mit allen notwendigen Daten zur Reproduzierbarkeit des Testablaufs importiert und exportiert werden.

../../_images/Projekt_Parametrierung.png

Mit dem Menüeintrag Datei ‣ Neu ‣ Projekt wird ein neues Projekt erstellt und im Editor angezeigt.

Weitere Themen:

Projektelemente

Als Projektelemente können dem Projekt Packages, Projektaufrufe und Konfigurationswechsel hinzugefügt werden. Das Hinzufügen kann per Drag&Drop aus dem Tab Workspace in das Projektfenster erfolgen. Konfigurationswechsel werden durch Drag&Drop von Konfigurationsdateien (.tcf-, .tbc-Datei) eingefügt (siehe Konfigurationswechsel). Eine Alternative ist das Einfügen über das Kontextmenü aus dem Tab Workspace heraus.

Ebenso ist es möglich, ganze Ordner in das Projektfenster einzufügen oder zur besseren Übersicht eigene Projektordner zu erstellen. Die angelegten Packageeinträge im Projektfenster stellen nur Referenzen zu den Packages im Tab Workspace dar.

Der Baum zeigt die dem Projekt hinzugefügten Packages und Ordner an. Existieren zu einem Package Parametersätze, kann das Package erweitert werden. Somit werden die vorhandenen Parametersätze sichtbar.

Parameterdatensätze geben die Wertebelegung der Parameter bei der Ausführung des Packages an. Somit kann ein Package in einem Projekt mit verschiedenen Parameterdatensätzen hintereinander ausgeführt werden.

../../_images/Projekt_Baum.png

Mit einem Rechtsklick auf ein Element des Projektbaums öffnet sich ein Kontextmenü:

../../_images/Projekt_Kontextmenue.png
Bearbeiten

Birgt erweiterte Optionen. So kann man festlegen, ob das Zurücksetzen der Größen nach Testausführung aktiviert, deaktiviert oder wie in der übergeordneten Komponente geschehen soll. Die übergeordnete Komponente kann ein Projektordner, das ganze Projekt oder, wenn auf höchster Ebene angegeben, die Testkonfiguration sein.

Außerdem kann festgelegt werden, ob Packages bei einem Error/Failed wiederholt werden sollen. So kann, wenn in der Testkonfiguration angegeben wurde, dass bei einem Fehler die Ausführung abgebrochen werden soll, ein „Error“-Package ausgeführt werden, um den Prüfplatz beispielsweise neu zu initialisieren. Mit dieser Option wird danach das Package erneut ausgeführt und im Testreport nur das Ergebnis der Wiederholung vermerkt.

Im Zusammenhang mit Traceanalysen wird die Packagewiederholung wie folgt behandelt:

Traceanalysen werden prinzipiell nur dann ausgeführt, wenn der Testlauf nicht noch einmal wiederholt werden muss. Sei es, weil das Testergebnis der Erwartung entspricht oder weil keine Wiederholungsversuche mehr unternommen werden.

Wenn das Ergebnis einer Traceanalyse eine Wiederholung erzwingt, so wird bei sequentieller Abarbeitung Test und Traceanalyse wiederholt. Bei paralleler Abarbeitung werden Traceanalysen immer nur einmal ausgeführt. Ihr Ergebnis ist für die Entscheidung einer Wiederholung irrelevant.

Auf dem Projektwurzelknoten und Ordnern kann hier ebenfalls die zufällige Ausführungsreihenfolge konfiguriert werden. Wenn aktiviert, dann werden die direkt untergeordneten Projektschritte während der Projektausführung in einer zufälligen Reihenfolge abgearbeitet. Ebenso ist es möglich von der übergeordneten Instanz(Projekt bzw. Ordner) zu erben. Einschränkung: Enthält der Projektwurzelknoten bzw. Ordner einen Konfigurationswechsel auf erster Ebene, dann ist die zufällige Ausführungsreihenfolge nicht möglich.

Wenn dieses Fenster auf dem Wurzelknoten des Projekts geöffnet wird, steht zusätzlich der Tab Attribute zur Verfügung, über den ähnlich wie beim Package eine Beschreibung und weitere Attribute festgelegt werden können. Die für Projekte verfügbaren Attribute sind in der Datei prjattr.spec hinterlegt. Weiterhin wird hier die Testmanagement-Id (Test-Id) des Projekts angezeigt, ihr Wert kann nur kopiert und nicht verändert werden.

Ausführen ab hier

Führt alle weiteren Packages ab der gewählten Position aus. Somit ist es möglich, nur einen Teil des Projektes erneut auszuführen.

Neu

Fügt eines der folgenden Elemente dem Projektbaum hinzu:

Bei Rechtsklick auf Projektwurzelknoten:

Bei Rechtsklick auf Packagereferenz:

Parametrierung

Ermöglicht die Festlegung von Standardwerten im Hauptprojekt, Ordner und Parametersatz, die für die untergeordneten Projektkomponenten gelten. Tiefer im Projektbaum festgelegte Werte überschreiben die aus oberen Ebenen. Im Wesentlichen können Werte für die Package-Parameter und globalen Konstanten festgelegt werden, der Parametersatz bietet weitere Möglichkeiten.

Info

Im Gegensatz zur Parameterdefinition im Parametersatz können *.ppd Dateien in der Projektparametrierung (sowie in Projektordnern) Parameter definieren, die in den aufgerufenen Packages nicht vorhanden sind ohne, dass es zu einerm Error kommt.

Info

Wird eine globale Konstante parametriert, die zuvor zur Laufzeit verändert wurde, dann wird der Laufzeitwert zurückgesetzt. Für nachfolgende Element gilt, sofern vorhanden, der im übergeordneten Element definierte Wert. Andernfalls ist die Konstante fortan nicht mehr definiert.

Aktivieren

Legt fest, ob das aktuelle Element ausgeführt werden soll. Somit kann man leicht einzelne Elemente deaktivieren, ohne dazu das ganze Projekt ändern zu müssen.

Dokumentieren

Legt fest, ob ein Testreport für das Package erstellt werden soll. Ist diese Option deaktiviert, so wird das Package zwar ausgeführt, in der Auswertung sind aber keine Details zu finden.

Die Optionen Löschen, Umbenennen, Ausschneiden, Kopieren und Einfügen entsprechen den bekannten Standardfunktionen.

Packagereferenz

Mittels rechter Maustaste und Auswahl von Neu ‣ Packagereferenz oder per Drag and Drop aus dem Packagebaum, können Packagereferenzen dem Projekt hinzugefügt werden. Somit werden mehrere Packages hintereinander ausgeführt und in einem großen Testreport angezeigt, der noch statistische Angaben über die Anzahl der „SUCCESS“/“FAILED“ Elemente enthält.

Es gibt unterschiedliche Arten von Packagereferenzen. Neben normalen Packagereferenzen icon_package gibt es noch Stimulationspackages icon_stimulation und Analysepackages icon_analysis. Diese beiden bilden zusammen einen speziellen Workflow ab, welcher in Kapitel Stimulationspackage und Analysepackage näher beschrieben wird.

Klickt man mit der rechten Maustaste auf eine Packagereferenz, so kann das Package zur Ansicht geöffnet werden (analog zu Shift + Doppelklick) oder ein Parametersatz/Parametersatzgenerator hinzugefügt werden (Menüpunkt Neu). Mit einem Klick auf Eigenschaften, können verschiedene Optionen festgelegt werden:

../../_images/Packagereferenz_1.png ../../_images/Packagereferenz_2.png

Der Tab Package-Fehlerbehandlung erlaubt die automatische Wiederholung dieses Packages, wenn die Bewertung ERROR oder FAILED war. Zusammen mit der Möglichkeit darunter ein Package anzugeben, was bei Abbruch, ERROR oder FAILED ausgeführt werden soll, hat man so ein wirksames Mittel in der Hand, um bei Problemen automatisch den Prüfplatz in einen definierten Zustand zu bringen. Die Einstellungen entsprechen denen der Testkonfiguration, können hier aber spezifisch für jede Packagereferenz festgelegt werden. Die gleiche Einstellung steht auch auf Ordnern, auf dem Projekt-Wurzelknoten, auf Projekt-Aufrufen und auf Parametersätzen zur Verfügung und gilt dann für alle enthaltenen Packagereferenzen bzw. für die einzelne, parametrierte Packageausführung.

Der Tab Testgrößen zurücksetzen entspricht ebenfalls der Einstellung der Konfiguration und kann hier speziell aktiviert oder deaktiviert werden.

Parametersatz

Parametersätze können verwendet werden, um Packagereferenzen im Projekt zu parametrieren. Einer Packagereferenz können null oder beliebig viele Parametersätze zugeordnet werden. Wird kein Parametersatz verwendet, so wird die Packagereferenz einmalig und ohne Parametrierung ausgeführt. Werden ein oder mehrere Parametersätze definiert, erfolgt für jeden Parametersatz genau eine Ausführung mit der entsprechenden Parametrierung.

Mit Doppelklick auf den Parametersatz kann dieser über den folgenden Dialog parametriert werden:

../../_images/Projekt_Parametersatz.png

Im Tab Parametrierung werden die Initialwerte der verschiedenen Übergabeparameter des Packages überschrieben. Dabei können die Parameter im oberen Teil entweder statisch angegeben oder Parameterdefinitionsdateien (*.ppd, siehe Parameterdefinitionseditor) im unteren referenziert werden. Sowohl manuell angegebene als auch in *.ppd Dateien definierte Parameter müssen im Package existieren, ansonsten kommt es bei der Ausführung zu einem Error. Parameter, welche an dieser Stelle nicht überschrieben werden, bekommen bei der Ausführung den im Package definierten Initialwert zugewiesen.

Info

Je weiter oben eine Parameterdefinitionsdatei steht, um so höher ist deren Priorität. Das bedeutet, dass bei Namenskollision von Parametern in den verschiedenen Dateien der Wert der obersten Datei gewählt wird. Eine Sonderrolle spielt das obige Eingabefenster für Parameter. Diese sind in der Liste über den nicht-löschbaren Eintrag <statisch definierte Einträge> repräsentiert und werde entsprechend dessen Position priorisiert.

Unter dem Tab Mapping können Mappingziele im referenzierten Package manipuliert werden. Somit ist es möglich, das gleiche Package mit verschiedenen Parametersätzen aufzurufen, und jedes mal andere Mappingziele zu definieren. Zudem lassen sich Mappingeinträge aus dem globalen Mapping per Drag-and-Drop als Mappingziele festlegen. Diese Referenzen ermöglichen es, die Anpassungen der Mappingziele Package-interner Größen (Signale, Variablen) durch eine Anpassung des globalen Mappings vorzunehmen, d.h. ohne das übergeordnete Projekt selbst verändern zu müssen.

Der Tab Signalaufnahmen kann verwendet werden, um temporäre Aufnahmegruppen für die im Package vorhandenen Signalgruppen anzulegen.

Im Tab Globale Konstanten kann Einfluss auf Werte von globalen Konstanten im referenzierten Package genommen werden. Zum einen können hier globale Konstanten neu definiert werden. Zum anderen können die Werte von globalen Konstanten überschrieben werden, die Bestandteil der aktivierten Testkonfiguration sind. Weiterhin können Konstantendefinitionsdateien verwendet werden, wie im Abschnitt Konstantendefinitionseditor beschrieben.

Info

Werden globale Konstanten in einem Parametersatz verändert oder definiert, so haben die vorgenommenen Änderungen immer nur Einfluss auf die konkrete Instanz der jeweiligen Package-Ausführung und niemals auf folgende.

Unter dem Tab Attribute können die Werte von Package-Attributen gesetzt werden. So können auch bereits im Package definierte Attribute für diesen Parametersatz überschrieben werden.

Nach der Testausführung kann im Testfall-Report eingesehen werden, mit welcher Parametrierung die verschiedenen Packageausführungen durchgeführt wurden. Ein Beispiel ist in Abschnitt Auswertung zu sehen.

Projektreferenz

Klickt man mit der rechten Maustaste auf ein Element des (Haupt-)Projekts und wählt Neu ‣ Projektreferenz, so kann ein bereits vorhandenes Projekt diesem Projekt als Referenz hinzugefügt werden. Als Referenz bedeutet, dass lediglich ein Link zu dem bestehenden Projekt existiert, so dass alle Änderungen an der Referenz auch im Hauptprojekt stattfinden.

Klickt man mit der rechten Maustaste auf eine Projektreferenz und wählt Eigenschaften, so können neben den allgemeinen Eigenschaften die auch bei Packages eingestellt werden können, die folgenden Ausführungsoptionen aktiviert werden.

../../_images/Projektreferenz.png
Unterprojekte separat ausführen

Separat bezieht sich hierbei vor allem auf den Testreport: In der Standardeinstellung werden alle Projektelemente in einer Reportdatenbank abgelegt. Dies kann gerade bei Verwendung von Projektreferenzen zu einer sehr großen Reportdatenbank führen. Ist diese Option aktiviert, so bekommt die Projektreferenz eine eigene Reportdatenbank, die auch in einem anderen Ordner abgespeichert werden kann. Im Testreport des Hauptprojekts steht dann lediglich das Gesamtergebnis. Diese Eigenschaft kann auch auf dem Projekt-Wurzelknoten oder auf Projektordnern festgelegt werden. Dann gilt sie für alle enthaltenen Projektreferenzen, für die keine eigene Einstellung festgelegt ist. Der Ordnername wird in diesem Fall automatisch generiert.

Vorsicht

Die Auswahl eines vom Defaultwert abweichenden Speicherordners für Unterprojekt-Reports ist veraltet (deprecated) und wird mit Version 2026.1 entfernt.

Wenn eine separate Unterprojektausführung konfiguriert wurde, ist es auch möglich das Abbruchverhalten zu bestimmen. Wird die Ausführung des Unterprojekts mit einem Exit Testschritt abgebrochen oder beendet, so kann entschieden werden, ob die gesamte Projektausführung abgebrochen werden soll oder ob nur das Unterprojekt abbricht und die Projektausführung mit dem nächsten Projektschritt fortfährt. Auch dieses Verhalten kann von einer übergeordneten Komponente übernommen werden.

Info

Ein manueller Abbruch bewirkt immer den Abbruch des Gesamtprojekts.

Zufällige Ausführungsreihenfolge

Die in diesem Projekt enthaltenen Projektelemente werden in zufälliger Reihenfolge ausgeführt. Auch dieses Verhalten kann von einer übergeordneten Komponente übernommen werden.

Info

Konfigurationswechsel sind in den Projekten, für die diese Option aktiviert ist, nicht erlaubt.

Parametersatzgenerator

Der Generator wird innerhalb eines Projekts einem Package zugewiesen und erzeugt zur Laufzeit Parametersätze. Jeder Parametersatz wird einzeln generiert und sofort mit dem Package ausgeführt. Nach der Ausführung kann auf die Rückgabeparameter des Packages zugegriffen werden. Die Werte der Parameter können dazu genutzt werden, die weitere Generierung zu steuern. Somit hat man ein sehr flexibles Mittel in der Hand, um ein Package einerseits mit einer sehr großen Anzahl von Parametersätzen durchzuführen, andererseits aber auch die Parameter in einer externen Datei, beispielsweise Microsoft Excel, abzulegen.

Wenn Bedarf an der dauerhaften Sicherung der Parametersätze besteht, dann ist es möglich mittels Rechtsklick auf den Generator und Auswahl von Projekt generieren alle Parametersätze zu generieren. Diese werden dann statt des Generators in einer Kopie des offenen Projekts eingefügt.

Info

Bei Verwendung der statischen Generierung werden die Parametersätze nur generiert und nicht ausgeführt.

Hinweise zum Erstellen eines Parametersatzgenerators finden Sie im Abschnitt Parametersatzgenerator für Projekte im Kapitel Erweiterungen.

Um den Generator im Projekt verwenden zu können, klicken Sie mit der rechten Maustaste auf eine Packagereferenz und wählen Sie Neu, dann Parametersatzgenerator und dann den Namen eines Generators. Es ist auch möglich mehrere Generatoren auf ein Package anzuwenden, die dann nacheinander abgearbeitet werden.

Parametervariation

Die Parametervariation ist ein spezieller Parametersatzgenerator. Die Parametervariation ermöglicht es Wertebereiche von Parametern einfach miteinander zu kombinieren. Dies ist hilfreich wenn ein Testfall viele Parameter mit vielen verschiedenen Werten besitzt.

Notation der Parameterwerte

Es werden Parameter vom Typ Numeric, String, Enum oder Texttable unterstützt. Parameter vom Typ String, Enum und Texttable werden in Anführungszeichen angegeben, z.B. „A“.

Die Parameterwerte werden auf folgende Arten angegeben. Dabei ist zu beachten, dass Paramater vom Typ String, Enum und Texttable nur in Auflistungen verwendet werden dürfen.

Auflistung

Beliebige Werte werden durch Kommata getrennt angegeben.

Example

23, 42, 77 oder „A“, „B“, „C“

Schrittweise Angabe

Die Parameter werden über einen Bereich mit einer vordefinierten Schrittweite angegeben. Die Syntax dafür ist start(step)stop. Step definiert dabei die Schrittweite, Anfang und Ende sind inklusiv.

Example

10(5)20; Folgende Parameterwerte werden getestet: 10, 15, 20

Äquivalenzklassen

Äquivalenzklassen werden definiert über [start:end]. Es werden dann die Grenzwerte, sowie ein Wert innerhalb des Intervalls abgetestet.

Example

[-30:0],[0:50]; Folgende Parameterwerte werden getestet: -30, -29, -15, -1, 0, 1, 25, 49, 50

Info

Äquivalenzklassen können nur mit ganzzahligen Werten verwendet werden.

Algorithmen

Zur Kombination der Parameter stehen folgende Algorithmen zur Auswahl:

Kartesisches Produkt

Dieser Algorithmus erstellt Parametersätze für alle möglichen Parameterkombinationen. Der Parameterraum wird mit den spezifizierten Parameterwerten vollständig abgedeckt.

Vorsicht

Der Parameterraum wächst exponentiell mit der Anzahl der Parameter und ihrer möglichen Werte.

Klassifikationsbaum-Methode

Dieser Algorithmus erstellt Parametersätze, so dass alle Parameterwerte mindestens einmal abgeprüft werden.

Mit dieser Methode können nur Fehler zuverlässig gefunden werden, die von genau einem Parameterwert abhängen. Dafür ist die Anzahl der Parametersätze wesentlich geringer gegenüber dem Cartesian Product.

Paarbildungsmethode

Dieser Algorithmus erweitert die Klassifikationsbaum, so dass alle Kombinationen aus zwei Parameterwerten abgetestet werden.

Diese Methode liegt bei der Anzahl der generierten Parametersätze und der Abdeckung des Parameterraumes zwischen der Klassifikationsbaum und dem Kartesischen Produkt

N-wise-Methode

Dieser Algorithmus generalisiert die Paarbildungsmethode, so dass alle Kombinationen aus n Parameterwerten abgetestet werden.

Parametersätze Limit

Es ist möglich die maximale Anzahl von generierten Parameterdatensätzen einzustellen. Bei Erreichen des gegebenen Limits wird die weitere Generierung gestoppt.

Bei der Verwendung der Option zufällig werden aus der gesamten Ergebnismenge zufällig Parametersätze ausgewählt, bis das Limit erreicht ist. Unter Erweiterte Einstellungen kann die Methode des Zufallsgenerators eingestellt werden:

nicht deterministisch

Bei jedem Testlauf wird eine neue, zufällige Ergebnismenge ausgewählt. Das Testergebnis ist somit auch nicht deterministisch.

deterministisch

Bei jedem Testlauf wird immer exakt die gleiche, zufällige Ergebnismenge für einen gegebenen Startwert (Seed) ausgewählt (Pseudozufall). Durch den Startwert kann die Ergebnismenge variiert werden.

Parametersätze Nummerierung

Die Nummerierung der Parametersätze lässt sich ein- bzw. ausschalten. Bei eingeschalteter Nummerierung bekommt jeder Parametersatz den Namen des Packages mit einer fortlaufenden Nummer dahinter. Bei ausgeschalteter Nummerierung bekommen alle Parametersätze den Namen vom Package.

Packagegenerator

Der Generator wird direkt auf dem Wurzelknoten erstellt, indem im Kontextmenü die Optionen Neu ‣ Packagegenerator und anschließend der betreffende Generator ausgewählt werden. Bei der Ausführung des Projekts werden nacheinander Packages generiert und ausgeführt. Die Packages werden nicht dauerhaft im Dateisystem abgelegt, sie stehen also nach der Ausführung nicht zur wiederholten Ausführung zur Verfügung.

Wenn Bedarf an der dauerhaften Ablage der Packages im Dateisystem besteht, dann ist es möglich mittels Rechtsklick auf den Generator und Auswahl von Projekt generieren alle Packages zu generieren. Außerdem wird eine Kopie des offenen Projekts erstellt und der Generator dort durch die einzelnen Packagereferenzen ersetzt.

Info

Bei Verwendung der statischen Generierung werden die Packages nur generiert und nicht ausgeführt.

Hinweise zur Erstellung von Packagegeneratoren sind im Abschnitt Packagegenerator für Projekte zu finden.

Zum qualitativen Signalvergleich von verschiedenen Tracedateien kann der Referenztest-Packagegenerator verwendet werden.

Projektgenerator

Mit Projektgeneratoren können während einer Projektausführung skriptgesteuert Projektschritte erzeugt werden. Hinweise zur Erstellung von Projektgeneratoren sind im Abschnitt Projektgenerator zu finden.

Der Generator wird direkt auf dem Wurzelknoten oder einem Ordner erstellt, indem im Kontextmenü die Option Neu ‣ Projektgenerator und anschließend der betreffende Generator ausgewählt wird.

Bei der Ausführung des Projekts werden nacheinander Projekte generiert und ausgeführt. Die generierten Projekte werden nicht dauerhaft im Dateisystem abgelegt, sie stehen also nach der Ausführung nicht zur wiederholten Ausführung zur Verfügung.

Wenn Bedarf an der dauerhaften Ablage der Projekte im Dateisystem besteht, dann ist es möglich mittels Rechtsklick auf den Generator und Auswahl von Projekt generieren alle Projekte zu generieren. Außerdem wird eine Kopie des offenen Projekts erstellt und der Generator dort durch die einzelnen Projektreferenzen ersetzt.

Der eingebaute Workspacefilter-Generator generiert Projekte anhand vom definierten Filter.

Info

Bei Verwendung der statischen Generierung werden die Projekte nur generiert und nicht ausgeführt.

Konfigurationswechsel

Mit dem Projektschritt Konfigurationswechsel können die Test- und Testbenchkonfiguration gewechselt, gestartet und gestoppt werden, um beispielsweise zwischen verschiedenen Prüfstands- bzw. Prüflingskonfigurationen umzuschalten. Innerhalb eines Projektes können beliebig viele Konfigurationswechsel verwendet werden.

Des Weiteren erlaubt der Schritt, den Status der eingebundenen Tools unabhängig voneinander zu steuern, also die Tools individuell zu starten, zu stoppen oder neuzustarten. Mit mehreren aufeinanderfolgenden Konfigurationswechselschritten können dadurch individuelle Startup- bzw. Shutdown-Sequenzen realisiert werden.

Dieser Projektschritt bietet folgende Einstellmöglichkeiten:

../../_images/Projekt_Konfigurationswechsel.png

Info

Wird ein Konfigurationswechsel in einem Unterordner des Projektes eingefügt, so überschreibt eine eventuelle Parametrierung des Ordners die Einstellungen der neu geladenen Konfiguration.

Checkbox und Eingabefeld Testkonfiguration

Wenn die Checkbox gesetzt wird kann hier die zu verwendende Testkonfiguration angegeben werden. Bleibt das Eingabefeld dabei leer, wird die aktuell eventuell gestartete Konfiguration gestoppt und die selektierte Testkonfiguration abgewählt. Bei geänderter Testkonfiguration wird die neue Konfiguration wenn möglich direkt übernommen, d.h. ohne die Datenbasen neu einzulesen und sämtliche Tools der Testbenchkonfiguration neuzustarten. Dies verhält sich analog zum manuellen Selektieren der Testkonfiguration (s. Konfigurationen zur Verwendung auswählen). Anders als beim manuellen Selektieren erscheint hierbei aber kein Hinweisdialog, um die Projektausführung nicht zu blockieren. Wird die Checkbox nicht gesetzt, wird die aktuell gestartete bzw. selektierte Testkonfiguration benutzt.

Checkbox und Eingabefeld Testbenchkonfiguration

Wenn die Checkbox gesetzt wird kann hier die zu verwendende Testbenchkonfiguration angegeben werden. Bleibt das Eingabefeld dabei leer, wird die aktuell eventuell gestartete Testbenchkonfiguration gestoppt und die selektierte Testbenchkonfiguration abgewählt. Wird die Checkbox nicht gesetzt, wird die aktuell gestartete bzw. selektierte Testbenchkonfiguration benutzt.

Liste der Toolaktionen

Hier kann optional für jedes Tool der Testbenchkonfiguration festgelegt werden, wie es beim Konfigurationswechsel behandelt werden soll. Verfügbare Toolaktionen:

  • Automatisch (Standard): Werden die TBC oder TCF im Konfigurationswechsel maßgeblich verändert, so wird das Tool beim Konfigurationswechsel gestoppt und abhängig von seinem Startmodus im Testbenchkonfigurationseditor und der Verwendung eines seiner Ports im Testkonfigurationseditor wieder gestartet. Bleiben TCF und TBC unverändert, so bleibt das Tool gestartet.

  • (Neu-) Starten: Tool wird gestartet, wenn es gestoppt ist. Sollte es bereits gestartet sein, so wird ein Neustart erzwungen.

  • Starten (kein Neustart): Tool wird gestartet, wenn es gestoppt (grau) oder in einem Fehlerzustand (rot) ist. Sollte es bereits gestartet sein (grün), so wird ein Neustart verhindert. Dies ist nur möglich, wenn die Testbenchkonfiguration im Konfigurationswechsel nicht verändert wird.

  • Stoppen: Tool wird gestoppt, bzw. bleibt gestoppt.

  • Keine Aktion: Der Status des Tools bleibt unverändert.

Info

Die den Tools in der Testbenchkonfiguration zugeordnete Prio und die sich daraus ergebende Start- bzw. Stopp-Reihenfolge der Tools werden in folgenden Fällen angewandt:

  • Die geladene, aber noch nicht gestartete Konfiguration wird gestartet.

  • Durch Änderung der Test- bzw. Testbenchkonfiguration wird die aktive Konfiguration gestoppt und anschließend die neue Konfiguration gestartet.

  • Die Option zum Erzwingen eines Neustarts der Konfiguration ist gesetzt.

In allen anderen Fällen sind die Start- und Stop-Reihenfolge der Tools nicht bestimmt.

Importieren und Exportieren

Über das Menü Datei ‣ Importieren ‣ Projekt bzw. Datei ‣ Exportieren ‣ Projekt kann ein Projekt im- bzw. exportiert werden.

Wird ein Projekt in ein Archiv exportiert, werden alle Elemente, die zur Projektausführung notwendig sind, in eine Datei gepackt. Das betrifft alle referenzierten Packages und Projekte (inklusive der relativen Verzeichnisstruktur), sowie die verwendeten Test- und Testbenchkonfigurationen und natürlich die Projektdatei selbst.

Wird ein solches Projektarchiv wieder importiert, so werden die Elemente den ecu.test-Verzeichnissen wieder hinzugefügt. Sind die Dateien bereits vorhanden, so wird der Nutzer gefragt ob abgebrochen oder ein Teil des Workspaces überschrieben werden soll. Die beim Importieren angelegte Test- und Testbenchkonfiguration des importierten Projektes können entsprechend Verwendung von Konfigurationen ausgewählt werden.

Packages filtern

Durch Eingabe von Filterausdrücken in das Textfeld in der Buttonleiste ist es möglich, die Packagereferenzen im aktuell geöffneten Projekt zu filtern und damit deren Ausführung zu unterbinden. Verfügbare Filterkriterien sind die in den Packages definierten Attribute und der Package-Name. Eine Auto-Vervollständigung unterstützt bei der Erstellung des Filters. Da alle Package-Attribute Zeichenketten vom Typ String sind, ist auch der Vergleichswert als String, also in Hochkommata, einzugeben.

Suche nach dem Namen einer Packagereferenz

"Testcase123" --> ["Testcase123"]
"Testcase1?3" --> ["Testcase123"]
"Testcase*"   --> [Testcase123, Testcase236, Testcase366, Testcase499]

Die erweiterte Filtersprache ist im Abschnitt Filter genau definiert.

Ausführung

Über das Symbol img_playprj in der Buttonleiste oberhalb des geladenen Projektes, bzw. durch das Kontextmenü Ausführen ab hier, wird die Projektausführung gestartet. Nun arbeitet ecu.test die eingefügten Packages mit ihren ggf. vorhandenen Parametern der Reihenfolge nach ab und erstellt die entsprechenden Testreports. Dabei zeigt das Projektfenster während der Ausführung das Resultat der bereits ausgeführten Packages an. So erhält man immer einen Überblick über den Stand der Projektausführung.

Über den schwarzen Pfeil neben dem Symbol für die Projektausführung ist es möglich, das Projekt in verschiedenen Ausführungsmodi zu starten:

  1. Projekt ausführen (Testfall + Analyse-Jobs)

  2. Projekt ausführen ohne Analyse-Job-Abarbeitung (nur Testfall)

  3. Projekt ausführen mit paralleler Analyse-Job-Abarbeitung (Testfall + Analysejobs in paralleler Instanz)

  4. Projekt ausführen mit nachgelagerter Analyse-Job-Abarbeitung

  5. Nur Traceanalysen ausführen (nur Analyse-Jobs)

  6. Nur Traceanalysen parallel ausführen (nur Analysejobs in paralleler Instanz)

Für eine parallele Ausführung wird stets eine weitere ecu.test-Instanz im Hintergrund gestartet, die die Analysejobs durchführt.

../../_images/Projektausfuehrung.png

Der Ausführungsdialog zeigt auf der linken Seite die Projektelemente und den aktuellen Fortschritt bei der Abarbeitung. Der rechte Bereich des Dialogs entspricht dem der Packageausführung (siehe Package ausführen).

Am unteren Rand werden während der Ausführung Buttons zum Überspringen des aktuell ausgeführten Projektelements, für den Abbruch nach dem aktuellen Element, und den sofortigen Abbruch der Projektausführung angezeigt.

Nach der Ausführung werden diese durch einen Button zum Aufruf des entstandenen Reports und zum Schließen des Dialogs ersetzt.

Info

Das angezeigte Gesamtergebnis entspricht bei Projektausführung dem Gesamtergebnis des Projekts, nicht dem des einzelnen Packages und wird erst nach Abschluss eines Packages aktualisiert.

Info

Der Button zum Deaktivieren des automatischen Scrollens wirkt sich bei der Projektausführung auch auf die Übersicht der Projektelemente aus.

Interaktive Ausführung

Mit dem Symbol img_playprjint wird das Projekt im interaktiven Ausführungsmodus gestartet. Packages, die als interaktiv gekennzeichnete Testschritte enthalten, werden dann in der entsprechenden Ansicht ausgeführt. Nähere Erläuterungen gibt es im Kapitel Interaktives Testen.

Über den schwarzen Pfeil neben dem Symbol für die interaktive Projektausführung ist es möglich, das Projekt mit oder ohne Traceanalyse zu starten. Die Analysejobs können auch in einer parallelen Instanz ausgeführt werden.

Projekt prüfen

Der Befehl Prüfe Projekt startet eine Prüfung des aktuellen Projekts sowie aller darin enthaltenen Packages, Generatoren und Unterprojekte.

In benutzerdefinierten Generatoren kann eine Check()-Methode implementiert werden, in welcher ein den Fehler beschreibender Text zurück gegeben werden kann.

Bei der Prüfung werden alle Unterprojekte und deren Unterprojekte rekursiv durchlaufen.

Info

Es können auch eigene Projektüberprüfungen implementiert werden. Solche Überprüfungen schaffen auch die Möglichkeit, eigene Lösungsoptionen in einem Kontextmenü anzubieten, die direkt im Dialog angewandt werden können. Dazu können die mitgelieferten Beispiele beim Start von ecu.test mit in den Workspace kopiert werden. Das dabei zu verwendende Interface ist unter <ecu.test-Installationsverzeichnis>/res/CustomChecker/api abgelegt. Selbst entwickelte Projektüberprüfungen können im Workspace unterhalb von UserPyModules abgelegt werden, so dass diese von ecu.test erkannt werden.

Auswertung

Nach erfolgter Projektausführung und dem Klicken auf die Schaltfläche Report, wird die Auswertung im Report Viewer geöffnet.

Info

Wie im Abschnitt Parametersatz beschrieben, können Packagereferenzen über Parametersätze parametriert werden. Die vorgenommenen Parametrierungen können an den Report-Einträgen der jeweiligen Parametersätze im unteren Detailreport eingesehen werden. Diese Übersicht beinhaltet die festgelegten Parameter und globale Konstanten sowie zusätzlich referenzierte Konstantendefinitionsdateien.

Ob ein Package-Parameter überschrieben wurde, ist an dem angehängten „(Default)“ erkennbar. Dieser Zusatz bedeutet, dass der Parameter nicht manipuliert und der entsprechende Initialwert verwendet wurde.