Test- und Sequenz-Knoten

Tests und Sequenzen sind die wichtigsten Strukturelemente einer Testsuite. 'Testfall' Knoten repräsentieren logische Testfälle und sind als spezialisierte Sequenzen implementiert. Eine Sequenz im Allgemeinen ist ein Container, dessen Childknoten einer nach dem anderen ausführt werden. Es können dabei Werte für Variablen (vgl. Kapitel 6) definiert werden, die während der Ausführung der Childknoten Gültigkeit besitzen.

Darüber hinaus gibt es noch andere Arten von Sequenzen, die entweder besondere Einschränkungen bzgl. ihrer Parentknoten oder Childknoten haben, oder spezielle Eigenschaften bei der Ausführung aufweisen.

'Testfall'

Ein 'Testfall' repräsentiert einen oder mehrere logische Testfälle. In gewissem Sinne ist er der wichtigste Knotentyp in QF-Test und alles andere dient nur dazu den 'Testfällen' Struktur zu verleihen oder ihre Logik zu implementieren. Funktionell ist er eine besondere 'Sequenz' mit einer Reihe von wichtigen Erweiterungen und speziellen Attributen.

Ein 'Testfall' sollte seinen Fokus auf den eigentlichen Test legen, der damit umgesetzt werden soll. Vorbereitungs- und Aufräumtätigkeiten, die notwendige Rahmenbedingungen für den Testlauf schaffen und Kollisionen mit nachfolgenden Tests vermeiden, sollten in Form von 'Abhängigkeiten', wie in Abschnitt 8.6 beschrieben, implementiert werden. Alternativ - oder auch zusätzlich zu 'Abhängigkeiten' - kann ein 'Testfall' 'Vorbereitung' und 'Aufräumen' Knoten besitzen, welche vor bzw. nach dem 'Testfall' ausgeführt werden.

Ein 'Testfall' kann über einen 'Testaufruf' aufgerufen werden und ist damit ähnlich einer 'Prozedur'. Sein 'Name' ist ein Pflichtattribut und er hat ein Liste von 'Standardwerten für Parameter', die im aufrufenden Knoten überschrieben werden können.

'Testfälle' spielen auch eine zentrale Rolle für Protokolle und Testreports. Während eines Testlaufs kann ein 'Testfall' mehrmals in unterschiedlichen Kontexten und mit verschieden Parametern ausgeführt werden. Logisch können die Ausführungen dem gleichen oder unterschiedlichen Testfällen entsprechen. Durch die Definition eines Satzes von 'Charakteristische Variablen' lässt sich festlegen, welche Variablen verwendet werden sollen, um einzelne Testläufe zu unterscheiden - die also für die Laufzeitumgebung des Tests charakteristisch sind. Die Werte dieser Variablen zum Zeitpunkt des Eintretens in den 'Testfall' werden im Protokoll gespeichert. Um hervorzuheben, dass jede Ausführung eines 'Testfall' Knotens einem eigenen logischen Testfall entspricht, gibt es zusätzliche das Attribut 'Name für Protokoll und Report'. Dessen Wert kann Referenzen auf die 'Charakteristischen Variablen' des Tests enthalten. Im Protokoll oder Report wird der Test dann mit diesem Namen aufgeführt, inklusive eventueller Werte der Variablen zur Laufzeit.

Zu guter Letzt gibt es auch Situationen, in denen ein Test für spezifische Variablenwerte nicht ausgeführt werden kann oder soll. Falls eine 'Bedingung' für einen 'Testfall' Knoten definiert ist, wird dieser 'Testfall' nur ausgeführt, wenn die Auswertung der 'Bedingung' einen wahren Wert ergibt. Wenn der 'Testfall' wegen der 'Bedingung' nicht zur Ausführung kommt, wird er im Report als übersprungen gelistet.

Enthalten in:'Testsuite', 'Testfallsatz'.

Kinder: Optional ein 'Abhängigkeit' oder 'Bezug auf Abhängigkeit' Knoten als erstes Element. Als nächstes kann eine 'Vorbereitung' folgen und ein 'Aufräumen' Knoten kann den Abschluss bilden, mit einer beliebigen Anzahl von normalen Childknoten dazwischen. Ein 'Testfall' Knoten, der keine normalen Childknoten enthält, wird im Report als nicht implementiert aufgeführt.

Ausführung: Zunächst werden die 'Variablendefinitionen' des 'Testfall' Knotens auf dem primären und die 'Standardwerte für Parameter' auf dem sekundären Variablenstapel (vgl. Kapitel 6) gebunden. Anschließend wird die 'Bedingung' geprüft und der Knoten in dem Fall übersprungen, dass der Inhalt der (nicht leeren) 'Bedingung' als falsch ausgewertet wird. Als nächstes folgt die Bestimmung und Durchführung der (möglicherweise auch vom Parentknoten geerbten) 'Abhängigkeit', wie in Abschnitt 8.6 beschrieben. Dann wird die optionale 'Vorbereitung' einmalig ausgeführt, gefolgt von den normalen Childknoten und dem 'Aufräumen' Knoten. Tritt während des Ablaufs des 'Testfall' Knotens eine Exception auf, wird diese gefangen und an seine 'Abhängigkeit' für die Behandlung in deren optionalen 'Catch' Knoten weitergereicht. Auch wenn keine Behandlung der Exception in der 'Abhängigkeit' statt findet, wird sie nicht über den 'Testfall' hinaus propagiert, um den Abbruch des gesamten Testlaufs zu vermeiden. Der Fehlerstatus wird jedoch stets korrekt im Protokoll und Report festgehalten.

Attribute:

Test case attributes
Abbildung 40.2:  'Testfall' Attribute
'Name'

Ein 'Testfall' wird durch seinen Namen und die Namen seiner 'Testfallsatz' Parentknoten identifiziert. Daher sollten Sie "sprechende" Namen verwenden, die etwas über den jeweiligen Testfall aussagen und die Sie sich gut merken können.

Variabel: Nein

Einschränkungen: Darf nicht leer sein und keines der Zeichen '.' oder '#' enthalten.

'Name für Protokoll und Report'

Ein alternativer Name für Protokoll und Report. Dieser ist hilfreich, um zwischen Mehrfachausführungen mit potenziell unterschiedlichen Werten für die 'Charakteristischen Variablen' zu unterscheiden.

Variabel: Ja

Einschränkungen: Keine

'Charakteristische Variablen'

Diese Variablen sind Teil der Charakteristik des 'Testfallsatzes' oder 'Testfalls'. Dass zwei Ausführungen eines 'Testfall' Knotens den selben logischen Testfall repräsentieren, wird genau dann angenommen, wenn die Werte aller 'Charakteristische Variablen' zur Laufzeit identisch sind. Die Werte der Variablen zur Laufzeit werden zudem im Protokoll gespeichert. Näheres zur Arbeit mit der Tabelle finden Sie in Abschnitt 2.2.5.

Variabel: Nein

Einschränkungen: Keine

'Name für separates Protokoll'

Mit diesem Attribut kann ein Knoten als Bruchstelle zum Abteilen eines Protokolls markiert werden. Es legt den Dateinamen für das abgeteilte Protokoll fest. Nach Durchlaufen des Knotens wird das zugehörige Protokoll aus dem Hauptprotokoll entfernt und als eigenständiges Protokoll gespeichert. Diese Operation ist vollständig transparent, da das Hauptprotokoll eine Referenz auf das abgeteilte Protokoll erhält und somit vollständig navigierbar bleibt. Näheres zu geteilten Protokollen finden Sie in Abschnitt 7.1.6.

Dieses Attribut hat keinen Effekt, wenn die Option Geteilte Protokolle erzeugen deaktiviert ist oder geteilte Protokolle durch explizite Angabe von -splitlog im Batchmodus ausgeschaltet werden.

Es ist nicht nötig für Eindeutigkeit der Dateinamen für abgeteilte Protokolle zu sorgen. Wo nötig hängt QF-Test eine Zahl an den Dateinamen an, um Konflikte zu vermeiden. Der Dateiname darf Verzeichnisse enthalten und es können - analog zur Angabe des Dateinamens für das Protokoll im Batchmodus - folgende Platzhalter in Kombination mit einem '%' oder '+' Zeichen verwendet werden:

ZeichenBedeutung
%'%'-Zeichen.
+'+'-Zeichen.
iDie aktuelle Runid wie mit -runid [<ID>] angegeben.
rDie Fehlerstufe des abgeteilten Protokolls.
wDie Anzahl der Warnungen im abgeteilten Protokoll.
eDie Anzahl der Fehler im abgeteilten Protokoll.
xDie Anzahl der Exceptions im abgeteilten Protokoll.
tDer Threadindex zu dem das abgeteilte Protokoll gehört (für Tests mit parallelen Threads).
yDas aktuelle Jahr (2 Ziffern).
YDas aktuelle Jahr (4 Ziffern).
MDer aktuelle Monat (2 Ziffern).
dDer aktuelle Tag (2 Ziffern).
hDie aktuelle Stunde (2 Ziffern).
mDie aktuelle Minute (2 Ziffern).
sDie aktuelle Sekunde (2 Ziffern).
Tabelle 40.1:  Platzhalter für das Attribut 'Name für separates Protokoll'

Variabel: Ja

Einschränkungen: Keine, Zeichen die für Dateinamen nicht zulässig sind werden durch '_' ersetzt.

'Abhängigkeit von Parentknoten erben'

Diese Option erlaubt das Erben einer 'Abhängigkeit' vom Parentknoten als Ersatz oder zusätzlich zu einer für den Knoten selbst spezifizierten 'Abhängigkeit'.

Variabel: Nein

Einschränkungen: Keine

'Bedingung'

Sofern die Bedingung nicht leer ist wird sie ausgewertet und, wenn das Resultat falsch ist, die Ausführung des aktuellen Knotens abgebrochen. In diesem Fall wird der Knoten als übersprungen gewertet.

Wie die 'Bedingung' eines 'If'-Knotens wird auch diese 'Bedingung' vom Jython-Interpreter ausgewertet, so dass die selben Bemerkungen zutreffen.

Variabel: Ja

Einschränkungen: Gültige Syntax

'Skriptsprache'

Dieses Attribut legt den Interpreter fest, in dem das Skript ausgeführt wird, oder in anderen Worten die Skriptsprache. Mögliche Werte sind "Jython", "Groovy" und "JavaScript".

Variabel: Nein

Einschränkungen: Keine

'Fehlschlagen erwartet wenn...'

Mit dieser Option kann eine Bedingung festgelegt werden, unter welcher ein Fehlschlagen des 'Testfalls' erwartet wird. Dadurch können neue Fehler besser von bereits bekannten unterschieden werden. Natürlich sollten letztere ebenfalls beseitigt werden, aber ob und wann das geschieht entzieht sich eventuell dem Einfluss des Testers.

Meist ist es ausreichend, dieses Attribut auf 'true' zu setzen, wenn ein Fehler für diesen 'Testfall' erwartet wird. Falls der 'Testfall' mehrfach ausgeführt wird, z.B. in einem 'Datentreiber' oder auf verschiedenen Systemen und nur in speziellen Fällen fehlschlägt, sollte die Bedingung so formuliert sein, dass sie für genau diese Fälle wahr ist, z.B. ${qftest:windows} für einen 'Testfall', der unter Windows fehlschlägt, auf anderen Systemen aber nicht.

Falls dieses Attribut ein wahres Ergebnis liefert und der 'Testfall' mit einem Fehler scheitert, wird dieser in Protokoll, Report und Statuszeile gesondert aufgeführt. Trotzdem bedeutet dies einen Fehler in der Anwendung, so dass die Prozentangaben für erfolgreiche Tests davon unberührt bleiben.

Wird ein Scheitern erwartet und der 'Testfall' ist dennoch erfolgreich, gilt dies als Fehler, da dies entweder bedeutet, dass der Test den Fehler nicht zuverlässig nachweist, oder der Fehler inzwischen beseitigt wurde und der 'Testfall' entsprechend angepasst werden muss.

Variabel: Ja

Einschränkungen: Gültige Syntax

'Variablendefinitionen'

Diese Variablen werden auf dem Primärstapel für direkte Bindungen abgelegt (vgl. Kapitel 6). Sie behalten während der Ausführung des 'Testfalls' ihre Gültigkeit und können nicht durch einen 'Testaufruf' überschrieben werden. Näheres zur Arbeit mit der Tabelle finden Sie in Abschnitt 2.2.5.

Variabel: Variable Namen nein, Werte ja

Einschränkungen: Keine

'Standardwerte für Parameter'

Hier können Sie Defaultwerte oder "Fallback" Werte für die Parameter des 'Testfalls' definieren. Diese werden herangezogen, wenn eine Variable an keiner anderen Stelle definiert wurde (vgl. Kapitel 6). Außerdem dienen Sie als Dokumentation und bringen Zeitersparnis bei den 'Variablendefinitionen' Attributen, wenn der Dialog für die Auswahl des 'Testfalls' im Attribut 'Name des Tests' des 'Testaufruf' Knotens verwendet wird. Näheres zur Arbeit mit der Tabelle finden Sie in Abschnitt 2.2.5.

Variabel: Namen der Variablen nein, Werte ja

Einschränkungen: Keine

'Maximaler Fehler'

Wenn beim Ablauf des Tests innerhalb der Sequenz eine Warnung, ein Fehler oder eine Exception auftritt, wird dieser Status im Protokoll normalerweise an die übergeordneten Knoten weitergeleitet. Mit diesem Attribut können Sie den Fehlerstatus, den das Protokoll für diese Sequenz erhält, beschränken.

Hinweis Dieser Wert beeinflusst ausschließlich den Status des Protokolls und damit den Rückgabewert von QF-Test falls es im Batchmodus läuft (vgl. Abschnitt 1.7). Auf die Behandlung von Exceptions hat er keinen Einfluss.

Auch für die Erstellung kompakter Protokolle (vgl. Kompakte Protokolle erstellen), hat dieser Wert keinen Einfluss. Eine Sequenz, in der eine Warnung oder ein Fehler auftritt, wird nicht aus einem kompakten Protokoll entfernt, selbst wenn über dieses Attribut der Fehlerstatus auf "Keinen Fehler" zurückgesetzt wird.

Variabel: Nein

Einschränkungen: Keine

'Maximale Ausführungszeit'

Zeit in Millisekunden, die der Knoten maximal ausgeführt werden soll. Nach Ablauf dieser Zeit wird der Knoten abgebrochen.

Variabel: Ja

Einschränkungen: >= 0

'Grenze für relative Aufrufe'

Ist dieses Attribut gesetzt, ist ein relativer Prozeduraufruf, ein relativer Testaufruf oder eine relative Referenz auf eine Abhängigkeit innerhalb dieses Knotens gestattet. Relative Aufrufe bzw. Referenzen, die diese Grenze überschreiten sind nicht erlaubt. Wenn dieses Attribut in der gesamten Hierarchie nicht gesetzt ist, so können keine relativen Prozeduraufrufe einfügt werden. Relative Testaufrufe sind unterhalb des Testsuite Knotens immer möglich.

Variabel: Nein

Einschränkungen: Keine

'QF-Test ID'

Bei der Ausführung von Tests im Batchmodus kann beim Kommandozeilenargument -test <Index>|<ID> alternativ zum qualifizierten Namen die 'QF-Test ID' des Knotens angegeben werden.

Variabel: Nein

Einschränkungen: Darf keines der Zeichen '\', '#', '$', '@', '&', oder '%' enthalten und nicht mit einem Unterstrich ('_') beginnen.

'Verzögerung vorher/nachher'

Mit diesen Parametern kann vor oder nach der Ausführung eine Verzögerung bewirkt werden. Sind sie nicht gesetzt, wird die Standardverzögerung aus den Optionen verwendet.

Variabel: Ja

Einschränkungen: Leer oder >0

'Bemerkung'

Hier können Sie einen beliebigen Kommentar eintragen.

Hinweis Für die ausführliche Dokumentation, insbesondere von 'Testfallsatz', 'Testfall' oder 'Prozedur' Knoten, ist dieses Textfeld womöglich nicht der geeignete Ort. Es gibt hervorragende Editoren, die wesentlich besser dafür geeignet sind. Mittels der Option Kommando für externen Editor kann ein externer Editor festgelegt werden, in dem nach Drücken von [Alt-Eingabe] oder Klicken des Externer Editor Buttons der Kommentar komfortabel bearbeitet werden kann.

Für einige Knoten können Sie ein spezielles Verhalten per Doctags konfigurieren, siehe Doctags.

Falls bei 'Komponenten' Knoten in dem Bemerkungsfeld eine Eintragung gemacht wurde, wird der Knoten bei der Suche bzw. dem Löschen von ungenutzten Komponenten übersprungen.

Variabel: Ja

Einschränkungen: Keine

'Testfallsatz'

Im Wesentlichen dienen 'Testfallsätze' dazu, 'Testfälle' einer Testsuite zu strukturieren. 'Testfallsätze' können verschachtelt werden. Der 'Name' eines 'Testfallsatz' Knotens ist Bestandteil des vollständigen Namens eines 'Testfalls', auf den sich ein 'Testaufruf' bezieht. 'Testfallsätze' sind selbst ebenfalls aufrufbar und haben deshalb einen Satz von 'Standardwerten für Parameter', die im 'Testaufruf' überschrieben werden können.

Eine Möglichkeit, 'Testfälle' zu strukturieren, ist es, solche mit ähnlichen Vorbereitungs- und Aufräumanforderungen in einem 'Testfallsatz' zu sammeln. Dieser kann einen 'Abhängigkeit' oder 'Bezug auf Abhängigkeit' Knoten zur Verfügung stellen, der von den 'Testfällen' oder verschachtelten 'Testfallsätzen' geerbt werden kann. Wenn das Attribut 'Abhängigkeit von Parentknoten erben' im 'Testfallsatz' aktiviert ist, werden die 'Abhängigkeit' Knoten des oder der Parents ebenfalls vererbt. Im Abschnitt 8.6 finden Sie Detailinformationen zum Abhängigkeitsmechanismus in QF-Test. Alternatives oder zusätzliches Vorbereiten und Aufräumen ist in Form von 'Vorbereitung' und 'Aufräumen' Knoten möglich. Diese werden vor und nach jedem der 'Testfallsatz' und 'Testfall' Childknoten ausgeführt.

Ein weiteres wichtiges Feature im 'Testfallsatz' ist datengetriebenens Testen. Dieses lässt sich durch das Hinzufügen eines 'Datentreiber' Knotens mit einem oder mehreren 'Daten' Knoten erreichen, wie es in Kapitel 21 beschrieben wird.

Wie der 'Testfall', so spielt auch der 'Testfallsatz' eine wichtige Rolle für den Report. Da er mehrfach mit unterschiedlichen Parametersätzen aufgerufen werden kann, verfügt er über 'Charakteristische Variablen' und einen alternativen 'Namen für Protokoll und Report', die äquivalent funktionieren wie für den 'Testfall'. Das gleiche gilt für die 'Bedingung', die benutzt werden kann, um einen ganzen 'Testfallsatz', abhängig von aktuellen Variablenwerten, zu überspringen.

Enthalten in:'Testsuite', 'Testfallsatz'.

Kinder: Optional ein 'Abhängigkeit' oder 'Bezug auf Abhängigkeit' Knoten als erstes Element gefolgt von einem optionalen 'Datentreiber'. Als nächstes kann eine 'Vorbereitung' folgen und ein 'Aufräumen' Knoten kann den Abschluss bilden, mit einer beliebigen Anzahl von 'Testfallsatz', 'Testfall' und 'Testaufruf' Knoten dazwischen.

Ausführung: Zunächst werden die 'Standardwerte für Parameter' des 'Testfallsatz' Knotens auf dem sekundären Variablenstapel (vgl. Kapitel 6) gebunden. Anschließend wird die 'Bedingung' geprüft und der Knoten in dem Fall übersprungen, dass der Inhalt der (nicht leeren) 'Bedingung' als falsch ausgewertet wird. Eine mögliche 'Abhängigkeit' oder 'Bezug auf Abhängigkeit' wird zu diesem Zeitpunkt nicht aufgelöst, es sei denn das Attribut 'Immer ausführen, auch in Testsuite- und Testfallsatz-Knoten' ist gesetzt. Ist ein 'Datentreiber' Knoten vorhanden, wird dieser ausgeführt, um einen entsprechenden Datenkontext zu erzeugen und einen oder mehrere 'Daten' Knoten zu binden. Damit werden dann die anderen Childknoten in wiederholter Abfolge ausgeführt (vgl. Kapitel 21). Für jeden Schleifendurchlauf - oder einmal im dem Fall dass kein 'Datentreiber' vorhanden ist - bringt der 'Testfallsatz' seine 'Testfallsatz' oder 'Testfall' Kindknoten zur Ausführung. Wenn optionale 'Vorbereitung' oder 'Aufräumen' Knoten vorhanden sind, werden diese vor bzw. nach jedem der Childknoten ausgeführt.

Attribute:

Test set attributes
Abbildung 40.3:  'Testfallsatz' Attribute
'Name'

Der Name eines 'Testfallsatzes' ist ein Teil seiner eigenen Identifikation und der in ihm enthaltenen 'Testfall' und 'Testfallsatz' Knoten. Verwenden Sie "sprechende" Namen, die etwas über die darin enthaltenen Tests aussagen und die Sie sich gut merken können.

Variabel: Nein

Einschränkungen: Darf nicht leer sein und keines der Zeichen '.' oder '#' enthalten.

'Name für Protokoll und Report'

Ein alternativer Name für Protokoll und Report. Dieser ist hilfreich, um zwischen Mehrfachausführungen mit potenziell unterschiedlichen Werten für die 'Charakteristischen Variablen' zu unterscheiden.

Variabel: Ja

Einschränkungen: Keine

'Charakteristische Variablen'

Diese Variablen sind Teil der Charakteristik des 'Testfallsatzes' oder 'Testfalls'. Dass zwei Ausführungen eines 'Testfall' Knotens den selben logischen Testfall repräsentieren, wird genau dann angenommen, wenn die Werte aller 'Charakteristische Variablen' zur Laufzeit identisch sind. Die Werte der Variablen zur Laufzeit werden zudem im Protokoll gespeichert. Näheres zur Arbeit mit der Tabelle finden Sie in Abschnitt 2.2.5.

Variabel: Nein

Einschränkungen: Keine

'Name für separates Protokoll'

Mit diesem Attribut kann ein Knoten als Bruchstelle zum Abteilen eines Protokolls markiert werden. Es legt den Dateinamen für das abgeteilte Protokoll fest. Nach Durchlaufen des Knotens wird das zugehörige Protokoll aus dem Hauptprotokoll entfernt und als eigenständiges Protokoll gespeichert. Diese Operation ist vollständig transparent, da das Hauptprotokoll eine Referenz auf das abgeteilte Protokoll erhält und somit vollständig navigierbar bleibt. Näheres zu geteilten Protokollen finden Sie in Abschnitt 7.1.6.

Dieses Attribut hat keinen Effekt, wenn die Option Geteilte Protokolle erzeugen deaktiviert ist oder geteilte Protokolle durch explizite Angabe von -splitlog im Batchmodus ausgeschaltet werden.

Es ist nicht nötig für Eindeutigkeit der Dateinamen für abgeteilte Protokolle zu sorgen. Wo nötig hängt QF-Test eine Zahl an den Dateinamen an, um Konflikte zu vermeiden. Der Dateiname darf Verzeichnisse enthalten und es können - analog zur Angabe des Dateinamens für das Protokoll im Batchmodus - folgende Platzhalter in Kombination mit einem '%' oder '+' Zeichen verwendet werden:

ZeichenBedeutung
%'%'-Zeichen.
+'+'-Zeichen.
iDie aktuelle Runid wie mit -runid [<ID>] angegeben.
rDie Fehlerstufe des abgeteilten Protokolls.
wDie Anzahl der Warnungen im abgeteilten Protokoll.
eDie Anzahl der Fehler im abgeteilten Protokoll.
xDie Anzahl der Exceptions im abgeteilten Protokoll.
tDer Threadindex zu dem das abgeteilte Protokoll gehört (für Tests mit parallelen Threads).
yDas aktuelle Jahr (2 Ziffern).
YDas aktuelle Jahr (4 Ziffern).
MDer aktuelle Monat (2 Ziffern).
dDer aktuelle Tag (2 Ziffern).
hDie aktuelle Stunde (2 Ziffern).
mDie aktuelle Minute (2 Ziffern).
sDie aktuelle Sekunde (2 Ziffern).
Tabelle 40.2:  Platzhalter für das Attribut 'Name für separates Protokoll'

Variabel: Ja

Einschränkungen: Keine, Zeichen die für Dateinamen nicht zulässig sind werden durch '_' ersetzt.

'Abhängigkeit von Parentknoten erben'

Diese Option erlaubt das Erben einer 'Abhängigkeit' vom Parentknoten als Ersatz oder zusätzlich zu einer für den Knoten selbst spezifizierten 'Abhängigkeit'.

Variabel: Nein

Einschränkungen: Keine

'Bedingung'

Sofern die Bedingung nicht leer ist wird sie ausgewertet und, wenn das Resultat falsch ist, die Ausführung des aktuellen Knotens abgebrochen. In diesem Fall wird der Knoten als übersprungen gewertet.

Wie die 'Bedingung' eines 'If'-Knotens wird auch diese 'Bedingung' vom Jython-Interpreter ausgewertet, so dass die selben Bemerkungen zutreffen.

Variabel: Ja

Einschränkungen: Gültige Syntax

'Skriptsprache'

Dieses Attribut legt den Interpreter fest, in dem das Skript ausgeführt wird, oder in anderen Worten die Skriptsprache. Mögliche Werte sind "Jython", "Groovy" und "JavaScript".

Variabel: Nein

Einschränkungen: Keine

'Standardwerte für Parameter'

Hier können Sie Defaultwerte oder "Fallback" Werte für die Parameter des 'Testfallsatzes' definieren. Diese werden herangezogen, wenn eine Variable an keiner anderen Stelle definiert wurde (vgl. Kapitel 6). Außerdem dienen Sie als Dokumentation und bringen Zeitersparnis für die 'Variablendefinitionen' Attribute wenn der Dialog für die Auswahl des 'Testfalls' im Attribut 'Name des Tests' des 'Testaufruf' Knotens verwendet wird. Näheres zur Arbeit mit der Tabelle finden Sie in Abschnitt 2.2.5.

Variabel: Namen der Variablen nein, Werte ja

Einschränkungen: Keine

'Maximaler Fehler'

Wenn beim Ablauf des Tests innerhalb der Sequenz eine Warnung, ein Fehler oder eine Exception auftritt, wird dieser Status im Protokoll normalerweise an die übergeordneten Knoten weitergeleitet. Mit diesem Attribut können Sie den Fehlerstatus, den das Protokoll für diese Sequenz erhält, beschränken.

Hinweis Dieser Wert beeinflusst ausschließlich den Status des Protokolls und damit den Rückgabewert von QF-Test falls es im Batchmodus läuft (vgl. Abschnitt 1.7). Auf die Behandlung von Exceptions hat er keinen Einfluss.

Auch für die Erstellung kompakter Protokolle (vgl. Kompakte Protokolle erstellen), hat dieser Wert keinen Einfluss. Eine Sequenz, in der eine Warnung oder ein Fehler auftritt, wird nicht aus einem kompakten Protokoll entfernt, selbst wenn über dieses Attribut der Fehlerstatus auf "Keinen Fehler" zurückgesetzt wird.

Variabel: Nein

Einschränkungen: Keine

'Maximale Ausführungszeit'

Zeit in Millisekunden, die der Knoten maximal ausgeführt werden soll. Nach Ablauf dieser Zeit wird der Knoten abgebrochen.

Variabel: Ja

Einschränkungen: >= 0

'Grenze für relative Aufrufe'

Ist dieses Attribut gesetzt, ist ein relativer Prozeduraufruf, ein relativer Testaufruf oder eine relative Referenz auf eine Abhängigkeit innerhalb dieses Knotens gestattet. Relative Aufrufe bzw. Referenzen, die diese Grenze überschreiten sind nicht erlaubt. Wenn dieses Attribut in der gesamten Hierarchie nicht gesetzt ist, so können keine relativen Prozeduraufrufe einfügt werden. Relative Testaufrufe sind unterhalb des Testsuite Knotens immer möglich.

Variabel: Nein

Einschränkungen: Keine

'QF-Test ID'

Bei der Ausführung von Tests im Batchmodus kann beim Kommandozeilenargument -test <Index>|<ID> alternativ zum qualifizierten Namen die 'QF-Test ID' des Knotens angegeben werden.

Variabel: Nein

Einschränkungen: Darf keines der Zeichen '\', '#', '$', '@', '&', oder '%' enthalten und nicht mit einem Unterstrich ('_') beginnen.

'Verzögerung vorher/nachher'

Mit diesen Parametern kann vor oder nach der Ausführung eine Verzögerung bewirkt werden. Sind sie nicht gesetzt, wird die Standardverzögerung aus den Optionen verwendet.

Variabel: Ja

Einschränkungen: Leer oder >0

'Bemerkung'

Hier können Sie einen beliebigen Kommentar eintragen.

Hinweis Für die ausführliche Dokumentation, insbesondere von 'Testfallsatz', 'Testfall' oder 'Prozedur' Knoten, ist dieses Textfeld womöglich nicht der geeignete Ort. Es gibt hervorragende Editoren, die wesentlich besser dafür geeignet sind. Mittels der Option Kommando für externen Editor kann ein externer Editor festgelegt werden, in dem nach Drücken von [Alt-Eingabe] oder Klicken des Externer Editor Buttons der Kommentar komfortabel bearbeitet werden kann.

Für einige Knoten können Sie ein spezielles Verhalten per Doctags konfigurieren, siehe Doctags.

Falls bei 'Komponenten' Knoten in dem Bemerkungsfeld eine Eintragung gemacht wurde, wird der Knoten bei der Suche bzw. dem Löschen von ungenutzten Komponenten übersprungen.

Variabel: Ja

Einschränkungen: Keine

'Testaufruf'

Mit diesem Knoten kann der Aufruf eines anderen ausführbaren Testknotens realisiert werden. Mögliche Zielknoten sind 'Testsuite', 'Testfallsatz' und 'Testfall' in der gleichen oder einer anderen Testsuite. Die Ausführung wird im aufgerufenen Knoten fortgesetzt und kehrt nach Beendigung zum 'Testaufruf' zurück (und damit zu seinem Parentknoten).

Der Name des aufzurufenden 'Testfall' oder 'Testfallsatz' Knotens wird durch dessen 'Namen' und die 'Namen' seiner 'Testfallsatz' Parents bestimmt. Diese werden verknüpft, mit einem Punkt ('.') als Trennzeichen, beginnend mit äußersten 'Testfallsatz' und endend mit dem Namen des 'Testfalls'. Wollen Sie z.B. einen 'Testfall' nodeTest im 'Testfallsatz' Tree, der seinerseits im 'Testfallsatz' Main enthalten ist, aufrufen, so müssen Sie als Name 'Main.Tree.nodeTest' angeben. Knoten in anderen Testsuiten können durch das Voranstellen des Dateinamens der Testsuite, gefolgt von einem '#', aufgerufen werden. Ein 'Testsuite' Knoten kann über einen einzelnen '.' adressiert werden, so dass eine gesamte Testsuite also mit einem 'Name des Tests' Attribut der Form 'suitename.qft#.' aufgerufen werden kann. Generell ist es am einfachsten, das Ziel interaktiv über den Knopf oberhalb des 'Name des Tests' Attributs auszuwählen.

Weitere Informationen zu Aufrufen in anderen Testsuiten finden Sie auch in Abschnitt 24.1.

Enthalten in: Alle Arten von Sequenzen.

Kinder: Keine

Ausführung: Die 'Variablendefinitionen' des 'Testaufrufs' werden gebunden, der Zielknoten bestimmt und die Ausführung an diesen übergeben. Wenn der 'Testaufruf' beendet ist, werden die Variablen des 'Testaufrufs' gelöscht.

Attribute:

Test call Attributes
Abbildung 40.4:  'Testaufruf' Attribute
'Name'

Im Falles eines 'Testfall' oder 'Testfallsatz' Knotens ist es der vollständige Name, welcher sich aus dem 'Namen' seiner 'Testfallsatz' Parentknoten, gefolgt von seinem eigenen 'Namen' zusammensetzt, wobei die Einzelnamen durch einen '.' verknüpft werden. Eine 'Testsuite' wird als einzelner '.' repräsentiert. The "Test auswählen" Button [Test auswählen] oberhalb des Attributs öffnet einen Dialog, in dem der Zielknoten interaktiv ausgewählt werden kann. Den Dialog erreichen Sie auch mittels [Shift-Return] oder [Alt-Return], sofern sich der Fokus im Textfeld befindet. Durch Setzen des "Parameter kopieren" Auswählkästchens, können die 'Standardwerte für Parameter' des 'Testfall' oder 'Testfallsatz' Knotens für den 'Testaufruf' übernommen werden, was erneutes Eintippen erspart.

Variabel: Ja

Einschränkungen: Darf nicht leer sein.

'Name für separates Protokoll'

Mit diesem Attribut kann ein Knoten als Bruchstelle zum Abteilen eines Protokolls markiert werden. Es legt den Dateinamen für das abgeteilte Protokoll fest. Nach Durchlaufen des Knotens wird das zugehörige Protokoll aus dem Hauptprotokoll entfernt und als eigenständiges Protokoll gespeichert. Diese Operation ist vollständig transparent, da das Hauptprotokoll eine Referenz auf das abgeteilte Protokoll erhält und somit vollständig navigierbar bleibt. Näheres zu geteilten Protokollen finden Sie in Abschnitt 7.1.6.

Dieses Attribut hat keinen Effekt, wenn die Option Geteilte Protokolle erzeugen deaktiviert ist oder geteilte Protokolle durch explizite Angabe von -splitlog im Batchmodus ausgeschaltet werden.

Es ist nicht nötig für Eindeutigkeit der Dateinamen für abgeteilte Protokolle zu sorgen. Wo nötig hängt QF-Test eine Zahl an den Dateinamen an, um Konflikte zu vermeiden. Der Dateiname darf Verzeichnisse enthalten und es können - analog zur Angabe des Dateinamens für das Protokoll im Batchmodus - folgende Platzhalter in Kombination mit einem '%' oder '+' Zeichen verwendet werden:

ZeichenBedeutung
%'%'-Zeichen.
+'+'-Zeichen.
iDie aktuelle Runid wie mit -runid [<ID>] angegeben.
rDie Fehlerstufe des abgeteilten Protokolls.
wDie Anzahl der Warnungen im abgeteilten Protokoll.
eDie Anzahl der Fehler im abgeteilten Protokoll.
xDie Anzahl der Exceptions im abgeteilten Protokoll.
tDer Threadindex zu dem das abgeteilte Protokoll gehört (für Tests mit parallelen Threads).
yDas aktuelle Jahr (2 Ziffern).
YDas aktuelle Jahr (4 Ziffern).
MDer aktuelle Monat (2 Ziffern).
dDer aktuelle Tag (2 Ziffern).
hDie aktuelle Stunde (2 Ziffern).
mDie aktuelle Minute (2 Ziffern).
sDie aktuelle Sekunde (2 Ziffern).
Tabelle 40.3:  Platzhalter für das Attribut 'Name für separates Protokoll'

Variabel: Ja

Einschränkungen: Keine, Zeichen die für Dateinamen nicht zulässig sind werden durch '_' ersetzt.

'Variablendefinitionen'

Hier können Sie Parameterwerte für den Zielknoten definieren. Diese werden auf dem primären Variablenstapel gebunden (vgl. Kapitel 6), so dass sie 'Standardwerte für Parameter' überschreiben. Näheres zur Arbeit mit der Tabelle finden Sie in Abschnitt 2.2.5.

4.2+ Mittels Rechtsklick und Auswahl von »Parameterordnung zurücksetzen«, können Sie die Sortierung der Parameter, wie diese im aufgerufenen Testfall bzw. Testfallsatz sortiert sind, wieder herstellen.

Variabel: Namen der Variablen nein, Werte ja

Einschränkungen: Keine

'Verhalten wie Prozeduraufruf'

Falls der 'Testaufruf' Knoten innerhalb eines 'Testfalls' ausgeführt wird, steuert dieses Attribut, wie Exceptions in den aufgerufenen Knoten behandelt werden. Ist es gesetzt, beendet eine Exception den gesamten Aufruf unabhängig von der Verschachtelung von 'Testfallsatz' und 'Testfall' Knoten, analog zu einem 'Prozeduraufruf'. Ist dieses Attribut nicht gesetzt, bleibt die besondere Rolle 'Testfallsatz' und 'Testfall' Knoten mit ihrer lokalen Behandlung von Exceptions erhalten.

Variabel: Ja

Einschränkungen: Keine

'Maximale Ausführungszeit'

Zeit in Millisekunden, die der Knoten maximal ausgeführt werden soll. Nach Ablauf dieser Zeit wird der Knoten abgebrochen.

Variabel: Ja

Einschränkungen: >= 0

'QF-Test ID'

Die QF-Test ID ist für diesen Knoten zur Zeit ohne Bedeutung.

Variabel: Nein

Einschränkungen: Darf keines der Zeichen '\', '#', '$', '@', '&', oder '%' enthalten und nicht mit einem Unterstrich ('_') beginnen.

'Verzögerung vorher/nachher'

Mit diesen Parametern kann vor oder nach der Ausführung eine Verzögerung bewirkt werden. Sind sie nicht gesetzt, wird die Standardverzögerung aus den Optionen verwendet.

Variabel: Ja

Einschränkungen: Leer oder >0

'Bemerkung'

Hier können Sie einen beliebigen Kommentar eintragen.

Hinweis Für die ausführliche Dokumentation, insbesondere von 'Testfallsatz', 'Testfall' oder 'Prozedur' Knoten, ist dieses Textfeld womöglich nicht der geeignete Ort. Es gibt hervorragende Editoren, die wesentlich besser dafür geeignet sind. Mittels der Option Kommando für externen Editor kann ein externer Editor festgelegt werden, in dem nach Drücken von [Alt-Eingabe] oder Klicken des Externer Editor Buttons der Kommentar komfortabel bearbeitet werden kann.

Für einige Knoten können Sie ein spezielles Verhalten per Doctags konfigurieren, siehe Doctags.

Falls bei 'Komponenten' Knoten in dem Bemerkungsfeld eine Eintragung gemacht wurde, wird der Knoten bei der Suche bzw. dem Löschen von ungenutzten Komponenten übersprungen.

Variabel: Ja

Einschränkungen: Keine

'Sequenz'

Diese einfachste Form aller Sequenzen hat beliebig viele Childknoten, die sie der Reihe nach abarbeitet.

Enthalten in: Alle Arten von Sequenzen.

Kinder: Beliebig

Ausführung: Die Variablen der Sequenz werden gebunden und die Childknoten einer nach dem anderen ausgeführt. Anschließend werden die Variablen der Sequenz wieder gelöscht.

Attribute:

Sequenz Attribute
Abbildung 40.5:  'Sequenz' Attribute
'Name'

Der Name einer Sequenz ist eine Art Kurzkommentar. Er wird in der Baumdarstellung der Testsuite angegeben und sollte etwas über die Funktion der Sequenz aussagen.

Variabel: Nein

Einschränkungen: Keine

'Variablendefinitionen'

Hier können Sie Werte für Variablen definieren, die während der Ausführung der Children der Sequenz Gültigkeit besitzen. Näheres zur Arbeit mit der Tabelle finden Sie in Abschnitt 2.2.5. Eine detaillierte Erklärung zur Definition und Verwendung von Variablen finden Sie in Kapitel 6.

Variabel: Namen der Variablen nein, Werte ja

Einschränkungen: Keine

'Maximaler Fehler'

Wenn beim Ablauf des Tests innerhalb der Sequenz eine Warnung, ein Fehler oder eine Exception auftritt, wird dieser Status im Protokoll normalerweise an die übergeordneten Knoten weitergeleitet. Mit diesem Attribut können Sie den Fehlerstatus, den das Protokoll für diese Sequenz erhält, beschränken.

Hinweis Dieser Wert beeinflusst ausschließlich den Status des Protokolls und damit den Rückgabewert von QF-Test falls es im Batchmodus läuft (vgl. Abschnitt 1.7). Auf die Behandlung von Exceptions hat er keinen Einfluss.

Auch für die Erstellung kompakter Protokolle (vgl. Kompakte Protokolle erstellen), hat dieser Wert keinen Einfluss. Eine Sequenz, in der eine Warnung oder ein Fehler auftritt, wird nicht aus einem kompakten Protokoll entfernt, selbst wenn über dieses Attribut der Fehlerstatus auf "Keinen Fehler" zurückgesetzt wird.

Variabel: Nein

Einschränkungen: Keine

'QF-Test ID'

Die QF-Test ID ist für diesen Knoten zur Zeit ohne Bedeutung.

Variabel: Nein

Einschränkungen: Darf keines der Zeichen '\', '#', '$', '@', '&', oder '%' enthalten und nicht mit einem Unterstrich ('_') beginnen.

'Verzögerung vorher/nachher'

Mit diesen Parametern kann vor oder nach der Ausführung eine Verzögerung bewirkt werden. Sind sie nicht gesetzt, wird die Standardverzögerung aus den Optionen verwendet.

Variabel: Ja

Einschränkungen: Leer oder >0

'Bemerkung'

Hier können Sie einen beliebigen Kommentar eintragen.

Hinweis Für die ausführliche Dokumentation, insbesondere von 'Testfallsatz', 'Testfall' oder 'Prozedur' Knoten, ist dieses Textfeld womöglich nicht der geeignete Ort. Es gibt hervorragende Editoren, die wesentlich besser dafür geeignet sind. Mittels der Option Kommando für externen Editor kann ein externer Editor festgelegt werden, in dem nach Drücken von [Alt-Eingabe] oder Klicken des Externer Editor Buttons der Kommentar komfortabel bearbeitet werden kann.

Für einige Knoten können Sie ein spezielles Verhalten per Doctags konfigurieren, siehe Doctags.

Falls bei 'Komponenten' Knoten in dem Bemerkungsfeld eine Eintragung gemacht wurde, wird der Knoten bei der Suche bzw. dem Löschen von ungenutzten Komponenten übersprungen.

Variabel: Ja

Einschränkungen: Keine

'Testschritt'

Ein 'Testschritt' ist eine spezielle 'Sequenz' zur Unterteilung eines 'Testfalls' in mehrere Schritte, welche individuell dokumentiert werden können und im Report und der testdoc Dokumentation wiedergegeben werden. Im Gegensatz zu 'Testfällen', die nicht verschachtelt werden dürfen, können 'Testschritte' beliebig tief verschachtelt werden.

Enthalten in: Alle Arten von Sequenzen.

Kinder: Beliebig

Ausführung: Die Variablen des 'Testschritts' werden gebunden und die Childknoten einer nach dem anderen ausgeführt. Anschließend werden die Variablen des 'Testschritts' wieder gelöscht.

Attribute:

Testschritt Attribute
Abbildung 40.6:  'Testschritt' Attribute
'Name'

Der Name einer Sequenz ist eine Art Kurzkommentar. Er wird in der Baumdarstellung der Testsuite angegeben und sollte etwas über die Funktion der Sequenz aussagen.

Variabel: Nein

Einschränkungen: Keine

'Name für Protokoll und Report'

Ein alternativer Name für Protokoll und Report. Dieser ist hilfreich, um zwischen Mehrfachausführungen des umgebenden 'Testfalls' mit potenziell unterschiedlichen Werten für dessen 'Charakteristischen Variablen' zu unterscheiden.

Variabel: Ja

Einschränkungen: Keine

'Name für separates Protokoll'

Mit diesem Attribut kann ein Knoten als Bruchstelle zum Abteilen eines Protokolls markiert werden. Es legt den Dateinamen für das abgeteilte Protokoll fest. Nach Durchlaufen des Knotens wird das zugehörige Protokoll aus dem Hauptprotokoll entfernt und als eigenständiges Protokoll gespeichert. Diese Operation ist vollständig transparent, da das Hauptprotokoll eine Referenz auf das abgeteilte Protokoll erhält und somit vollständig navigierbar bleibt. Näheres zu geteilten Protokollen finden Sie in Abschnitt 7.1.6.

Dieses Attribut hat keinen Effekt, wenn die Option Geteilte Protokolle erzeugen deaktiviert ist oder geteilte Protokolle durch explizite Angabe von -splitlog im Batchmodus ausgeschaltet werden.

Es ist nicht nötig für Eindeutigkeit der Dateinamen für abgeteilte Protokolle zu sorgen. Wo nötig hängt QF-Test eine Zahl an den Dateinamen an, um Konflikte zu vermeiden. Der Dateiname darf Verzeichnisse enthalten und es können - analog zur Angabe des Dateinamens für das Protokoll im Batchmodus - folgende Platzhalter in Kombination mit einem '%' oder '+' Zeichen verwendet werden:

ZeichenBedeutung
%'%'-Zeichen.
+'+'-Zeichen.
iDie aktuelle Runid wie mit -runid [<ID>] angegeben.
rDie Fehlerstufe des abgeteilten Protokolls.
wDie Anzahl der Warnungen im abgeteilten Protokoll.
eDie Anzahl der Fehler im abgeteilten Protokoll.
xDie Anzahl der Exceptions im abgeteilten Protokoll.
tDer Threadindex zu dem das abgeteilte Protokoll gehört (für Tests mit parallelen Threads).
yDas aktuelle Jahr (2 Ziffern).
YDas aktuelle Jahr (4 Ziffern).
MDer aktuelle Monat (2 Ziffern).
dDer aktuelle Tag (2 Ziffern).
hDie aktuelle Stunde (2 Ziffern).
mDie aktuelle Minute (2 Ziffern).
sDie aktuelle Sekunde (2 Ziffern).
Tabelle 40.4:  Platzhalter für das Attribut 'Name für separates Protokoll'

Variabel: Ja

Einschränkungen: Keine, Zeichen die für Dateinamen nicht zulässig sind werden durch '_' ersetzt.

'Variablendefinitionen'

Hier können Sie Werte für Variablen definieren, die während der Ausführung der Children der Sequenz Gültigkeit besitzen. Näheres zur Arbeit mit der Tabelle finden Sie in Abschnitt 2.2.5. Eine detaillierte Erklärung zur Definition und Verwendung von Variablen finden Sie in Kapitel 6.

Variabel: Namen der Variablen nein, Werte ja

Einschränkungen: Keine

'Maximaler Fehler'

Wenn beim Ablauf des Tests innerhalb der Sequenz eine Warnung, ein Fehler oder eine Exception auftritt, wird dieser Status im Protokoll normalerweise an die übergeordneten Knoten weitergeleitet. Mit diesem Attribut können Sie den Fehlerstatus, den das Protokoll für diese Sequenz erhält, beschränken.

Hinweis Dieser Wert beeinflusst ausschließlich den Status des Protokolls und damit den Rückgabewert von QF-Test falls es im Batchmodus läuft (vgl. Abschnitt 1.7). Auf die Behandlung von Exceptions hat er keinen Einfluss.

Auch für die Erstellung kompakter Protokolle (vgl. Kompakte Protokolle erstellen), hat dieser Wert keinen Einfluss. Eine Sequenz, in der eine Warnung oder ein Fehler auftritt, wird nicht aus einem kompakten Protokoll entfernt, selbst wenn über dieses Attribut der Fehlerstatus auf "Keinen Fehler" zurückgesetzt wird.

Variabel: Nein

Einschränkungen: Keine

'Maximale Ausführungszeit'

Zeit in Millisekunden, die der Knoten maximal ausgeführt werden soll. Nach Ablauf dieser Zeit wird der Knoten abgebrochen.

Variabel: Ja

Einschränkungen: >= 0

'QF-Test ID'

Die QF-Test ID ist für diesen Knoten zur Zeit ohne Bedeutung.

Variabel: Nein

Einschränkungen: Darf keines der Zeichen '\', '#', '$', '@', '&', oder '%' enthalten und nicht mit einem Unterstrich ('_') beginnen.

'Verzögerung vorher/nachher'

Mit diesen Parametern kann vor oder nach der Ausführung eine Verzögerung bewirkt werden. Sind sie nicht gesetzt, wird die Standardverzögerung aus den Optionen verwendet.

Variabel: Ja

Einschränkungen: Leer oder >0

'Bemerkung'

Hier können Sie einen beliebigen Kommentar eintragen.

Hinweis Für die ausführliche Dokumentation, insbesondere von 'Testfallsatz', 'Testfall' oder 'Prozedur' Knoten, ist dieses Textfeld womöglich nicht der geeignete Ort. Es gibt hervorragende Editoren, die wesentlich besser dafür geeignet sind. Mittels der Option Kommando für externen Editor kann ein externer Editor festgelegt werden, in dem nach Drücken von [Alt-Eingabe] oder Klicken des Externer Editor Buttons der Kommentar komfortabel bearbeitet werden kann.

Für einige Knoten können Sie ein spezielles Verhalten per Doctags konfigurieren, siehe Doctags.

Falls bei 'Komponenten' Knoten in dem Bemerkungsfeld eine Eintragung gemacht wurde, wird der Knoten bei der Suche bzw. dem Löschen von ungenutzten Komponenten übersprungen.

Variabel: Ja

Einschränkungen: Keine

'Sequenz mit Zeitlimit'

Dieser Knoten erweitert den gewöhnlichen 'Sequenz' Knoten, um die Überprüfung der Laufzeit. Seine Childknoten werden ganz normal ausgeführt, aber nach Beendigung der Sequenz wird die verstrichene Zeit mit dem vorgegebenen Zeitlimit verglichen. Wird das Zeitlimit überschritten, führt das zu einer Warnung, einem Fehler oder einer Exception, je nach Einstellung des Attributs 'Fehlerstufe bei Zeitüberschreitung'. Explizite Verzögerungen wie 'Verzögerung vorher/nachher' oder Unterbrechungen durch den Anwender werden vor der Prüfung von der Laufzeit abgezogen.

Für die Reportgenerierung werden Zeitlimits wie Checks behandelt. Beginnt die 'Bemerkung' mit einem '!', wird das Ergebnis im Report als Check dargestellt.

Hinweis Dieser Knoten dient zur Überprüfung von Zeitlimits im Bereich der Anwenderakzeptanz, d.h. zwischen ein paar hundert Millisekunden und einigen Sekunden. Checks im Echtzeitbereich von einigen Millisekunden und weniger sind damit nicht möglich.

Enthalten in: Alle Arten von Sequenzen.

Kinder: Beliebig

Ausführung: Die Variablen der Sequenz werden gebunden und die Childknoten einer nach dem anderen ausgeführt. Anschließend werden die Variablen der Sequenz wieder gelöscht. Die bei der Ausführung verstrichene Zeit wird auf Einhaltung des Zeitlimits überprüft.

Attribute:

Sequenz mit Zeitlimit Attribute
Abbildung 40.7:  'Sequenz mit Zeitlimit' Attribute
'Name'

Der Name einer Sequenz ist eine Art Kurzkommentar. Er wird in der Baumdarstellung der Testsuite angegeben und sollte etwas über die Funktion der Sequenz aussagen.

Variabel: Nein

Einschränkungen: Keine

'Zeitlimit für die Ausführung'

Die erlaubte Zeit (in Millisekunden) für die Ausführung der Sequenz.

Variabel: Ja

Einschränkungen: Darf nicht negativ sein.

'Echtzeit prüfen'

Normalerweise werden explizite Verzögerungen wie 'Verzögerung vorher/nachher' oder Unterbrechungen durch den Anwender vor der Prüfung von der Laufzeit abgezogen. Soll dies umgangen und somit die Echtzeit geprüft werden, ist dieses Attribut zu aktivieren.

Variabel: Nein

Einschränkungen: Keine

'Fehlerstufe bei Zeitüberschreitung'

Dieses Attribut legt fest, was bei Überschreitung des Zeitlimits passiert. Ist der Wert "Exception", wird eine CheckFailedException geworfen. Andernfalls wird eine Meldung mit der entsprechenden Fehlerstufe in das Protokoll geschrieben.

Variabel: Nein

Einschränkungen: Keine

'Variablendefinitionen'

Hier können Sie Werte für Variablen definieren, die während der Ausführung der Children der Sequenz Gültigkeit besitzen. Näheres zur Arbeit mit der Tabelle finden Sie in Abschnitt 2.2.5. Eine detaillierte Erklärung zur Definition und Verwendung von Variablen finden Sie in Kapitel 6.

Variabel: Namen der Variablen nein, Werte ja

Einschränkungen: Keine

'Maximaler Fehler'

Wenn beim Ablauf des Tests innerhalb der Sequenz eine Warnung, ein Fehler oder eine Exception auftritt, wird dieser Status im Protokoll normalerweise an die übergeordneten Knoten weitergeleitet. Mit diesem Attribut können Sie den Fehlerstatus, den das Protokoll für diese Sequenz erhält, beschränken.

Hinweis Dieser Wert beeinflusst ausschließlich den Status des Protokolls und damit den Rückgabewert von QF-Test falls es im Batchmodus läuft (vgl. Abschnitt 1.7). Auf die Behandlung von Exceptions hat er keinen Einfluss.

Auch für die Erstellung kompakter Protokolle (vgl. Kompakte Protokolle erstellen), hat dieser Wert keinen Einfluss. Eine Sequenz, in der eine Warnung oder ein Fehler auftritt, wird nicht aus einem kompakten Protokoll entfernt, selbst wenn über dieses Attribut der Fehlerstatus auf "Keinen Fehler" zurückgesetzt wird.

Variabel: Nein

Einschränkungen: Keine

'Maximale Ausführungszeit'

Zeit in Millisekunden, die der Knoten maximal ausgeführt werden soll. Nach Ablauf dieser Zeit wird der Knoten abgebrochen.

Variabel: Ja

Einschränkungen: >= 0

'QF-Test ID'

Die QF-Test ID ist für diesen Knoten zur Zeit ohne Bedeutung.

Variabel: Nein

Einschränkungen: Darf keines der Zeichen '\', '#', '$', '@', '&', oder '%' enthalten und nicht mit einem Unterstrich ('_') beginnen.

'Verzögerung vorher/nachher'

Mit diesen Parametern kann vor oder nach der Ausführung eine Verzögerung bewirkt werden. Sind sie nicht gesetzt, wird die Standardverzögerung aus den Optionen verwendet.

Variabel: Ja

Einschränkungen: Leer oder >0

'Bemerkung'

Hier können Sie einen beliebigen Kommentar eintragen.

Hinweis Für die ausführliche Dokumentation, insbesondere von 'Testfallsatz', 'Testfall' oder 'Prozedur' Knoten, ist dieses Textfeld womöglich nicht der geeignete Ort. Es gibt hervorragende Editoren, die wesentlich besser dafür geeignet sind. Mittels der Option Kommando für externen Editor kann ein externer Editor festgelegt werden, in dem nach Drücken von [Alt-Eingabe] oder Klicken des Externer Editor Buttons der Kommentar komfortabel bearbeitet werden kann.

Für einige Knoten können Sie ein spezielles Verhalten per Doctags konfigurieren, siehe Doctags.

Falls bei 'Komponenten' Knoten in dem Bemerkungsfeld eine Eintragung gemacht wurde, wird der Knoten bei der Suche bzw. dem Löschen von ungenutzten Komponenten übersprungen.

Variabel: Ja

Einschränkungen: Keine

'Extrasequenzen'

Dieser Knoten ist eine Art Spielwiese zum Ausprobieren und Zusammenstellen von Tests. Hier können Sie beliebige Knoten ablegen, unbehindert von den normalen Einschränkungen. Auch als Zwischenablage sind die Extrasequenzen nützlich.

Enthalten in: Wurzelknoten

Kinder: Beliebig

Ausführung: Kann nicht ausgeführt werden

Attribute:

Extras Attribute
Abbildung 40.8:  'Extrasequenzen' Attribute
'QF-Test ID'

Die QF-Test ID ist für diesen Knoten zur Zeit ohne Bedeutung.

Variabel: Nein

Einschränkungen: Darf keines der Zeichen '\', '#', '$', '@', '&', oder '%' enthalten und nicht mit einem Unterstrich ('_') beginnen.

'Bemerkung'

Hier können Sie einen beliebigen Kommentar eintragen.

Hinweis Für die ausführliche Dokumentation, insbesondere von 'Testfallsatz', 'Testfall' oder 'Prozedur' Knoten, ist dieses Textfeld womöglich nicht der geeignete Ort. Es gibt hervorragende Editoren, die wesentlich besser dafür geeignet sind. Mittels der Option Kommando für externen Editor kann ein externer Editor festgelegt werden, in dem nach Drücken von [Alt-Eingabe] oder Klicken des Externer Editor Buttons der Kommentar komfortabel bearbeitet werden kann.

Für einige Knoten können Sie ein spezielles Verhalten per Doctags konfigurieren, siehe Doctags.

Falls bei 'Komponenten' Knoten in dem Bemerkungsfeld eine Eintragung gemacht wurde, wird der Knoten bei der Suche bzw. dem Löschen von ungenutzten Komponenten übersprungen.

Variabel: Ja

Einschränkungen: Keine