Reqnroll is a project management tool and the successor to SpecFlow. It uses Gherkin to write test cases in natural languages and supports more than 70 languages. In addition to English, the Gherkin format supports many other languages such as German, Spanish, and French. To avoid communication errors caused by translations, it is recommended to keep specifications and acceptance test descriptions in the language of the respective domain.
Reqnroll uses Cucumber Expressions as the default method for linking step definitions with steps.
Free and Open-Source BDD-Framework for .NET
Benefits for Everyone
Reqnroll facilitates test automation by making it a team effort, allowing every team member to use their skills more effectively.
Help Your Team Fill the Gaps When Defining Requirements
Using BDD to specify acceptance criteria helps you quickly identify hidden details and ensures that everyone interprets them the same way.
A Common Language Understood by All Parties
Different team members with unique viewpoints can complicate a topic. Using Gherkin helps establish a common understanding for the entire team.
BDD (Behavior-Driven Development)
In software engineering, behavior-driven development (BDD) is a software development process that encourages collaboration among developers, quality assurance experts, and customer representatives on a software project.
3 Parts
Part 1
Developer
Focus on coding – understanding the needs of stakeholders.
Tester
Focus on writing tests in natural language instead of creating complex test codes.
Reqnroll transforms Gherkin scenarios into automated tests and helps teams link automation with functional files, making it easier to share the resulting examples.
Product Owner
More effective collaboration with your team.
Part 2
Formulation
Formulation is the process of converting key examples from discovery into formal documentation, such as easy-to-read Gherkin scenarios.
Part 3
Automation
Automation involves transforming formalized scenarios into automated acceptance tests. These tests significantly reduce the effort required for regression testing and provide immediate feedback when system behavior no longer matches its specification documentation.
Developers implement step definitions.
Simple Example
Test files are called "feature" files and contain individual scenarios (1-N), see below.
Feature file “Calculator.feature” (created by tester, product owner, developer)
Feature: Calculator
Simple calculator for adding two numbers
@CalculatorXGherkin
Scenario: Add two numbers
Given the first number is 50
And the second number is 70
When the two numbers are added
Then the result should be 120
Scenario: Add two numbers 2
Given the first number is 10
And the second number is 10
When the two numbers are added
Then the result should be 20
Step definitions (created by developer)
using NUnit.Framework;
namespace CalculatorXGherkin.StepDefinitions
{
[Binding]
public sealed class CalculatorStepDefinitions
{
int? firstNumber = null;
int? secondNumber = null;
[Given("the first number is {int}")]
public void GivenTheFirstNumberIs(int number)
{
firstNumber = number;
}
[Given("the second number is {int}")]
public void GivenTheSecondNumberIs(int number)
{
secondNumber = number;
}
[When("the two numbers are added")]
public void WhenTheTwoNumbersAreAdded()
{
Assert.That(firstNumber, Is.Not.Null);
Assert.That(secondNumber, Is.Not.Null);
}
[Then("the result should be {int}")]
public void ThenTheResultShouldBe(int result)
{
if (firstNumber + secondNumber != result)
{
throw new Exception($"Expected {result} but got {firstNumber + secondNumber}");
Reqnroll can also be utilized for testing web applications. We implement steps (step definitions) for buttons, dropdown lists, etc. For example, in a React project, we use a special attribute “data-testid” to identify the tested item.
Jiří VeselýI started my professional career as a custom software developer. After a few years, I moved into software testing, where I can fully leverage my curiosity, analytical mindset, and drive to find ways to improve quality.
Get the latest updates from the world of Edhouse – news, events, and current software and hardware trends.
Thank you for your interest in subscribing to our newsletter! To complete your registration you need to confirm your subscription. We have just sent you a confirmation link to the email address you provided. Please click on this link to complete your registration. If you do not find the email, please check your spam or "Promotions" folder.