Page History
...
Gherkin is mainly used in BDD (behaviourbehavior-driven development) context. However, please note that Gherkin and BDD are two different things: you may use Gherkin to describe your test scenarios and still not follow BDD.
...
Having this understanding in mind will help to depict "behavioursbehaviors" that the system must address; these are the actual acceptance criteria, which are described in scenarios using a “ubiquitous language”, as Dan North states. Gherkin can be used to provide the foundations of this language.
...
- creation/edition of Scenario, Scenario Outline and Background entities
- validation with Cucumber (in different languages), Behave and SpecFlow
- bulk import/update based on .feature files using the REST API and/or one of the available CI plugins
- export of .feature files containing Scenario, Scenario Outline and Background based on the respective Tests and Pre-Conditions through the UI, REST API and/or one of the available CI plugins
...
"""
(Doc Strings)|
(Data Tables)@
(Tags), during the .feature export process based on the labels assigned to Test issues (e.g. Scenarios/Scenario Outlines) or during the import process#
(Comments)
...
Note that Cucumber steps and related code may, in fact, be implemented before the first step, or may not even be needed to be implemented for a given Test if all the sentences are already implemented as code.
Info | ||
---|---|---|
| ||
See Automated Tests (Import/Export) Generate Cucumber Features for more information on how Cucumber feature files are generated and how to import back results to Xray. |
Pure VCS based workflow
In this workflow, the features are being "managed" in the source code VCS (versioning control system). This means that users will be editing features elsewhere, other than Jira, and they will want to synchronize the scenarios contained within those features to Jira. Therefore the master of information will be Git, SVN or whatever VCS is being used.
...
Gliffy Diagram | ||||
---|---|---|---|---|
|
- Create Cucumber tests (e.g. Scenario/Scenario Outlines) and their respective step code in some other tool.
- add an unique tag to each Scenario/Scenario outline, in the form of "@id:xxx", in which xxx is a number (e.g. 1, 2, 3, ...)
- Import existing Cucumber tests using the REST API (e.g., from an existing code base which may have tests, and their corresponding step implementation)
- Export Cucumber features from Jira to the CI environment, using the REST API or the Jenkins/Bamboo plugins. It is crucial to use these exported features instead of the ones from the VCS, since the features exported from JIRA will contain additional tags that will allow several things, including the ability to correctly report the results to back to the correct entities in Jira, afterwards.
- Execute tests in the CI environment.
- Report results to Xray, using the REST API or the Jenkins/Bamboo plugins.
- Repeat from step 1 onwards.
...
Gliffy Diagram | ||||
---|---|---|---|---|
|
- Create Cucumber tests (e.g., Scenario/Scenario Outlines) and their respective step code in some other tool.
- Import existing Cucumber tests using the REST API (e.g., from an existing code base which may have tests, and their corresponding step implementation)
- Optionally, and in parallel,
- Specify additional or edit existing Cucumber tests in natural language, in Jira.
- Implement remaining tests in code and commit them to the source code versioning system.
- Export Cucumber features from Jira to the CI environment, using the REST API or the Jenkins/Bamboo plugins.
- Execute tests in the CI environment.
- Report results to Xray, using the REST API (or CI plugins, if available).
- Repeat from step 3 onwards.
Info | ||
---|---|---|
| ||
See Automated Tests (Import/Export) Generate Cucumber Features for more information on how Cucumber feature files are generated and how to import back results to Xray. |
...