Generating Code Behind Files using MSBuild

Since SpecFlow 1.9, your can generate the code-behind files for feature files (*.feature.cs) at compile time. To do so, you need to use a MSBuild Task. The documentation is here. Pros Feature files and code-behind files are always in sync No need to check the feature.cs files into your source control system Works without Visual Studio… Continue reading Generating Code Behind Files using MSBuild

BDD: Before You Begin (Part 2/2)

If you’re a programmer starting to practise BDD, then you probably felt the impulse to dive straight into the various technology tools. If you follow this impulse, then you risk missing out on the single most powerful benefit of BDD: greater shared understanding of the features. I encourage you to start somewhere else. Before you change… Continue reading BDD: Before You Begin (Part 2/2)
Published
Categorised as BDD

Set up Preconditions: Background, Scenario Outline, or Hooks

Instead of the answer to the last week’s challenge, this week we’ll go a bit deeper into a recurring topic: setting up common preconditions. Related scenarios often have a similar starting point. In the previous challenge, the shopping cart examples required a registered user. Repeating common set-up steps is rarely a good idea. It makes individual… Continue reading Set up Preconditions: Background, Scenario Outline, or Hooks

BDD Living Documentation | Working with BDD Remote: Part 3

In the article series so far we have seen how to get a better understanding of the requirements using examples in a remote environment and how to formulate these into BDD scenarios online. We also mentioned that the documentation we produced this way is a living documentation, because the scenario execution results can immediately alert when there is… Continue reading BDD Living Documentation | Working with BDD Remote: Part 3
Published
Categorised as BDD

Given-When-Then beyond features

Instead of posting a solution to the current topic, this week I’ll describe how to overcome some limitations of Given-When-Then tools, and when it’s OK to break the rules. (During the summer period, the challenges run every two weeks, to give you more time to respond.) Early executable specification tools did not impose a lot of structure.… Continue reading Given-When-Then beyond features
Published
Categorised as Gherkin

Highlight your Parameter List for Readability

In order for Given-When-Then scenarios to facilitate good discussions, variables must be easy to spot. Unless people can tell easily if some phrase or word might change, they will not be able to ask good questions. In this article, I’ll show you four easy ways to make parameters more prominent. Let’s start with a quick… Continue reading Highlight your Parameter List for Readability
Published
Categorised as Gherkin

Working with BDD Remote Part 1: Collect Examples Online

Even as we slowly open offices, remote work remains the norm. The sudden shift to remote work clearly exposed the importance – and challenges – of remote collaboration. Now that a few months of experience has helped us understand the scope of the challenge, it is a great time to consider how we can use… Continue reading Working with BDD Remote Part 1: Collect Examples Online
Published
Categorised as BDD

Challenges for Black Box Testing and how to solve them

Black Box Testing is always more complicated than if you have full control over the application to test. But for all these challenges, there are solutions available. Some of them are easy, some of them a little bit more complicated. I talked a lot about these challenges in my last stream, where I wrote Integration… Continue reading Challenges for Black Box Testing and how to solve them

The advantages of extending your shared language to your application code

As you probably know, one of the main benefits of adopting Behavior Driven Development as a team is the creation of a shared understanding of what the software you’re building will behave like. This involves actively discussing the intended behavior of the feature to build or bug to fix, using three amigos sessions and techniques like Specification… Continue reading The advantages of extending your shared language to your application code
Published
Categorised as BDD

How Approval Testing can support Behavior Driven Development

Approval Testing is well known as a good approach for getting Legacy Code under control. Did you know it can also be used in new development as part of a BDD process? 4 in a row I expect you’ve played this game “4 in a row”? The board is a vertical grid and players take… Continue reading How Approval Testing can support Behavior Driven Development