In three days, we'll teach you everything you need to be off and running with Behaviour-Driven Development.
We'll start by teaching you the fundamental principles of BDD, and how it fits into the wider world of agile. We'll show you how to run specification workshops to explore new functionality as a collaborative activity, and show you how to express those specifications as executable Cucumber tests.
Then we'll start applying those fundamentals in practice. We'll show you how to automate your application, whether it's a Java web service, a rich AJAX web application or a Flash game. We'll explore what to do as your test suite grows in size, and prepare you for the major hurdles most teams run into as they start to adopt BDD.
What are the benefits? Why BDD teams are happy teams
Focus on value
Learn expert techniques to break down requirements into bite-size pieces. Now you can focus on shipping the stuff that matters most.
No more frantic scrabbling to a deadline. Push the risk to the front of your project so you can power over the finish line with confidence.
Protection from defects
Living documentation produced by a BDD process catches bugs before they're coded, and provides lasting protection against regressions.
BDD Fundamentals One-day workshop for anyone involved in software delivery.
Agile software development is all about feedback. Learn how BDD tightens the feedback loop by exploring new functionality without writing any code.
Nobody likes meetings, yet conversation is the heart of an agile team. Learn to facilitate a 3 amigos specification workshop that's fast and effective.
Explore how adopting BDD will change your current working practices, and make decisions about how you'll implement what you've learned.
Learn how to write specifications that not only document how your system behaves, but are guaranteed to be accurate.
BDD Applied Two-day technical workshop for developers, testers and architects.
With practical examples, we'll show you how to decide which scenarios should be expressed in business-readable tests, and which belong as unit tests, so you can avoid becoming overwhelmed by detail.
Maintainable test code
Good tests are a valuable asset, but poorly-maintained tests become a burden. We'll show you how to structure your tests so they stay fun to work with in the long run.
There are as many methods of automating an application as there are development stacks. We'll help you pick the right tool for the job, and give you a chance to practice using it while we're around to help.
Carrying Legacy Baggage?
You're probably working on existing projects rather than starting shiny new ones. We'll show you pragmatic steps to enjoy the benefits of BDD on an existing application with no test coverage.
Detailed Learning Outcomes
By the end of BDD Fundamentals, we expect delegates to have learned:
- What BDD is and why it is useful
- The relationship between test automation, refactoring, and sustainable agility
- The costs and benefits of test automation
- The benefits of developing a ubiquitous language for their project
- The difference between user stories, acceptance criteria, and scenarios
- Lead a "3 amigos" discovery workshop to discover scenarios for a user story
- The role of testers, developers and project managers on a BDD team
- The Gherkin syntax for test automation in Cucumber / SpecFlow
- The structure of a Cucumber test suite
By the end of BDD Applied, we expect delegates to have learned:
- Why scenarios must not leak state
- To set up a simple project in Cucumber
- The trade offs between scenarios written at different levels of abstraction.
- To refactor and improve scenarios written in an unmaintainable style
- To structure a test suite for long-term maintainability
- Test web applications using Capybara or Coypu with Selenium Webdriver
- To apply the techniques to their own project