Schnittstelle zur Traceanalyse

Test und Traceanalyse sind voneinander unabhängig und können getrennt ausgeführt werden. Die Schnittstelle zwischen beiden sind die Analysejobs. Somit ist es möglich, Traceanalysen zu einem späteren Zeitpunkt und sogar auf einem anderen Rechner auszuführen (siehe Nachträgliche Ausführung von Analysejobs) oder im Zusammenhang mit einem Projekt parallel zu den Testfällen (siehe Projektausführung).

Analysejobs werden in einer eigenen Datei mit der Endung .ajob im XML-Format abgelegt und enthalten folgende Informationen:

  • Referenz auf die Traceanalyse aus einem Package

  • Testkonfiguration

  • Aufnahmen

  • Signalmapping

  • Synchronisation

  • Parameter

Bestimmte Ereignisse im Testfall (insbesondere die Testschritte Exit und Return) können die Ausführung von Traceanalysen (sowie die vorherige Synchronisation von Traces) unter bestimmten Umständen verhindern. Im Folgenden ist dargestellt unter welchen Bedingungen keine Synchronisation der Traces erfolgt und die Traceanalyse nicht ausgeführt wird.

Ereignis im Testfall

Synchronisation / Traceanalyse

Abbruch der Precondition durch Testschritt mit Bewertung INCONCLUSIVE oder schlechter

nein

Abbruch der Precondition durch Testschritt Exit (Option „Testabbruch“)

nein

Verlassen der Precondition durch Testschritt Exit (Option „Testende“), unabhängig von Bewertung

nein

Verlassen der Precondition durch Testschritt Return, unabhängig von Bewertung

nein

Abbruch des Testfalls nach der Precondition durch Testschritt Exit (Option „Testabbruch“)

nein

Verlassen des Testfalls nach der Precondition durch Testschritt Exit (Option „Testende“), unabhängig von Bewertung

ja

Verlassen des Testfalls nach der Precondition durch Testschritt Return, unabhängig von Bewertung

ja

Testpackageausführung

Die Analysejobs img_AnalysisJob werden automatisch bei der Testausführung erzeugt und im Reportverzeichnis abgelegt. Im Report werden sie am Ende eines Packages durch den Testschritt „Analysejob“ dokumentiert.

Detailliertere Informationen über die Entstehung der Analysejobs während der Testausführung finden Sie hier.

Testausführung mit Analysejob-Abarbeitung

Der Eintrag „Testfall und Traceanalyse ausführen (F9)“ im Play-Button des Package-Editors führt zunächst den Testfall aus. Die dabei entstandenen Analysejobs werden anschließend automatisch ausgeführt.

Testausführung ohne Analysejob-Abarbeitung

Der Eintrag „Testfall ausführen (Strg + F9)“ im Play-Button des Package-Editors führt nur den Testfall aus. Dabei entstehen die Analysejobs genauso wie bei allen anderen Play-Optionen, mit dem Unterschied, dass sie nicht ausgeführt werden.

Die Analysejobs können nachträglich ausgeführt werden (siehe Nachträgliche Ausführung von Analysejobs).

.._AnalyseJob_Testpackageausfuehrung_downstream

Testausführung mit nachgelagerter Analysejob-Abarbeitung

Siehe Projektausführung mit nachgelagerter Analysejob-Abarbeitung.

Traceanalyse ohne Test ausführen

Der Eintrag „Traceanalyse einzeln ausführen (Strg + F8)“ im Play-Button führt die Traceanalysen ausgehend von den manuell im Tab Signalaufnahmen hinterlegten Signalaufnahmen aus. Dies geschieht losgelöst vom eigentlichen Testfall.

Projektausführung

Projektausführung mit Analysejob-Abarbeitung

Der Eintrag „Projekt ausführen (F9)“ im Play-Button des Projekt-Editors führt das Projekt aus. Nach jeder Packageausführung werden alle jeweils entstandenen Analysejobs automatisch ausgeführt.

Projektausführung ohne Analysejob-Abarbeitung

Der Eintrag „Projekt ausführen ohne Analysejob-Abarbeitung (Strg + F9)“ im Play-Button des Projekt-Editors führt nur die Testfälle der Packages aus. Dabei entstehen die Analysejobs genauso wie bei allen anderen Play-Optionen, mit dem Unterschied, dass sie nicht ausgeführt werden.

Die Analysejobs können nachträglich ausgeführt werden (siehe Nachträgliche Ausführung von Analysejobs).

Projektausführung mit paralleler Analysejob-Abarbeitung

Der Eintrag „Projekt ausführen mit paralleler Analysejob-Abarbeitung (Strg + Shift + F9)“ im Play-Button des Projekt-Editors führt das Projekt aus. Dabei werden alle Analysejobs einen Packages parallel zur weiteren Projektausführung in einem separaten Hintergrundprozess ausgeführt.

Projektausführung mit nachgelagerter Analysejob-Abarbeitung

Bei der nachgelagerten Analysejob-Abarbeitung wird der Testfall lokal ausgeführt und die Analysejobs werden erstellt. Letztere werden für eine effizientere Ausführung über test.guide auf konfigurierte Analyse-Hosts verteilt.

Folgende Voraussetzungen sind für die nachgelagerte Analyse notwendig:

  1. test.guide muss in ecu.test konfiguriert sein.

  2. Der Workspace in dem das Projekt ausgeführt wird, muss unter Versionskontrolle stehen.

  3. test.guide muss für die nachgelagerte Analyse konfiguriert sein:

    • Unter Testausführung - Einstellungen muss die nachgelagerte Analyse konfiguriert sein.

      • Die nachgelagerte Analyse muss aktiv sein.

      • Die Strategie zum Upload von Artefakten muss gewählt werden.

    • Das SCM-Repository muss im test.guide als SCM-Tool konfiguriert sein.

    • Es wird ein Analyse-Host mit einem ResourceAdapter benötigt, welcher mit test.guide verbunden ist. Der ResourceAdapter muss im Configurations-Plugin als XIL-Typ „Analysis“ konfiguriert sein.

Nur Traceanalysen ausführen

Der Eintrag „Nur Traceanalysen ausführen“ im Play-Button des Projekt-Editors führt nur die Analysejobs der Packages aus. Dabei werden ausschließlich die Inhalte der Traceanalysen betrachtet. Eventuell vorhandene Optionen im Testfall (z.B. Testschritt Add Trace, Aufnahme von Testfallvariablen, etc.), die die Traceanalysen betreffen werden ignoriert.

Dokumentation der Analysejobs im Report

Jeder Analysejob, der ausgeführt wird, erhält einen eigenen Report. Wird ein Analysejob im Zusammenhang mit einer Testausführung abgearbeitet, so wird dessen Report in den Testreport überführt. Nach erfolgreicher Zusammenführung wird standardmäßig der Analysejob-Report gelöscht. Das automatische Löschen kann in den Optionen ausgeschaltet werden (siehe Testausführung).

Ein Testreport, dessen Test Analysejobs erzeugt hat, enthält im linken Navigationsbaum einen Eintrag ‚Analysejobs‘ unter dem alle Analysejobs aufgelistet werden. Durch Anklicken eines Analysejobs wird auf der rechten Seite der Report der Traceanalyse angezeigt. Wurden Test- und Analysejob-Report nicht zusammengeführt, ist der Analysejob im Testreport als „Inconclusive“ markiert.

Werden Analysejobs eines Testreports nachträglich ausgeführt, wird dies durch eine Nachbewertung mit einem automatisch generierten Kommentar dokumentiert. Dadurch wird festgehalten, wann ein Analysejob nachträglich ausgeführt wurde und welches Ergebnis dessen Ausführung hatte.

Nachträgliche Ausführung von Analysejobs

Eigenständige Analysejob-Ausführung

Die .ajob-Endung wird bei der Installation von ecu.test im System registriert. Wird eine Analysejob-Datei im Explorer mit Doppelklick gestartet, so wird der Analysejob in ecu.test in einem Dialog geöffnet. Der Job kann auch direkt in ecu.test unter Datei ‣ Öffnen ‣ Analysejob geöffnet werden.

Der Analysejob-Dialog listet die wesentlichen Informationen auf und bietet die Möglichkeit, den Job auszuführen. Nach der Jobausführung öffnet sich der Analysejob-Report.

Analysejob-Ausführung nach Package- oder Projektausführung aus dem Testreport heraus

Die während der Ausführung eines einzelnen Packages oder eines Projektes erzeugten Analysejobs können nachträglich (beliebig oft) aus dem zugehörigen Testreport heraus ausgeführt werden. Dabei ist es egal, ob die Analysejobs bereits ausgeführt wurden (siehe Testausführung mit Analysejob-Abarbeitung, Projektausführung mit Analysejob-Abarbeitung oder Projektausführung mit paralleler Analysejob-Abarbeitung) oder nicht (siehe Testausführung ohne Analysejob-Abarbeitung oder Projektausführung ohne Analysejob-Abarbeitung).

Die nachträgliche Ausführung von Analysejobs kann wie folgt angestoßen werden:

  1. Nach Ausführung eines Packages den Eintrag „Traceanalyse aus aktuellem Testreport ausführen (F8)“ im Play-Button des Package-Editors auswählen. Die selbe Funktion ist auch im Testreport durch Rechtsklick auf dem Eintrag Analysejobs oder das Hauptpackage als Kontextmenüeintrag Analysejobs ausführen verfügbar.

    Nach erfolgter Ausführung werden die Ergebnisse in den Testreport des Packages eingepflegt und die bisherigen Bewertungen entsprechend aktualisiert (siehe Abschnitt Dokumentation der Analysejobs im Report).

  2. Nach Ausführung eines Projektes im Projektbaum des Projektreports mittels Rechtsklick auf einen einzelnen Analysejob bzw. den Eintrag Analysejobs unterhalb eines Packages des Projektes oder auf das Hauptprojekt und dann Analysejob ausführen bzw. Analysejobs ausführen im erscheinenden Kontextmenü.

    Nach erfolgter Ausführung werden die Ergebnisse in den Testreport des Projektes eingepflegt und die bisherigen Bewertungen entsprechend aktualisiert (siehe Abschnitt Dokumentation der Analysejobs im Report).

  3. Einzelne Analysejobs können separat ausgeführt werden (Kontexmenüeintrag Analysejob ausführen einzelner Analysejobs).

    Das Ergebnis wird in diesem Fall in einem neuen Report angezeigt und nicht in den Originalreport übernommen.

    Dieses Vorgehen ist sinnvoll für das häufige wiederholte Ausführen einer einzelnen Traceanalyse während ihrer Entwicklung.

Mehr zur Entstehung von Analysejobs

Automatische Analysejoberzeugung

Die Anzahl der erzeugten Analysejobs ist von mehreren Faktoren abhängig:

  • Anzahl an Traceanalysen.

  • Anzahl an Aufnahmen in den von einer Traceanalyse verwendeten Aufnahmegruppen.

  • Das Vorhandensein strombasierter Traceschrittvorlagen.

Für eine Traceanalyse gilt:

  • Kein aktiver, strombasierter Traceschritt vorhanden:

    • Es werden genauso viele Analysejobs erzeugt, wie es Aufnahmen in der Aufnahmegruppe mit den wenigsten Aufnahmen gibt.

  • Mindestens ein aktiver, strombasierter Traceschritt vorhanden:

    • Es werden genauso viele Analysejobs erzeugt, wie es Aufnahmen in der Aufnahmegruppe mit den meisten Aufnahmen gibt.

    • Kann einem Job nicht aus jeder verwendeten Aufnahmegruppe eine Aufnahme zugewiesen werden, so werden von diesem Job nur alle strombasierten Traceschritte ausgeführt.

../_images/AJ_Jobentstehung1.png

Aufnahmen in Loggruppen

Log-Aufnahmegruppen verhalten sich bei der Job-Erstellung anders als Aufnahmegruppen. Alle Aufnahmen in Log-Aufnahmegruppen werden immer dem ersten Job einer Traceanalyse zugeordnet, sofern diese aktive, strombasierte Traceschritte enthält. Logaufnahmen können nur von strombasierten Traceschritten analysiert werden, weshalb sie auch nicht auf mehrere Analysejobs verteilt werden.

../_images/AJ_Jobentstehung2.png

Explizite Analysejoberzeugung

Alternativ zur automatischen Analysejob Erzeugung können Analysejobs mit dem Testschritt Analysejob einreihen auch explizit erzeugt werden. Gegenüber der automatischen Enstehung von Analysejobs erlaubt dieser Testschritt mehr Kontrolle und ermöglicht es, bedingte Traceanalysen zu realisieren.