BDD and C# automation with SpecFlow

SpecFlow is a tool that is used in many a C#-based test automation solution nowadays. Having experience in working with SpecFlow is therefore a valuable addition to the skill set of any tester and developer.

Even more important is the knowledge of what SpecFlow can and cannot do for you, and how to use it in the most efficient and effective manner. And that’s exactly what this course will teach you!

Course contents
This course covers, among other things:

  • Why SpecFlow can be a useful addition to your automation efforts, even if you’re not following BDD
  • When using SpecFlow might not be the best idea
  • Setting up SpecFlow for your automation project
  • Writing features and scenarios
  • Creating step definitions
  • Mapping steps to step definitions using regular expressions
  • Cleaning up your scenarios and code using Background and Scenario Outlines
  • Using hooks
  • Using ScenarioContext and FeatureContext
  • Combining SpecFlow and automation at the API level with RESTSharp
  • Combining SpecFlow and automation at the UI level with Selenium WebDriver
  • Reporting options

There’s no better way to learn than by doing, so you’ll be presented with a variety of hands-on (programming) exercises throughout this course.

Intended audience and prerequisite knowledge
This course is aimed at testing practitioners that want to learn more about using SpecFlow as part of their C# automation code, and to make sure that they get the most out of doing so. Some previous exposure to object-oriented software development and test automation will make it easier for you to follow along.

Delivery and group size
I currently offer this course in person, on site only. The maximum group size is 12.

This course takes one working day.

If you would like to book me to teach this course in your organization, or if you have any additional questions, please send an email to or use the contact form on this page.

For an overview of all training courses I have on offer, please visit the main training page.