Handbuch
Version 8.0.1 |
Der Ausdruck datengetriebenes Testen bezieht sich auf eine verbreitete Methode bei automatisierten Tests, bei der Testfälle mehrfach mit unterschiedlichen Datensätzen ausgeführt werden. Dank des flexiblen Variablenkonzepts in QF-Test gibt es keine Einschränkungen, wie diese Daten genutzt werden können. Die häufigste Verwendung ist sicherlich für Eingabewerte in 'Event' und erwartete Ergebnisse in 'Check' Knoten.
QF-Test's Mechanismus für datengetriebenes Testen besteht aus dem 'Datentreiber' Knoten, der benutzt wird um einen Datenkontext zur Verfügung zu stellen, und verschiedenen Arten von 'Daten' Knoten. Aktuell gibt es den 'Datentabelle' Knoten, der Daten in Form einer Tabelle in QF-Test selbst speichert, den 'CSV-Datei' Knoten, der Daten aus einer CSV-Datei, sowie den 'Datenbank' Knoten, der Daten aus einer Datenbank und den 'Excel-Datei' Knoten, der Daten aus einer Excel-Datei liest. Es wird auch ein Erweiterungs-API für den Zugriff auf beliebige externe Daten zur Verfügung gestellt.
Weitere Informationen über die Zusammenarbeit der verschiedenen Teile des Datentreiber-Mechanismus finden Sie in Kapitel 22.
Außer seiner besonderen Position im 'Testfallsatz' oder 'Testschritt' verhält sich ein 'Datentreiber' wie eine normale 'Sequenz'. Er stellt den Kontext für einen oder mehrere 'Daten' Knoten bereit, für den sich diese während der Ausführung des 'Datentreibers' registrieren können. Der 'Testfallsatz' iteriert dann über die Datensätze, die von den registrierten 'Daten' Knoten zur Verfügung gestellt werden und führt seine Childknoten aus, wie in Kapitel 22 beschrieben. Für diesen Zweck muss ein 'Datentreiber' innerhalb eines 'Testfallsatz' Knotens platziert werden, zwischen die optionalen 'Abhängigkeit' und 'Vorbereitung' Knoten. 'Datentreiber' Knoten können auch innerhalb von 'Testschritt' Knoten an erster Stelle platziert werden. |
Enthalten in:'Testfallsatz', 'Testschritt'.
Kinder: Beliebig
Ausführung: Wenn ein 'Testfallsatz' oder 'Testschritt' ausgeführt wird, überprüft dieser, ob ein 'Datentreiber' vorhanden ist und führt ihn aus. Der Inhalt des 'Datentreiber' Knotens ist nicht auf 'Daten' Knoten beschränkt, sondern kann beliebige ausführbare Knoten enthalten, so dass jede Form von Vorbereitung realisiert werden kann, die für das Bereitstellen der Daten notwendig ist. Damit ist es auch möglich, 'Daten' Knoten wieder zu verwenden, indem man sie in einer 'Prozedur' platziert und diese aus dem 'Datentreiber' heraus aufruft. Jeder 'Daten' Knoten, der in einem 'Datentreiber' Kontext registriert ist, wird vom 'Testfallsatz' oder 'Testschritt' auf seine Daten hin abgefragt.
Attribute:
Abbildung 41.14: 'Datentreiber' Attribute |
Der Name eines 'Datentreibers' ist eine Art Kurzkommentar. Er wird in der Baumdarstellung der Testsuite angegeben und sollte etwas über die Art der bereitgestellten Daten aussagen.
Variabel: Nein
Einschränkungen: Keine
Hier kann ein eigener Name für die Iterationsschritte definiert werden, der dann im Protokoll verwendet wird. Dieser kann Variablen der gebundenen Daten enthalten um damit das Auffinden eines spezifischen Iterationsschrittes zu erleichtern.
Variabel: Ja
Einschränkungen: Nein
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 jeder Iteration des 'Datentreibers' 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:
| |||||||||||||||||||||||||||||||||||
Tabelle 41.5: 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.
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
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.
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
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 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
Eine 'Datentabelle' bietet eine komfortable Schnittstelle um Testdaten in Tabellen direkt in QF-Test zu speichern. Details zum Mechanismus des datengetriebenen Testens in QF-Test finden Sie in Kapitel 22. |
Enthalten in: Beliebig
Kinder: Keine
Ausführung:
Die 'Datentabelle' expandiert Variablen in der Tabelle entsprechend der Option
Werte von Variablen beim Binden sofort expandieren. Jede Zeile wird individuell von links nach
rechts expandiert, so dass eine Zelle - innerhalb derselben Zeile - auf Variablen
verweisen kann, die in einer Spalte weiter links gebunden wurden.
Dann registriert sich die 'Datentabelle' im Kontext
eines 'Datentreibers'. Zusätzlich wird eine Propertygruppe mit dem Namen des Knotens und den
Variablen size
und totalsize
angelegt. size
beinhaltet die Anzahl der Datensätze mit Rücksicht auf Iterationsintervalle.
totalsize
beinhaltet die gesamte Anzahl an Datensätzen der Datenquelle
ohne Rücksicht auf Iterationsintervalle. Nachdem alle 'Daten' Knoten angemeldet wurden, fragt der
zugehörige 'Testfallsatz' die Datensätze der 'Datentabelle' ab, um darüber zu
iterieren.
Wenn kein 'Datentreiber' Kontext verfügbar ist, wird die Propertygruppe um alle Variablen
des Knotens erweitert.
Attribute:
Abbildung 41.15: 'Datentabelle' Attribute |
Der 'Name' eines 'Daten' Knotens ist ein Pflichtattribut. Er wird benutzt, um 'Daten' Knoten im selben 'Datentreiber' Kontext zu unterscheiden. Ein 'Break' Knoten, der während des datengetriebenen Tests ausgeführt wird, kann durch Angabe dieses 'Namens' in seinem Attribut 'QF-Test ID der Schleife' gezielt die Schleife dieser 'Datentabelle' abbrechen.
Variabel: Ja
Einschränkungen: Keine
Der Name der Variablen, an die der Index des Schleifendurchgangs gebunden wird.
Variabel: Ja
Einschränkungen: Keine
Ein Optionaler Satz von zu nutzenden Indizes oder Bereichen für die Daten. Dies ist besonders während der Testentwicklung hilfreich, um nur über einen einzelnen Index oder einen Teil der Daten zu iterieren.
Bereiche werden durch ',' getrennt. Jeder Bereich ist entweder in einzelner Index, oder
ein geschlossenes Intervall der Form 'von-bis' oder 'von:bis' wobei die Angabe von 'bis'
optional ist. Indizes oder Bereiche können mehrfach, überlappend oder in absteigender
Richtung angegeben werden. Indizes sind 0-basiert, ein negativer Index wird vom Ende her
gezählt, wobei -1 dem letzten Eintrag entspricht. Eine ungültige Syntax oder ein Index
außerhalb des vorhandenen Datenbereichs führen zu einer BadRangeException
.
Die folgende Tabelle zeigt einige Beispiele für Iterationsbereiche und die daraus resultierenden Indizes.
| |||||||||||||||
Tabelle 41.6: Beispiele für Iterationsbereiche |
Hinweis Der für die 'Zählervariable' gebunde Wert entspricht dem angegebenen Index im Iterationsbereich, nicht der Zahl der tatsächlich durchgeführten Iterationen. Wenn Sie z.B. '2' angeben, führt dies zu einer einzigen Iteration mit der 'Zählervariable' '2', nicht '0'.
Variabel: Ja
Einschränkungen: Gültige Syntax und Indexwerte
Hier werden die aktuellen Testdaten definiert. Jede Tabellenspalte steht hierbei für eine Variable, deren Name im Spaltenkopf spezifiziert wird. Jede Zeile ist ein Datensatz, ein Wert je Variable. So bestimmt die Zeilenzahl die Anzahl der Durchläufe in der datengetriebenen Schleife. Um Ihre Daten eingeben zu können, müssen Sie als erstes Spalten zur Tabelle hinzufügen und somit die Variablen definieren. Dann können mittels neuer Zeilen die Werte festgelegt werden. Näheres zur Arbeit mit der Tabelle finden Sie in Abschnitt 2.2.5.
Variabel: Ja, sogar die Spaltentitel
Einschränkungen: Keine
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.
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
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 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
Ein 'Datenbank' Knoten wird benutzt, um externe Daten aus einer Datenbank
zu laden. Damit QF-Test auf die Datenbank zugreifen kann, muss die jar-Datei mit den
Klassen des Datenbanktreibers im QF-Test-Klassenpfad zu finden sein. Üblicherweise wird
die Datei ins Weitere Details zum Datentreiber-Mechanismus finden Sie in Kapitel 22. |
Enthalten in: Beliebig
Kinder: Keine
Ausführung:
Der 'Datenbank' Knoten lädt die Daten aus der Datenbank und expandiert
Variablen entsprechend der Option Werte von Variablen beim Binden sofort expandieren. Jede Zeile
wird individuell von links nach rechts expandiert, so dass eine Zelle - innerhalb
derselben Zeile - auf Variablen verweisen kann, die in einer Spalte weiter links
gebunden wurden. Dann registriert sich der 'Datenbank' im Kontext eines
'Datentreibers'. Für jedes Feld im select-Ausdruck wird eine Variable gleichen Namens
definiert. Die Schreibweise (Groß/Klein) kann jedoch vom Datenbanktreiber abhängen, z.B.
nur Großbuchstaben bei Oracle.
Zusätzlich wird eine Propertygruppe mit dem Namen des Knotens und den
Variablen size
und totalsize
angelegt. size
beinhaltet die Anzahl der Datensätze mit Rücksicht auf Iterationsintervalle.
totalsize
beinhaltet die gesamte Anzahl an Datensätzen der Datenquelle
ohne Rücksicht auf Iterationsintervalle. Nachdem alle 'Daten' Knoten angemeldet wurden, fragt der
zugehörige 'Testfallsatz' die Datensätze der 'Datenbank' ab, um darüber zu
iterieren.
Wenn kein 'Datentreiber' Kontext verfügbar ist, wird die Propertygruppe um alle Variablen
des Knotens erweitert.
Attribute:
Abbildung 41.16: 'Datenbank' Attribute |
Der 'Name' eines 'Daten' Knotens ist ein Pflichtattribut. Er wird benutzt, um 'Daten' Knoten im selben 'Datentreiber' Kontext zu unterscheiden. Ein 'Break' Knoten, der während des datengetriebenen Tests ausgeführt wird, kann durch Angabe dieses 'Namens' in seinem Attribut 'QF-Test ID der Schleife' gezielt die Schleife dieser 'Datentabelle' abbrechen.
Variabel: Ja
Einschränkungen: Keine
Der Name der Variablen, an die der Index des Schleifendurchgangs gebunden wird.
Variabel: Ja
Einschränkungen: Keine
Ein Optionaler Satz von zu nutzenden Indizes oder Bereichen für die Daten. Dies ist besonders während der Testentwicklung hilfreich, um nur über einen einzelnen Index oder einen Teil der Daten zu iterieren.
Bereiche werden durch ',' getrennt. Jeder Bereich ist entweder in einzelner Index, oder
ein geschlossenes Intervall der Form 'von-bis' oder 'von:bis' wobei die Angabe von 'bis'
optional ist. Indizes oder Bereiche können mehrfach, überlappend oder in absteigender
Richtung angegeben werden. Indizes sind 0-basiert, ein negativer Index wird vom Ende her
gezählt, wobei -1 dem letzten Eintrag entspricht. Eine ungültige Syntax oder ein Index
außerhalb des vorhandenen Datenbereichs führen zu einer BadRangeException
.
Die folgende Tabelle zeigt einige Beispiele für Iterationsbereiche und die daraus resultierenden Indizes.
| |||||||||||||||
Tabelle 41.7: Beispiele für Iterationsbereiche |
Hinweis Der für die 'Zählervariable' gebunde Wert entspricht dem angegebenen Index im Iterationsbereich, nicht der Zahl der tatsächlich durchgeführten Iterationen. Wenn Sie z.B. '2' angeben, führt dies zu einer einzigen Iteration mit der 'Zählervariable' '2', nicht '0'.
Variabel: Ja
Einschränkungen: Gültige Syntax und Indexwerte
Die SQL-Abfrage, die ausgeführt wird, um die gewünschten Testdaten zu erhalten. Dies sollte ein select Ausdruck sein. Für jedes Feld im select-Ausdruck wird eine Variable gleichen Namens definiert. Die Schreibweise (Groß/Klein) kann jedoch vom Datenbanktreiber abhängen, z.B. nur Großbuchstaben bei Oracle.
Variabel: Ja
Einschränkungen: Darf nicht leer sein
Die Klasse des Datenbanktreibers.
Hinweis Die jar-Datei mit den Klassen des Datenbanktreibers muss vor dem Start
von QF-Test ins qftest
Pluginverzeichnis kopiert werden.
Hier eine Liste der gebräuchlichsten Datenbanktreiber:
| |||||||||||||||||||||||||||||||||
Tabelle 41.8: JDBC Treiberklassen |
Variabel: Ja
Einschränkungen: Darf nicht leer sein
Der Connection String für die Datenbank. Dieser ist meist von der Form
jdbc:datenbankname://datenbankserver/datenbankname
.
Hier eine Liste der gebräuchlichsten Connection Strings:
| |||||||||||||||||||||||||||||
Tabelle 41.9: 'Datenbank' Verbindungen |
Variabel: Ja
Einschränkungen: Darf nicht leer sein
Der Benutzer für die Datenbank. Sollte Ihre Datenbank keinen Benutzer benötigen, lassen Sie dieses Feld einfach leer.
Variabel: Ja
Einschränkungen: Keine
Das Passwort für den Benutzer der Datenbank. Sollte Ihre Datenbank keinen Benutzer oder kein Passwort benötigen, lassen Sie dieses Feld einfach leer. Um das Passwort nach Eingabe in dieses Feld zu verschlüsseln, wählen Sie nach einem Rechts-Klick »Kennwort verschlüsseln« aus dem resultierenden Popupmenü. Geben Sie auf jeden Fall vor der Verschlüsselung einen Salt in der Option Salt für Verschlüsselung von Kennwörtern an.
Variabel: Ja
Einschränkungen: Keine
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.
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
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 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
Ein 'Excel-Datei' Knoten wird benutzt, um externe Daten aus einer Excel-Datei zu laden. In der ersten Zeile müssen die Namen der Variablen definiert werden und in den weiteren Zeilen die zu bindenden Werte, wobei jede Zeile einem Testdatensatz entspricht. Hinweis Die korrekte Darstellung der Zelleninhalte vom Typ "Datum", "Zeit" oder "Währung" kann nicht immer sicher gestellt werden, da Excel den Wert und das Format der Zelle getrennt voneinander speichert und die verwendete Java-Bibliothek nicht alle Möglichkeiten unterstützt. Dennoch sollte der 'Excel-Datei' Knoten weitestgehend korrekt arbeiten. Sollte es zu Problemen mit diesen Formaten kommen, ändern Sie bitte in der Excel-Datei den Typ der betroffenen Zellen auf "Text". In QF-Test werden nach dem Einlesen sowieso alle Werte als Strings behandelt. Weitere Details zum Datentreiber-Mechanismus finden Sie in Kapitel 22. |
Enthalten in: Beliebig
Kinder: Keine
Ausführung:
Der 'Excel-Datei' Knoten liest die Daten aus der Excel-Datei und expandiert
Variablen entsprechend der Option Werte von Variablen beim Binden sofort expandieren. Jede Zeile
wird individuell von links nach rechts expandiert, so dass eine Zelle - innerhalb
derselben Zeile - auf Variablen verweisen kann, die in einer Spalte weiter links
gebunden wurden. Dann registriert sich der 'Excel-Datei' im Kontext eines
'Datentreibers'.
Zusätzlich wird eine Propertygruppe mit dem Namen des Knotens und den
Variablen size
und totalsize
angelegt. size
beinhaltet die Anzahl der Datensätze mit Rücksicht auf Iterationsintervalle.
totalsize
beinhaltet die gesamte Anzahl an Datensätzen der Datenquelle
ohne Rücksicht auf Iterationsintervalle. Nachdem alle 'Daten' Knoten angemeldet wurden, fragt der
zugehörige 'Testfallsatz' die Datensätze der 'Excel-Datei' ab, um darüber zu
iterieren.
Wenn kein 'Datentreiber' Kontext verfügbar ist, wird die Propertygruppe um alle Variablen
des Knotens erweitert.
Attribute:
Abbildung 41.17: 'Excel-Datei' Attribute |
Der 'Name' eines 'Daten' Knotens ist ein Pflichtattribut. Er wird benutzt, um 'Daten' Knoten im selben 'Datentreiber' Kontext zu unterscheiden. Ein 'Break' Knoten, der während des datengetriebenen Tests ausgeführt wird, kann durch Angabe dieses 'Namens' in seinem Attribut 'QF-Test ID der Schleife' gezielt die Schleife dieser 'Datentabelle' abbrechen.
Variabel: Ja
Einschränkungen: Keine
Der Name der Variablen, an die der Index des Schleifendurchgangs gebunden wird.
Variabel: Ja
Einschränkungen: Keine
Ein Optionaler Satz von zu nutzenden Indizes oder Bereichen für die Daten. Dies ist besonders während der Testentwicklung hilfreich, um nur über einen einzelnen Index oder einen Teil der Daten zu iterieren.
Bereiche werden durch ',' getrennt. Jeder Bereich ist entweder in einzelner Index, oder
ein geschlossenes Intervall der Form 'von-bis' oder 'von:bis' wobei die Angabe von 'bis'
optional ist. Indizes oder Bereiche können mehrfach, überlappend oder in absteigender
Richtung angegeben werden. Indizes sind 0-basiert, ein negativer Index wird vom Ende her
gezählt, wobei -1 dem letzten Eintrag entspricht. Eine ungültige Syntax oder ein Index
außerhalb des vorhandenen Datenbereichs führen zu einer BadRangeException
.
Die folgende Tabelle zeigt einige Beispiele für Iterationsbereiche und die daraus resultierenden Indizes.
| |||||||||||||||
Tabelle 41.10: Beispiele für Iterationsbereiche |
Hinweis Der für die 'Zählervariable' gebunde Wert entspricht dem angegebenen Index im Iterationsbereich, nicht der Zahl der tatsächlich durchgeführten Iterationen. Wenn Sie z.B. '2' angeben, führt dies zu einer einzigen Iteration mit der 'Zählervariable' '2', nicht '0'.
Variabel: Ja
Einschränkungen: Gültige Syntax und Indexwerte
Der Name der Excel-Datei aus der die Testdaten gelesen werden sollen. Relative Pfadangaben werden relativ zum Verzeichnis der Testsuite aufgelöst.
Der Knopf über dem Attribut öffnet einen Dialog in dem die Excel-Datei interaktiv ausgewählt werden kann. Den Dialog erreichen Sie auch mittels [Shift-Return] oder [Alt-Return], sofern sich der Fokus im Textfeld befindet.
Variabel: Ja
Einschränkungen: Darf nicht leer sein
Der Name des Tabellenblatts aus dem die Testdaten gelesen werden sollen.
Variabel: Ja
Einschränkungen: Keine
In diesem Textfeld können Sie ein Datumsformat vorgeben, welches für alle aus der
Excel-Datei geladenen Zellen vom Typ "Datum" verwendet werden soll. Dieses Format
muss wie für die Java-Klasse SimpleDateFormat
spezifiziert sein, d.h.
'd' für Tag, 'M' für Monat und 'y' für Jahr. Mit 'dd' werden zwei Stellen für den
Tag reserviert, analog dazu gibt es 'MM', 'yy' oder 'yyyy'.
Variabel: Ja
Einschränkungen: Keine
Wenn dieses Attribute angehakt ist, werden die Namen der Variablen aus der ersten Zeile der Excel-Datei ausgelesen, sonst aus der ersten Spalte.
Variabel: Ja
Einschränkungen: Keine
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.
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
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 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
Eine 'CSV-Datei' wird benutzt, um externe Daten aus einer Datei zu laden und für datengetriebene Tests bereit zu stellen. CSV steht für Comma-separated Values - also für durch Komma getrennte Werte, welches ein Standardformat für Textdateien darstellt. Hierbei steht jede Zeile in der Datei für einen Datensatz, dessen Werte durch ein Trennzeichen separiert werden. Als Trennzeichen wird oft, aber nicht ausschließlich, ein Komma (',') verwendet. Bei der Benutzung in einem 'CSV-Datei' Knoten muss die erste Zeile der CSV-Datei die Namen der Variablen enthalten, die gebunden werden sollen. In den weiteren Zeilen folgen dann die Werte für die einzelnen Iterationsschritte. Leider gibt es bei CSV-Dateien uneinheitliche Definitionen für Spezialfälle wie das Schützen von Sonderzeichen (quoting), die Behandlung von Leerzeichen oder Trennzeichen in Werten oder mehrzeilige Werte. Aktuell existieren zwei de-facto Standards. Einen benutzt Microsoft Excel und einen der Rest der Welt. QF-Test unterstützt beide. Weitere Details zum Datentreiber-Mechanismus finden Sie in Kapitel 22. |
Enthalten in: Beliebig
Kinder: Keine
Ausführung:
Der 'CSV-Datei' Knoten liest die Daten aus der CSV-Datei und expandiert
Variablen entsprechend der Option Werte von Variablen beim Binden sofort expandieren. Jede Zeile
wird individuell von links nach rechts expandiert, so dass eine Zelle - innerhalb
derselben Zeile - auf Variablen verweisen kann, die in einer Spalte weiter links
gebunden wurden. Dann registriert sich der 'CSV-Datei' im Kontext
eines 'Datentreibers'.
Zusätzlich wird eine Propertygruppe mit dem Namen des Knotens und den
Variablen size
und totalsize
angelegt. size
beinhaltet die Anzahl der Datensätze mit Rücksicht auf Iterationsintervalle.
totalsize
beinhaltet die gesamte Anzahl an Datensätzen der Datenquelle
ohne Rücksicht auf Iterationsintervalle. Nachdem alle 'Daten' Knoten angemeldet wurden, fragt der
zugehörige 'Testfallsatz' die Datensätze der 'CSV-Datei' ab, um darüber zu
iterieren.
Wenn kein 'Datentreiber' Kontext verfügbar ist, wird die Propertygruppe um alle Variablen
des Knotens erweitert.
Attribute:
Abbildung 41.18: 'CSV-Datei' Attribute |
Der 'Name' eines 'Daten' Knotens ist ein Pflichtattribut. Er wird benutzt, um 'Daten' Knoten im selben 'Datentreiber' Kontext zu unterscheiden. Ein 'Break' Knoten, der während des datengetriebenen Tests ausgeführt wird, kann durch Angabe dieses 'Namens' in seinem Attribut 'QF-Test ID der Schleife' gezielt die Schleife dieser 'Datentabelle' abbrechen.
Variabel: Ja
Einschränkungen: Keine
Der Name der Variablen, an die der Index des Schleifendurchgangs gebunden wird.
Variabel: Ja
Einschränkungen: Keine
Ein Optionaler Satz von zu nutzenden Indizes oder Bereichen für die Daten. Dies ist besonders während der Testentwicklung hilfreich, um nur über einen einzelnen Index oder einen Teil der Daten zu iterieren.
Bereiche werden durch ',' getrennt. Jeder Bereich ist entweder in einzelner Index, oder
ein geschlossenes Intervall der Form 'von-bis' oder 'von:bis' wobei die Angabe von 'bis'
optional ist. Indizes oder Bereiche können mehrfach, überlappend oder in absteigender
Richtung angegeben werden. Indizes sind 0-basiert, ein negativer Index wird vom Ende her
gezählt, wobei -1 dem letzten Eintrag entspricht. Eine ungültige Syntax oder ein Index
außerhalb des vorhandenen Datenbereichs führen zu einer BadRangeException
.
Die folgende Tabelle zeigt einige Beispiele für Iterationsbereiche und die daraus resultierenden Indizes.
| |||||||||||||||
Tabelle 41.11: Beispiele für Iterationsbereiche |
Hinweis Der für die 'Zählervariable' gebunde Wert entspricht dem angegebenen Index im Iterationsbereich, nicht der Zahl der tatsächlich durchgeführten Iterationen. Wenn Sie z.B. '2' angeben, führt dies zu einer einzigen Iteration mit der 'Zählervariable' '2', nicht '0'.
Variabel: Ja
Einschränkungen: Gültige Syntax und Indexwerte
Der Name der CSV-Datei aus der die Testdaten gelesen werden sollen. Relative Pfadangaben werden relativ zum Verzeichnis der Testsuite aufgelöst.
Der Knopf über dem Attribut öffnet einen Dialog in dem die CSV-Datei interaktiv ausgewählt werden kann. Den Dialog erreichen Sie auch mittels [Shift-Return] oder [Alt-Return], sofern sich der Fokus im Textfeld befindet.
Variabel: Ja
Einschränkungen: Darf nicht leer sein
Eine optionale Kodierung für die CSV-Datei, z.B "UTF-8". Ist keine Kodierung angeben, wird die Datei mit der Standard-Kodierung der Java-VM gelesen.
Variabel: Ja
Einschränkungen: Die Kodierung muss von der Java-VM unterstützt werden.
Wenn diese Option gesetzt ist, versucht QF-Test die CSV-Datei gemäß dem von Microsoft Excel verwendeten Format einzulesen.
Variabel: Ja
Einschränkungen: Keine
Mit diesem Attribut können sie das Zeichen festlegen, welches zur Trennung der Datenwerte in der CSV-Datei verwendet wird. Wenn kein Trennzeichen definiert ist, wird das Komma (',') als Standardwert genutzt. Wenn 'Microsoft Excel CSV-Format lesen' gesetzt ist, wird dieses Attribut ignoriert.
Variabel: Ja
Einschränkungen: Keine
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.
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
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 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
Bei einem 'Datenschleife' Knoten handelt es sich um eine einfache Schleife, bei der eine einzelne Variable als Schleifenzähler gebunden wird. So können 'Testfälle' mehrfach ausgeführt werden, indem sie in einen 'Testfallsatz' mit einem 'Datentreiber' und einer 'Datenschleife' gelegt werden. |
Enthalten in: Beliebig
Kinder: Keine
Ausführung:
Bei ihrer Ausführung registriert sich die 'Datenschleife' lediglich im Kontext
eines 'Datentreibers'. Die Zählvariable wird als Variable gesetzt.
Zusätzlich wird eine Propertygruppe mit dem Namen des Knotens und den
Variablen size
und totalsize
angelegt. size
beinhaltet die Anzahl der Datensätze mit Rücksicht auf Iterationsintervalle.
totalsize
beinhaltet die gesamte Anzahl an Datensätzen der Datenquelle
ohne Rücksicht auf Iterationsintervalle. Nachdem alle 'Daten' Knoten angemeldet wurden, fragt der
zugehörige 'Testfallsatz' die Datensätze der 'Datenschleife' ab, um darüber zu
iterieren.
Wenn kein 'Datentreiber' Kontext verfügbar ist, wird die Propertygruppe um alle Variablen
des Knotens erweitert.
Attribute:
Abbildung 41.19: 'Datenschleife' Attribute |
Der 'Name' eines 'Daten' Knotens ist ein Pflichtattribut. Er wird benutzt, um 'Daten' Knoten im selben 'Datentreiber' Kontext zu unterscheiden. Ein 'Break' Knoten, der während des datengetriebenen Tests ausgeführt wird, kann durch Angabe dieses 'Namens' in seinem Attribut 'QF-Test ID der Schleife' gezielt die Schleife dieser 'Datentabelle' abbrechen.
Variabel: Ja
Einschränkungen: Keine
Der Name der Variablen, an die der Index des Schleifendurchgangs gebunden wird.
Variabel: Ja
Einschränkungen: Keine
Ein Optionaler Satz von zu nutzenden Indizes oder Bereichen für die Daten. Dies ist besonders während der Testentwicklung hilfreich, um nur über einen einzelnen Index oder einen Teil der Daten zu iterieren.
Bereiche werden durch ',' getrennt. Jeder Bereich ist entweder in einzelner Index, oder
ein geschlossenes Intervall der Form 'von-bis' oder 'von:bis' wobei die Angabe von 'bis'
optional ist. Indizes oder Bereiche können mehrfach, überlappend oder in absteigender
Richtung angegeben werden. Indizes sind 0-basiert, ein negativer Index wird vom Ende her
gezählt, wobei -1 dem letzten Eintrag entspricht. Eine ungültige Syntax oder ein Index
außerhalb des vorhandenen Datenbereichs führen zu einer BadRangeException
.
Die folgende Tabelle zeigt einige Beispiele für Iterationsbereiche und die daraus resultierenden Indizes.
| |||||||||||||||
Tabelle 41.12: Beispiele für Iterationsbereiche |
Hinweis Der für die 'Zählervariable' gebunde Wert entspricht dem angegebenen Index im Iterationsbereich, nicht der Zahl der tatsächlich durchgeführten Iterationen. Wenn Sie z.B. '2' angeben, führt dies zu einer einzigen Iteration mit der 'Zählervariable' '2', nicht '0'.
Variabel: Ja
Einschränkungen: Gültige Syntax und Indexwerte
Dieser Wert legt die Anzahl der Durchgänge für die Ausführung fest.
Dieses Attribut ist prädestiniert für den Einsatz von
Variablen. Wenn Sie die Anzahl Wiederholungen z.B. auf
$(count)
setzen, können Sie den Wert für die
Variable count
in den Variablen der Suite
(vgl. Kapitel 6) auf 1 oder 2 setzen.
Das vereinfacht das Erstellen und Ausprobieren der Testsuite.
Wenn Sie den Test dann ernsthaft ausführen, z.B. automatisch
mittels qftest -batch
, können Sie durch Angabe
von -variable count=100
auf der Kommandozeile den
Wert für count
nach Belieben variieren.
Variabel: Ja
Einschränkungen: >0
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.
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
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 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
Letzte Änderung: 10.9.2024 Copyright © 1999-2024 Quality First Software GmbH |