Testing Processes Using BDD
Using Behat to define test scenario
Integrated into Omni-Flow
Sample Output
Sample Report for Buy Used Car:
As seen above, Omni-Flow provides various functions allowing designer to right test scenario in simple plain English.
At end of every Scenario Omni-Flow generates a full report to describe the Case state.
Demonstrating the flow of the process as well as the Case data
Below is the actual test for this example:
# features/Buy Used Car.feature
Feature: Buy Used Car
Testing Buy Car
Scenario: Buy Used Car
Given I am logged in as an “User” Role
Then I should find a process named “Buy Used Car”
When I Start Process “Buy Used Car”
Then I find a Task named “Buy Used Car.Buy Car” with Status “Started” for this Case
When I execute this Task with Data:
|NeedsRepairs| NeedsCleaning | _complete |
|Yes|Yes|on|
Then the Case has the values:
|NeedsRepairs| NeedsCleaning |
|Yes|Yes|
Then I find a Task named “Buy Used Car.Repair Car” with Status “Started” for this Case
When I execute this Task with Data:
| _complete |
| on|
Then I find a Task named “Buy Used Car.Clean Car” with Status “Started” for this Case
When I execute this Task with Data:
| _complete |
| on |
Then I find a Task named “Buy Used Car.Drive Car” with Status “Started” for this Case
When I execute this Task with Data:
| |
| |
Then I find a Task named “Buy Used Car.Drive Car” with Status “Updated” for this Case
When I execute this Task with Data:
| _complete |
| on |
Scenario: Buy Used Car Just cleaning
Given I am logged in as an “User” Role
# Then I Reset Case Data
Then I should find a process named “Buy Used Car”
When I Start Process “Buy Used Car”
Then I find a Task named “Buy Used Car.Buy Car” with Status “Started” for this Case
When I execute this Task with Data:
|NeedsRepairs| NeedsCleaning | _complete |
|No | Yes | on|
Then the Case has the values:
|NeedsRepairs| NeedsCleaning |
|No | Yes |
Then I find a Task named “Buy Used Car.Clean Car” with Status “Started” for this Case
When I execute this Task with Data:
| _complete |
| on |
Also a log file is generated for any further debugging purposes.
Here is some of the syntax available for use:
I am logged in as an “” Role
I am logged in as User “” and “” Role
I am logged in as User “”
my Role is “”
I am in a directory “”
I have a file named “”
I expect an error message “”
I Start Process “”
start process named “”
I Import a process named “”
I run “”
I should get:
I find a Case where:
I should find a process named “”
I Reset Case Data
I Reset All Data
I should not find a process named “”
I find any Task named “” with Status “”
I find a Task named “” with Status “” for this Case
I find a Task named “” with Status “”
I execute this Task
I execute this Task with Data:
this Task has a status of “”
I send Message “”
I execute Event “” for Process “”
I execute Event “” for this Case
the Case has the values:
I get an output of:
I execute the script for this Case: