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
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:
test.guide muss in ecu.test konfiguriert sein.
Der Workspace in dem das Projekt ausgeführt wird, muss unter Versionskontrolle stehen.
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 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:
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).
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).
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.
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.
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.