-
Notifications
You must be signed in to change notification settings - Fork 0
Feature Behaviour Documentation | Gherkin Style User Stories
Fionna Chan edited this page Oct 9, 2020
·
6 revisions
As our app is growing in size and complexity, it is easy to lose track of how each feature should exactly behave.
In order to reduce regression bugs, and to communicate feature requirement across teams, this is a WIP documentation of user stories written in Gherkin syntax.
The main benefit of using the Gherkin syntax is that we can implement the BDD tests according to the requirements easily.
Feature: As a user I want to sign in so I can see my marketing campaigns
Scenario: User supplies correct user name and password
Given that I am on the sign-in page
When I enter my user name and password correctly
And click ‘Sign In’
Then I am taken to the dashboard
Scenario: User does NOT supply correct user name and password
Given that I am on the sign-in page
When I enter my user name and password incorrectly
and click ‘Sign In’
Then I see an error message ‘Sorry, incorrect user name or password.’
Feature: As a user I am on the Experiment Page viewing a Running Experiment
Policy Chart
Given the experiment is at [Running] status
When the policy chart gets updated
Then the policy chart must have more than one policy line (semi-transparent)
And there must be one "best policy" line in dark blue (solid color)
Simulation Metric Value
Given the experiment is at [Running] status
When the simulation metric value gets updated
Then the simulation metric value must not change drastically (e.g. changing from 76 to 71 seems normal, however it should not change from 200 to 20 after 1 new iteration)
And the simulation metric value should not flash (e.g. previously showing 215, after receiving update it became 16, then after a few seconds it became 180)
Sparklines
Given the experiment is at [Running] status
When the sparklines gets updated
Then the sparkline must not change its shape completely (i.e. as long as the best policy is the same, the data points for previous iterations should not change)
TO BE CONTINUED