User Story/Akzeptanzkriterien vom Typ „Inhalt anzeigen“.

Ich bin relativ neu in Bezug auf die Akzeptanzkriterien im GWT-Format und kämpfe damit, sie für die Funktionen zu schreiben, die das Überprüfen von Inhalten beinhalten. Zum Beispiel: Der Benutzer befindet sich auf der Homepage einer E-Commerce-Website und überprüft die Artikel, die auf dieser Website verkauft werden.

Meine User Story sieht so aus: Als Benutzer möchte ich die verfügbaren Produkte anzeigen, damit ich das Produkt finde, das ich kaufen möchte. Aber was ist mit Akzeptanzkriterien? Ich habe mir den „Gegebenen“ Teil (Gegeben, dass ich zur Systemhomepage navigiert bin) und den „Dann“-Teil (Dann kann ich die verfügbaren Produkte anzeigen) ausgedacht – „Wann“ ist jedoch ein Rätsel für Mich. Was ist dieser Auslöser, der den Benutzer von „Gegeben“ zu „Dann“ bewegt? Vielleicht liege ich mit „Gegeben“/„Dann“-Teilen einfach völlig falsch?

Ich habe versucht, das zu googeln, aber es scheint, als wären meine Anfragen ungeschickt oder es ist kein so großes Problem für alle anderen.

Vielen Dank im Voraus und sorry falls es schon mal gepostet wurde :)

Antworten (3)

Sie sind auf das Hauptproblem des GWT-Formats gestoßen – es ist zu ausführlich. Speziell für einfache Anforderungen. Wenn Sie wirklich bei diesem Format bleiben möchten, haben Sie hier eine Möglichkeit:

Given products are registered by administrator
When user navigates to home page
Then he sees recently added products

Wenn Sie kreativ sein dürfen, können Sie auch Abkürzungen nehmen und den gegebenen Schritt loswerden:

When user navigates to home page
Then he sees recently registered products

Givenwürden Tester eine Vorbedingung nennen, es ist nicht obligatorisch.

Wir sollten damit beginnen: Akzeptanzkriterien müssen nicht im GWT-Format vorliegen.

GWT war als Teil der verhaltensgesteuerten Entwicklung speziell dazu gedacht, erwartetes Verhalten zu beschreiben. Einige klare Beispiele dafür, wo GWT perfekt passt, könnten sein:

Given I am logged in as an authorized user 
And I have a list of products 
When I delete a product 
Then the product is no longer in the list
Given I am not logged in as a permission-limited user 
And I have a list of products 
When I delete a product 
Then the product is still in the list 
And the operation fails with an error "X"

Wenn wir jedoch nur über etwas wie Datenpräsentation sprechen, ist eine Liste mit Aufzählungszeichen der erwarteten Felder oder ein Bild einer Whiteboard-Skizze wahrscheinlich viel besser.

Das GWT-Format wurde nicht für Akzeptanzkriterien erstellt - das stimmt eigentlich nicht. Dieses Format wurde als Werkzeug für die Zusammenarbeit von BAs, QAs und Entwicklern erstellt. Siehe dannorth.net/introducing-bdd : „ Wir haben versucht, eine allgegenwärtige Sprache für den Analyseprozess selbst zu definieren ! “, und „ Die Vorlage musste locker genug sein, dass sie sich für Analysten nicht künstlich oder einschränkend anfühlt , aber dafür strukturiert genug Wir könnten die Geschichte in ihre Bestandteile zerlegen und sie automatisieren .
Vielen Dank für den Faktencheck. Ich stehe korrigiert. Ich werde meine Antwort entsprechend anpassen.
Es ist erwähnenswert, dass er in dem Artikel einige Aussagen über Akzeptanzkriterien macht, die nicht allgemein akzeptiert werden. Insbesondere stellt er fest, dass Akzeptanzkriterien ausführbar sein sollten. Da er keinen Anspruch auf den Begriff hat, hat diese Aussage nicht mehr (oder weniger) Gültigkeit als andere Experten zu dem Thema, die nicht ausführbare Akzeptanzkriterien zulassen würden.
Er bezieht sich auch auf die allgegenwärtige Sprache von DDD als Inspiration für BDD, aber BDD bietet eine allgegenwärtige Vorlage (keine Sprache). Und die ganze Idee von BDD wird auch nicht allgemein akzeptiert.. BAs, die Tonnen von zusätzlichen Zeilen schreiben, nur um Tests einfach zu automatisieren, die höchstwahrscheinlich auf der höchstmöglichen Ebene (was wiederum schlecht für die Wartbarkeit und Leistung ist) von Menschen automatisiert werden die nicht wirklich in der Lage sind, Code zu schreiben (das war nicht Teil der Ideologie, aber es hat sich so herausgestellt). Ich mag die Idee, Tests sinnvoll zu benennen, aber diese Idee hätte nicht weiter gehen dürfen.

Die Idee mit Given-When-Then ist, dass Sie Ihre Akzeptanzkriterien in winzige Teile aufteilen, die dann ausgeführt werden können. Das bedeutet eine Aktion (wann) und ein erwartetes Ergebnis (dann). Sie führen diese Aktionen und Prüfungen in einem (gegebenen) Kontext aus. In Ihrem Fall fehlt Ihnen tatsächlich der Kontext, weil Sie die Homepage laden.

Ihr Akzeptanztest sollte in etwa so aussehen:

WENN ich die Homepage lade,
DANN sollte ich die verkauften Artikel sehen

Sehen Sie sich die Erläuterungen zu dieser ähnlichen Frage an: Gegeben, wann, dann Testen – brauche ich ein „wann“?