Testfall-Vorlagen mit Datenquellen verknüpfen
Ist ein Testfall in eine Vorlage umgewandelt, können die Testschritte aus dem automatisierten Testfall mit den Testdaten in der Vorlage verknüpft werden. Dabei werden die einzelnen Testschrittwerte mit den Werten der Attribute der Datenquelle verknüpft.
Im Testschrittwert wird durch eine Pfadangabe auf die Daten in der Datenquelle verwiesen.
Die in der Testfall-Vorlage definierten Aktionen werden bei der dynamischen Testfallerstellung an die jeweiligen Instanzen weitergeben.
Pfad zu Testdaten angeben
Die Verknüpfung von Testschritten mit den Testdaten in der Vorlage erfolgt im Tosca Commander über die Eingabe von Attributnamen. Strukturierte Attribute der Testfalldarstellung können durch die Angabe der Attribute der jeweiligen Ebenen verknüpft werden. Die Attribute werden durch einen Punkt getrennt angegeben.
Es kann auch ohne Attribute auf TestCase-Design-Klassen verwiesen werden. Dabei werden die beinhalteten Instanzen als Wert für die Testschrittwerte übernommen.
Die Syntax für diese Verknüpfung lautet:
Syntax: |
{XL[<Ebene 1>.<Ebene 2>.<Ebene 3>.<Ebene 4>]} |
Strukturierungsebenen in der Vorlage
![]() |
Es soll der Vorname des Kunden in die Testfall-Vorlage übernommen werden. Im TestCase-Design ist ein strukturierter Aufbau der Testdaten vorhanden. Für die Verknüpfung mit dem Attribut Vorname wird die Syntax um die Strukturebene Person erweitert. Die Trennung der Strukturebenen erfolgt über einen Punkt. Die Syntax für die Verknüpfung lautet {XL[Person.Vorname]}.
Verlinkung zum TestCase-Design |
![]() |
Die Vorgehensweise für die Verknüpfung der Testdaten aus dem TestCase-Design wird im Kapitel "TestSheet mit einer Testfall-Vorlage verknüpfen" genau beschrieben. |
Pfad zu Testdaten im Namen eingeben
Bei der Verknüpfung von Testschritten mit den Testdaten in der Vorlage können Sie die Attributnamen in den jeweiligen Testschrittwerten eingeben (siehe Kapitel "Pfad zu Testdaten angeben") oder alternativ im Namen des Testschritts, Testschrittwerts oder Testschritt-Teilwerts.
![]() |
Damit der Name eines Testschritts, Testschrittwerts oder Testschritt-Teilwerts verändert werden kann, muss im Modul der Parameter ExplicitName hinzugefügt werden. |
![]() |
In diesem Beispiel werden Vornamen aus einer Tabelle in Form einer XL-Verknüpfung in der Testfall-Vorlage angegeben. Der Pfad zu den Testdaten wird in der Spalte Name der Testfall-Vorlage Tabelle eingegeben. Die Syntax für die Verknüpfung lautet {XL[Vorname]}. Wenn die Testfall-Vorlage instanziiert wird, werden die Vornamen aus der Tabelle in der Vorlagen-Instanz angezeigt (siehe Kapitel " Vorlagen-Instanzen erstellen").
Verknüpfung in der Spalte Name |
Relativen Pfad zu Testdaten angeben
Die Verknüpfung von Testschritten mit den Testdaten in der Vorlage kann durch relative Pfadangaben vereinfacht werden. Dabei wird der statische Teil eines Pfades in der Spalte Pfad angegeben und der relative Teil der Pfadangabe in den jeweiligen Testschrittwerten.
Die Syntax für die relative Pfadangabe im Testschrittwert lautet wie folgt:
Syntax: |
{XL[.Attribut]} Durch den Punkt als Präfix wird ein Teil der absoluten Pfadangabe abstrahiert. |
Die Spalte Pfad muss über Spalten hinzufügen oder entfernen hinzugefügt werden.
Die Syntax für die absolute Pfadangabe in der Spalte Pfad lautet wie folgt:
Syntax: |
Ebene_1.Ebene_2.Ebene_n |
Relative Pfade
Bedingte Instanziierung vorbereiten
Um die Flexibilität in der multiplen Instanziierung von Testfällen zu erhöhen, können folgende Objekte mit fachlichen Bedingungen verknüpft werden:
-
Testfall-Vorlage
-
Beliebige Testschritte und XTestschritte innerhalb einer Testfall-Vorlage
-
Testschritt-Ordner innerhalb einer Testfall-Vorlage
-
Vorlagen-Instanz
-
XTestschrittwerte
Bei der Instanziierung werden die Testschritte nur Teil der konkreten Testfälle, wenn sie die definierte Bedingung erfüllen.
Bei der bedingten Instanziierung hängt die Verankerung von Dialogsequenzen im Testfall davon ab, ob zu einem bestimmten Geschäftsobjekt oder Attribut in der Vorlage entsprechende Werte vorliegen.
Dadurch können in einer Vorlage auch kleinere unterschiedliche Dialogsteuerungen abgebildet werden.
Die Bedingte Instanziierung wird über die Eigenschaft Condition definiert. Diese Eigenschaft wird entweder in der Ansicht Eigenschaften oder in der Ansicht Details gesetzt. In der Detailansicht muss die entsprechende Spalte gegebenenfalls über die Feldauswahl (siehe Kapitel " Spalten hinzufügen oder entfernen") hinzugefügt werden.
![]() |
Bitte beachten Sie, dass die Spalte Conditions in den Testfall-Vorlagen nur verwendet wird, wenn Sie bei der Instanziierung Bedingungen anwenden möchten. Wenn Sie bedingte Anweisungen in Ihrem Testfall erstellen möchten, siehe Kapitel "Bedingte Anweisungen und Schleifen in Testfällen verwenden". |
Objekte, die als bedingt instanziiert gekennzeichnet sind, ändern ihr Symbol; beispielsweise Testfallordner:
Bedingungen definieren
Die Syntax für die Definition von Bedingungen ist wie folgt:
Syntax: |
<Ebene_1>.<Ebene_2>.<Ebene_n><Operator>"<Wert>" |
Bedingte Instanziierung
Syntaxdefinition
<Ebene_n> |
Name eines Attributs. Der Name des Attributs muss mit einem Buchstaben beginnen. Auch die Eigenschaften Name, Character, Position und Comment können als Attribute angegeben werden. Der jeweiligen Eigenschaft muss das Attribut Instance vorangestellt werden. Beispiel: Instance.Character!="Invalid" |
<Operator> |
Sie können die folgenden Operatoren verwenden: |
<Wert> |
Der Wert, welcher gesetzt sein muss, um die Bedingung zu erfüllen. Ist der Wert eines Attributs eine Zeichenfolge oder ein Datums-/Zeitformat, muss dieser in Anführungszeichen stehen. |
Beispiel |
Versicherungsnehmer.Person.Geschlecht="männlich" |
Folgende Funktionen stehen zusätzlich zur Verfügung.
ASFLOAT(<Ebene_n>) |
Mit dieser Funktion wird ein STRING (sofern dieser einen FLOAT-Wert enthält) oder ein INT-Wert in einen FLOAT-Wert umgewandelt. |
ASINT(<Ebene_n>) |
Mit dieser Funktion wird ein STRING (sofern dieser einen INT-Wert enthält) in einen INT-Wert umgewandelt. |
ASSTRING(<Ebene_n>) |
Mit dieser Funktion wird ein beliebiger Wert in einen STRING umgewandelt. |
Beispiel |
ASFLOAT(A) = ASFLOAT(B) |
NULL kann als Wert verwendet werden.
![]() |
Die Auswertung der Bedingung Path==NULL ist positiv, wenn der Wert von Path entweder {NULL} (explizites Null) oder ein implizites Null (grauer Hintergrund) ist. |
Sonderzeichen in Bedingungen
Alle Zeichen außer A-Z, a-z und 0-9 müssen mit einem Backslash (Escape-Zeichen) gekennzeichnet werden. Operatoren sind von dieser Regel ausgeschlossen.
Sonderzeichen in der Bedingung benötigen Escape-Zeichen, wie die folgenden Beispiele zeigen. Der Wert der Bedingung ist jedoch eine Zeichenfolge (z. B. "X") und erfordert keine zusätzlichen Escape-Zeichen.
![]() |
Product.vehicle\-insurance=="X" |
Komplexe Bedingungen mit vielen Sonderzeichen können durch Hochkomma [’] begrenzt werden. Es wird die gesamte Zeichenkette mit allen Sonderzeichen übernommen.
![]() |
'Product.vehicle-insurance'=="X" |
Enthält der Operator ein Größer- oder Kleinerzeichen (<, >, <=, >=) und einen Zahlenwert (alle natürlichen Zahlen), muss der Wert des Attributs ohne Anführungszeichen angegeben werden.
![]() |
ASINT(Alter)<17 |
Bedingungen verketten
Um mit der bedingten Instanziierung effizienter arbeiten zu können, besteht die Möglichkeit, mehrere Attribute zur Formulierung einer Bedingung zu berücksichtigen und die einzelnen Teilausdrücke über Operatoren zu verknüpfen.
Beschreibung |
Syntax |
---|---|
UND-Verknüpfung |
<Ausdruck1> && <Ausdruck2> |
ODER-Verknüpfung |
<Ausdruck1> || <Ausdruck2> |
Die einzelnen Ausdrücke werden gemäß boolescher Algebra aufgelöst (Klammernsetzung wird nicht unterstützt).
![]() |
Eine Validierung soll lediglich für männliche Personen, welche älter als/oder 18 Jahre sind, durchgeführt werden. Der Bedingungsausdruck lautet: Person.Geschlecht=="männlich" && Person.Alter>=18 |
Bedingungen per Drag & Drop zuweisen
Bedingungen können manuell definiert oder über einen Drag & Drop Vorgang zugewiesen werden. Dieser Vorgang ist auf alle Objekte möglich, die Bedingungen besitzen können.
Die Testfall-Vorlage muss mit dem TestSheet oder der Klasse, in dem sich das Objekt befindet, verbunden sein. Es können Attribute und Instanzen als Bedingung zugewiesen werden. Die Drop-Operation muss in der Spalte Bedingung des jeweiligen Objektes erfolgen.
Für Bedingungen die aus einer Instanz erstellt werden, wird immer der Operator == (ist gleich) verwendet. Dieser kann bei Bedarf manuell ausgetauscht werden.
-
Selektieren Sie das für die Bedingung relevante Objekt.
-
Halten Sie die linke Maustaste gedrückt und ziehen Sie dieses Objekt an die gewünschte Stelle im Testfall-Bereich.
-
Lassen Sie die linke Maustaste los. Im Feld Wert des Ziel-Objektes wird der Pfad zu dem gewählten TestCase-Design-Objekt angegeben.
Bedingungen per Drag & Drop zuweisen
Für bestimmte TestCase-Design-Objekte werden bei einem Drag & Drop-Vorgang folgende Standardwerte als Bedingung gesetzt:
-
Wird ein Attribut in den Testfall-Bereich gezogen, wird unter Condition standardmäßig Folgendes eingetragen:
<Attributname> != NULL
Bei der Instanziierung werden hier alle Testschritte berücksichtigt, die nicht leer sind.
-
Wird eine {NULL}-Instanz in den Testfall-Bereich gezogen, wird unter Condition standardmäßig Folgendes eingetragen:
<Attributname> == NULL
Bei der Instanziierung werden hier nur Testschritte berücksichtigt, die leer sind.
-
Wird eine {EMPTY}-Instanz in den Testfall-Bereich gezogen, wird unter Condition standardmäßig Folgendes eingetragen:
<Attributname> == ""
Bei der Instanziierung werden hier alle Testschritte berücksichtigt, die den Wert {EMPTY} besitzen.
Wiederverwendbare Testschritt-Blöcke in der Testfall-Vorlage
Existiert eine gültige Verknüpfung von einer Testschritt-Block_Referenz in einer Testfall-Vorlage zu einer Datenquelle, wird diese bei der Instanziierung in einen konkreten Testfall umgewandelt. Ist keine Verknüpfung vorhanden, bleibt die Referenz in der Vorlagen-Instanz erhalten. Nähere Informationen zu wiederverwendbaren Testschritt-Blöcken finden Sie siehe Kapitel " Testschritt-Sammlungen verwenden".