3 Stimmen

Akzeptanzkriterien (und andere Dinge) für eine BDD-Story

Wir haben eine Workflow-Engine, die eine Liste der verfügbaren Workflows (ich meine Workflow-Definitionen, nicht Instanzen) und Benutzer können auf den Link "Ausführen" neben einem beliebigen Workflow klicken, um, na ja, eine neue Instanz dieses Workflows auszuführen. Ich möchte diese "einen Workflow ausführen" Geschichte (Feature?) in der BDD-Weise zu tun.

    Story: execute a workflow
    Scenario: execute a workflow by clicking on execute link in workflow list and nothing goes wrong
    Given I am a user with sufficient rights
    And I have added a workflow called "wf"
    When I click on the execute link next to "wf" in the workflows list
    When I view the list of workflow executions
    Then the output is:
"""
    1 | wf1 | not started
"""

(1. Spalte: Artikelnummer, 2.: Name des Arbeitsablaufs, 3.: Staat)

Irgendwie habe ich das Gefühl, dass dies eher ein Durcheinander als ein gut durchdachtes DBB-Szenario ist, und ich bin besonders besorgt über die Annahmekriterien. Mein Geist ist nicht klar, wie genau ich etwas grobkörnig und Benutzer-gekoppelt wie "Ausführen eines Workflows" nähern sollte. Ich meine, wenn es sich um eine API handelt, ist alles klar, aber was ist, wenn man ein Verhalten beschreibt, das durch eine (menschliche) Benutzerinteraktion ausgelöst wird und dessen Ergebnis durch die Auslösung eines anderen Anwendungsfalls mit komplexer Ausgabe (z. B. einer Liste von Elementen) ersichtlich ist. Das Kriterium, um zu wissen, dass der Workflow tatsächlich ausgeführt wurde, ist die Anzeige eines neuen Elements in der Liste der Workflow-Ausführungen, was eine andere Geschichte für sich ist. Ich fühle mich hier irgendwie verwirrt.

Soll ich mit der Datenbankebene sprechen und nach der Zeile suchen, in der die neu erstellte Workflow-Instanz gespeichert ist, oder soll ich prüfen, ob das Element, das auf die neue Instanz verweist, in der Liste der Workflow-Ausführungen vorhanden ist? Wenn zweiteres, dann wie genau? Soll ich alle Spalten mit korrekten Werten in einem Szenario oder jede Spalte in einem eigenen Szenario prüfen?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X