Datenoperationen

In dieser Kategorie finden sich alle Testschritte, mit denen Variablen verändert oder bewertet werden können.

Aus Inbox lesen

Nachrichten aus Inbox lesen.

Eine Ausführliche Beschreibung des Aus Inbox lesen-Testschritts befindet sich im Kapitel zu parallelen Teststrängen.

Berechnung

Wählt man den Testschritt Berechnung aus, öffnet sich das Dialogfenster Berechnung.

iUtility_Berechnung_2

Der Berechnungstestschritt dient zur Anwendung arithmetischer und logischer Operationen auf im Variablen-Fenster enthaltenen Variablen. Außerdem besteht die Möglichkeit des Zugriffs auf global verfügbare Standard-Python-Funktionen sowie nutzerspezifische Python-Funktonen in den userPyModules.

Im Feld Name kann ein Anzeigename für den eingefügten Berechnungstestschritt vergeben werden. Dieser wird sowohl im Package-Editor, im Ausführungsdialog als auch im Report angezeigt. Wird kein Wert für den Namen angegeben, so wird als Standardwert Berechnung verwendet.

Im Feld Ausdruck muss die zu berechnende Formel eingeben werden. Variablen lassen sich dabei komfortabel per Kontextmenü durch Rechtsklick auf das Textfeld einfügen.

Das Ergebnis des Berechnungstestschritts kann in einer Variablen gespeichert werden, die im Textfeld Speichern in angegeben wird.

BitExtract

Wählt man den Testschritt BitExtract aus, öffnet sich das zugehörige Dialogfenster.

../../../_images/Utility_BitExtract.png

Der Testschritt dient zum Extrahieren einzelner Bits aus einer Bytefolge. Unter Ausdruck wird die Variable oder Funktion angegeben, die die Bytefolge enthält. Soweit möglich, wird deren Inhalt dann in der Vorschau (unterer Teil) bereits angezeigt. Start-Bit und Bit-Länge bestimmen, ab wo wie viele Bits extrahiert werden sollen. Dies wird durch eine orange Hintergrundfarbe ebenfalls in der Vorschau angezeigt.

Die Byte-Order gibt an, ob die Bytefolge im Intel- oder Motorola-Format vorliegt. Speichern in nimmt die Variable auf, in der die extrahierten Bits abgespeichert werden sollen.

In Outbox schreiben

Schreiben von Daten in Outbox

Eine Ausführliche Beschreibung des In Outbox schreiben-Testschritts befindet sich im Kapitel zu parallelen Teststrängen.

Multi-Check

Eine Erwartungshaltung für einen Lesen-Testschritt zu formulieren, welche von der Evaluierung eines vorhergehenden Testschritts abhängt, kann in ecu.test schnell kompliziert werden. Das liegt darin begründet, dass sich der Erwartungsausdruck eines Testschrittes immer nur auf sein Ergebnis bezieht.

Diesem Problem begegnet der Testschritt Multi-Check. Der Multi-Check ist ein Container-Testschritt, dessen Bewertung von der Evaluierung seiner Kind-Testschritte abhängt.

Info

Als Kind-Testschritte eines Multi-Check können auschließlich Lesen-, Berechnungs- und Job-Testschritte verwendet werden. Andere Testschritte lassen sich weder über den grafischen Editor noch über die Object API in den Multi-Check einfügen. Die Anzahl der Kind-Testschritte ist allerdings nicht beschränkt. Es ist also möglich, beliebig viele Testschritte in einen Multi-Check einzufügen. Man sollte aber bedenken, dass der Multi-Check jeden Testschritt nacheinander und nicht parallel ausführt.

../../../_images/Utility_Multi_Check.png

Unter Erfüllt für werden allgemeine Bedingungen für den Multi-Check -Testschritt festgelegt. Zusätzlich kann eine von verschiedenen Zeitoptionen ausgewählt werden, um die Erwartungshaltung an zeitliche Bedingungen zu knüpfen. Dazu werden die Kind-Testschritte wiederholt durchlaufen, bis die Erwartungshaltung des Multi-Check erfüllt wurde.

Ist alle Testschritte ausgewählt, wird der Multi-Check nur dann zu SUCCESS ausgewertet, wenn die Bedingungen aller seiner Testschritte gleichzeitig erfüllt sind (wobei mit gleichzeitig „im selben Polling-Zyklus“ des Multi-Checks gemeint ist).

Das Verhalten des Multi-Checks für die Option alle Testschritte wird in der folgenden Tabelle zusammengefasst:

SUCCESS, sobald…

FAILED, sobald…

warte bis wahr

alle Testschritte gleichzeitig SUCCESS sind

das Timeout erreicht ist

wahr für mindestens

jeder Testschritt für die angegebene Mindestdauer durchgängig zu SUCCESS ausgewertet wird

wenigstens ein Testschritt im Prüfungszeitraum zu FAILED ausgewertet wird

wahr für mindestens … innerhalb von

jeder Testschritt innerhalb des vom Timeout definierten Zeitraums für die angegebene Mindestdauer durchgängig zu SUCCESS ausgewertet wird

die bis zum Timeout verbleibende Zeit kleiner als die Mindestdauer ist und mindestens einer der Testschritte zu FAILED ausgewertet wird

Die Einstellung mindestens einen Testschritt bewirkt, dass der Testschritt terminiert, sobald die Bedingung wenigstens eines seiner Kind-Testschritte erfüllt wurde. In diesem Fall erhält er die Bewertung SUCCESS.

Dieses Verhalten verdeutlicht die folgende Tabelle:

SUCCESS, sobald…

FAILED, sobald…

warte bis wahr

mind. ein Testschritt SUCCESS ist

das Timeout erreicht ist

wahr für mindestens

mind. ein Testschritt für die angegebene Mindestdauer durchgängig zu SUCCESS ausgewertet wird

innerhalb des Prüfungszeitraums jeder Testschritt wenigstens einmal FAILED wird

wahr für mindestens … innerhalb von

das erste Mal ein Testschritt für die angegebene Mindestdauer durchgängig zu SUCCESS ausgewertet wird

die bis zum Timeout verbleibende Zeit kleiner als die Mindestdauer ist, während keiner der Testschritte weiterhin zu SUCCESS ausgewertet wird

Die Einstellung alle Testschritte mindestens einmal bewirkt, dass der Testschritt terminiert, sobald jede Bedingung eines seiner Kind-Testschritte einmal während der Ausführung erfüllt wurde. Die Bedingungen müssen nicht zwangsläufig „im selben Polling-Zyklus“ des Multi-Checks erfüllt werden.

Dabei ist das Verhalten für die Zeitoptionen Wahr für mindestens und Wahr für mindestens … innerhalb von nicht definiert.

Das Verhalten wird in folgender Tabelle verdeutlicht:

SUCCESS, sobald…

FAILED, sobald…

warte bis wahr

jeder Testschritt lieferte zu einem beliebigen Zeitpunkt SUCCESS zurück

das Timeout erreicht ist

wahr für mindestens

nicht definiert

nicht definiert

wahr für mindestens … innerhalb von

nicht definiert

nicht definiert

Die Option Nur Synchronisation verhält sich in allen Einstellungen so wie Warte bis wahr, nur dass der Multi-Check keine Bewertung erhält.

Der Multi-Check-Testschritt kann auch ohne eine Zeitoption eingesetzt werden. In diesem Fall wird jeder seiner Testschritte nur einmal ausgeführt.