Beliebte Suchanfragen

Cloud Native

DevOps

IT-Security

Agile Methoden

Java

//

Kleine Grammatik zum Schreiben von ausführbaren Spezifikationen auf Deutsch

16.5.2010 | 3 Minuten Lesezeit

Vor einigen Tagen hatte ich schon beschrieben, dass es mit dem Robot Framework grundsätzlich möglich ist, die ausführbare Spezifikationen auch auf Deutsch zu schreiben . Im Gegensatz zum Englischen, gibt es im Deutschen aber ein paar Details zu beachten:

Eine ausführbare Spezifikation gliedert sich in drei Abschnitte:

  1. „Given“: Der erste Abschnitt beschreibt eine Ausgangssituation
  2. „When“: Wenn in dieser Situation ein bestimmtes Ereigniss eintritt
  3. „Then“: Dann ist das Ergebnis die gewünschte Zielsituation

Pro Test gibt es nur einen „Given“-Abschnitt, einen „When“-Abschnitt und einen „Then“-Abschnitt. Jeder Abschnitt kann aber aus mehreren Zeilen bestehen, die dann aber nicht mehr mit „Given“, „When“ und „Then“ anfangen, sondern jeweils mit „And“ – jedenfalls im Englischen.

Zur automatisierung der Tests wird das Robot Framework verwendet. Robot hat die Eigenschaft bestimmt Prefixes von Keywords ignorieren zu können. Im englischen Sprachgebrauch eignen sich dafür eben genau die Worte „Given“, „When“, „Then“ und „And“. Dies soll dazu dienen, die Keywords unabhängig vom jeweiligen Kontext wiederverwenden zu können, hier ein Beispiel anhand des Keywords „the user proceeds to checkout“:

1Test 1:
2   Given ...
3   When the user proceeds to checkout
4   Then ...
5 
6Test 2:
7 
8   Given ...
9   When the user confirms some dialog
10   And the user proceeds to checkout
11   Then ...

Da die Tests allerdings auf Deutsch geschrieben werden, und die deutsche Grammatik sich leider nicht ganz so einfach handhaben lässt, wie die englische, sind ein paar weitere Regeln notwendig, um Keywords sowohl mit dem „Given“ als auch mit dem „And“ Prefix benutzen zu können:

1. Abschnitt: „Given“

Beschreibt einen Zustand. Es ist nebensächlich durch welche Operationen oder Maßnahmen dieser Zustand herbeigeführt wurde. Deshalb beschreibt das Keyword nur ein Subjekt oder eine Situation.
Prefixes, die äquivalent zu behandeln sind:

Gegeben sei
Es existiert …
[Und] Außerdem …
[Und] Weiterhin …
[Und] Ebenso …
[Und] Dazu …
Und auch …

Beispiele:
Es existiert eine Produktseite für Leben
Es existiert eine Produktseite für Haftpflicht

Statt: Sei eine Lebenssituation ${LS} ausgewählt worden
Besser: Gegeben sei eine ausgewählte Lebenssituation ${LS}

Statt: Und für kein Risiko erscheint ein Preis von 0 €
Besser: Und auch ein Preis ungleich 0 € für alle Risiken

Statt: Und es ist kein Produkt oder Risiko empfohlen
Besser: Und außerdem keine Empfehlungen für ein Produkt oder Risiko

Statt: Und die Rechenblöcke sind mit den Werten aus dem Defaultprofil vorbelegt
Besser: Ebenso eine Vorbelegung der Rechenblöcke mit Werten aus dem Defaultprofil

Statt: Und für die @{Risiken} sind die Preise berechnet
Besser: Dazu berechnete Preise für die @{Risiken}

2. Abschnitt „When“

Es passiert etwas! Kein „ist“, sondern „wird“. Dieser Abschnitt sollte so kurz wie möglich sein, da ausführbare Spezifikationen kein Testskript sind, sondern Geschäftslogik und -Regeln prüfen.
Prefixes, die äquivalent zu behandeln sind:

Wenn
Wenn
Und dann …
Und danach …

Beispiele:
Wenn der Benutzer auf die Produktseite Haftpflicht wechselt
Wenn die Berechnung erneut durchgeführt wird
Wenn im Feld Geburtsdatum der Wert ${Geburtsdatum} eingegeben wird
Und dann im Feld ${Feld} der Wert ${Wert} eingegeben wird
Wenn die ${wievielte} Seite betrachtet wird

Statt: Wenn das Risiko Gewässerhaftpflicht aufgeklappt ist
Besser: Wenn das Risiko Gewässerhaftpflicht aufgeklappt wird

3. Abschnitt „Then“

Beschreibung des gewünschten Zielzustandes.
Prefixes, die äquivalent zu behandeln sind:

Dann <2. Teil des Prädikats>
Dann
Und es …

Beispiele Passiv:
Dann wird der ${Fehler} angezeigt
Dann wird ${einKein} Fehler ${Fehler} angezeigt
Dann wird ${einKein} Fehler ${Fehler} angezeigt
Dann werden die @{Risiken} mit ${Gewichtung} empfohlen
Und es ist das ${Produkt} mit ${Gewicht} empfohlen

Beispiele Aktiv:
Dann sind genau die Produkte @{Produkte} ausgegraut
Dann ist der Link „Weiter“ im ${Zustand}
Dann enthalten die Rechenblöcke die gleichen Werte
Dann befindet sich der ${Fehler} bei ${Ort}
Und es erscheinen keine Validierungsfehler
Dann haben sich die Preise nicht geändert

Robot’s Resource

Das hier ist die Robot Resource Datei, welche die oben beschriebenen Prefixes ignoriert. Mit der kleinen Grammatik sollte es nun auch auf Deutsch sehr einfach sein, ausführbare Spezifikationen zu schreiben.

1*** Settings ***
2 
3 
4*** Keywords ***
5Gegeben sei ${keyword}
6    Run Keyword  ${keyword}
7 
8Es existiert ${keyword}
9    Run Keyword  ${keyword}
10 
11Und außerdem ${keyword}
12    Run Keyword  ${keyword}
13 
14Und weiterhin ${keyword}
15    Run Keyword  ${keyword}
16 
17Und ebenso ${keyword}
18    Run Keyword  ${keyword}
19 
20Und dazu ${keyword}
21    Run Keyword  ${keyword}
22 
23Außerdem ${keyword}
24    Run Keyword  ${keyword}
25 
26Weiterhin ${keyword}
27    Run Keyword  ${keyword}
28 
29Ebenso ${keyword}
30    Run Keyword  ${keyword}
31 
32Dazu ${keyword}
33    Run Keyword  ${keyword}
34 
35Und auch ${keyword}
36    Run Keyword  ${keyword}
37 
38Wenn ${keyword}
39    Run Keyword  ${keyword}
40 
41Und dann ${keyword}
42    Run Keyword  ${keyword}
43 
44Und danach ${keyword}
45    Run Keyword  ${keyword}
46 
47Dann ${keyword}
48    Run Keyword  ${keyword}
49 
50Und es ${keyword}
51    Run Keyword  ${keyword}

Beitrag teilen

Gefällt mir

0

//

Weitere Artikel in diesem Themenbereich

Entdecke spannende weiterführende Themen und lass dich von der codecentric Welt inspirieren.

//

Gemeinsam bessere Projekte umsetzen.

Wir helfen deinem Unternehmen.

Du stehst vor einer großen IT-Herausforderung? Wir sorgen für eine maßgeschneiderte Unterstützung. Informiere dich jetzt.

Hilf uns, noch besser zu werden.

Wir sind immer auf der Suche nach neuen Talenten. Auch für dich ist die passende Stelle dabei.