Turn your manual testers into automation experts! Request a DemoStart testRigor Free

How does Specification-Driven Development work?

  1. Product Owner creates a specification in plain English that describes how the new feature needs to function. This specification is executable on its own with no coding required.
  2. Execution of the specification must fail first, to prove it will catch situations where the feature doesn’t work.
  3. Engineers write code to create the feature and deliver it.
  4. Executable specification must run successfully to allow the feature to be promoted to production. If the run is not successful, then the feature is assigned to fixed or the specification is reviewed for correctness.

Differences with the BDD 1.0 specification are as follows:

  1. In SDD specification is executable. No need to create any test code. In BDD, it is a two-step process: first the specification is created, then test code is written to implement the specification after the feature is written.
  2. The SDD specification must be able to run and fail before the feature is delivered as in TDD-style. The is an advantage over the BDD where specifications are not executable and, therefore, it can be unclear if the feature has been implemented correctly. More over, SDD demands that the executable specification (all test code) is done before coding of the feature had started.
  3. However with SDD there is no chance of discrepancies between the specification and the test code, since the specification is executable on its own.

Example of SDD with testRigor based on the plain English support:

click "Cherry Blossom Popup Bouquet"
click "Add to cart"
click "Cart"
enter "[email protected]" into "Email"
enter "4111111111111111" into "Card"
click "Place order"
validate if page contains "order placed successfully"
check that email to "[email protected]" was delivered

Alternatively, the SDD specification can be organized in a way to leverage reusable business rules. This is similar to the way modular coded functions are reused:

purchase Product
validate if page contains "order placed successfully"
check that email to "[email protected]" was delivered

where the reusable business rule purchase Product is defined as:

click "Cherry Blossom Popup Bouquet"
click "Add to cart"
click "Cart"
enter "[email protected]" into "Email"
enter "4111111111111111" into "Card"
click "Place order"
Related Articles

Metrics for Director of Engineering

Table of contents: Productivity Metrics Quality Metrics Team Health Metrics Operational Efficiency Metrics Risk Management ...

How to compile for Android Emulator

Compiling an Android application involves several steps, from configuring a development environment and an emulator to test the ...
On our website, we utilize cookies to ensure that your browsing experience is tailored to your preferences and needs. By clicking "Accept," you agree to the use of all cookies. Learn more.
Cookie settings
Privacy Overview
This site utilizes cookies to enhance your browsing experience. Among these, essential cookies are stored on your browser as they are necessary for ...
Read more
Strictly Necessary CookiesAlways Enabled
Essential cookies are crucial for the proper functioning and security of the website.
Non-NecessaryEnabled
Cookies that are not essential for the website's functionality but are employed to gather additional data. You can choose to opt out by using this toggle switch. These cookies gather data for analytics and performance tracking purposes.
one_parallelization_public