BDD dispose de fonctionnalités, dois-je faire une nouvelle histoire ou il appartient dans un scénario?
-
29-09-2019 - |
Question
Ok donc je viens juste de commencer à essayer d'utiliser BDD pour un nouveau développement que nous faisons et j'ai écrit une histoire comme celui-ci pour une fonction visionneuse de journal:
Histoire: flux journaux d'exécution critiques de l'utilisateur
As a user
I want to review the log of rules execution
So that I can examine the results and make adjustments/fixes to the rules definitions
avec des scénarios qui va avec, quelque chose comme étant donné que l'utilisateur dispose des droits de sécurité propres à la visionneuse de journal quand il clique sur la vue journal alors il est autorisé à accéder au spectateur journal
Maintenant, je sais que nous devons trouver un moyen de trier et filtrer le journal. Est-ce censé être une toute autre histoire, comme ça?
Story: User filters the execution logs
As a user
I want to filter the log entries by selecting categories
so that I can view only log entries matching the category I selected
Ou encore plus caractéristique « simple » appartient dans un scénario de la première histoire? comme ça ...
Scénario 2:
Given the user is looking at the log entries
When a category is selected
Then only the log entries matching the categories are displayed
Je comprends cela pourrait être difficile de répondre car il n'y a probablement pas un droit façon de faire, mais je suis encore un peu confus sur la façon dont ce genre de choses devrait être divisé.
La solution
« En tant ... Je veux ... Alors que ... » on se réfère normalement comme le récit de l'histoire. S'il vous plaît jeter un coup d'oeil au modèle de fonction Injection: « Pour ... En tant que ... Je veux » - mettre l'objectif premier a des effets intéressants
Il y a souvent plus d'un scénario associé à l'histoire. Un scénario est un exemple de la façon dont un utilisateur d'un système peut vouloir l'utiliser. Les scénarios sont là pour nous permettre d'avoir des conversations avec nos parties prenantes:
« Alors, étant donné que je n'ai 20 $ dans mon compte, quand je demande 50 $, alors il devrait me dire que je n'ai pas assez d'argent? »
"Oui, sauf si vous avez un découvert bancaire."
Lorsque nous les écrivons avec des outils BDD ou un cadre d'essai, nous obtenons des tests d'acceptation comme un merveilleux sous-produit de ces conversations!
Vous pouvez trouver plus d'informations sur BDD ici:
http://en.wikipedia.org/wiki/Behavior_driven_development
et ici:
http://www.infoq.com/articles/pulling-power
Transparence:. Je l'ai écrit plus de la première et je suis l'auteur du second, donc tout ce qui est pas clair est de ma faute