What's In This Course?

Learn how to specify ideas for new software and features in ways that are more understandable.

Replace expensive manual testing with high-level, automated Acceptance Testing that is stable and resilient to changes to the system or environment.

Dave Farley shares his expertise, and demonstrates techniques from complex projects (widely seen as world-class examples) of the practices to write “Acceptance Tests” in the form of “Executable Specifications”.

NEW for 2025! Bonus Chapter - "Acceptance Testing as Programming Language for AI". Learn how well-written Acceptance Tests, using a DSL approach, can significantly improve AI-generated code.

  • Why Acceptance Test? and What tools and techniques are effective?

  • How to avoid tests that are difficult, fragile, slow and prone to intermittent failure

  • Capturing & Translating Requirements

  • Scope & Properties of Good Acceptance Tests

  • Practical Exercises in Writing Specifications and Story-Mapping

  • Managing Test Isolation, Intermittency and Asynchrony

  • Using Acceptance Testing as a precise language to write prompts

  • How to verify the AI-generated code with Acceptance Tests

  • Test Strategy; how to build effective, efficient test cases in complex systems.

Learn from the Expert

Dave Farley, one of the pioneers of Acceptance Testing, shares his Expertise, Teachings and Advice with YOU in Video Lessons, Worksheets and Demos, to Study at Your Convenience.

For Less Than 40% of the Price (compared to Dave’s in-person training events).

Course Objectives:

* Learn tools and techniques to analyse problems in a way that helps to determine which product features to develop.
* Practise effective story-writing using a combination of “Story Mapping” and “Specification by Example” techniques.
* Know how to create and use a “Domain Specific Language” to support the creation and maintenance of “Executable Specifications”.
*Build Acceptance Tests, as Executable Specifications, that are not compromised by changes in the system under test.
*Learn how to build effective, efficient test cases in complex systems.
*Understand how well-written Acceptance Tests, using a DSL approach, can significantly improve AI-generated code.

Course curriculum

    1. Welcome! from Dave Farley

    2. About This Course

    3. My Learning Objectives

    1. Why Acceptance Test?

    2. What is Acceptance Testing

    3. Teamwork & Communications

    4. BDD - Defining the Behaviour of the System

    5. Exercise 1 - Specifications Without Implementation Detail

    6. BDD - It's All About Behaviour

    7. Event Storming - Understanding Your Problem

    8. Capturing & Translating Requirements

    9. Story-Mapping - Organising Requirements

    10. Exercise 2 - Story Mapping

    11. Specification by Example

    12. The Language of Exec Specs

    13. Review Your Learning - 1. Executable Specifications

    1. Test First

    2. Properties of Good Acceptance Tests

    3. Acceptance Tests & BDD

    4. Exercise 3 - Finding Stories and Examples

    5. Exercise 3 (Answers) - Finding Stories and Examples

    6. Exercise 4 - Thinking not Coding

    7. Real World Worked Example - Part 1 - Finding Stories

    8. Real World Example - Part 2 - Stories to Examples

    9. Review Your Learning - 2. Effective Tests

    1. Building a DSL for Testing

    2. Managing Test Isolation

    3. Protocol Drivers & Stubs

    4. Testing Time

    5. The Four Layer Model

    6. Dealing With Intermittent Tests

    7. Using the Four Layer Model in Cucumber & SpecFlow

    8. Review Your Learning - 3. Test Infrastructure

    1. Acceptance Testing as a Programming Language

    2. Exercise 5 (Demo) - Programming with AI & Acceptance Tests

    3. Exercise 5 - Programming with AI & Acceptance Tests

    1. The Scope of Acceptance Tests

    2. Effective Test Strategy

    3. Review Your Learning - 4. Test Strategy

About this course

  • £599.00
  • 42 lessons
  • 5.5 hours of video content

Interested in a Group Booking?

Our "Acceptance Testing: BDD From Stories to Executable Specifications" Course is available to book for a Team, or Group of students.

Contact Us -  [email protected]  
to discuss Your Requirements and Get a Quote.


What Our Customers Say

  • This amazing course is „customer focus in a box“!

    "The ATDD & BDD course is just amazing! Never saw the topic being conveyed that clear and actionable. Feels like a starter kit we have been missing for quite some time." - Christian Gesell

  • The absolute foundation of software engineering!

    “If you want to learn how to build software, you should stop everything, forget anything you thought you knew about software engineering, and (re)start your training with this course.” - Panagiotis Badredin

  • The Future of Programming

    "I think this is the best way to use AI for programming at the moment... the prompt is way more precise than natural language, and it's obvious how to verify if the generated code works" - @lucasbranisso6185

  • Extremely Useful.

    “I've been a testing nerd since 2006, but I confess acceptance testing has been my biggest gap. This course really helped close that gap tight.” - Eddie Bush

  • Transformational!

    “This course has deeply changed not only the way I see testing but the way I see software development as a whole, starting from requirements gathering to delivering and maintaining production software. I highly recommend it!" - Francesc Castells

  • Fantastic!

    “This course was extremely thorough. It offered varying approaches to UAT testing encouraging more expansive and creative ways to conceptualize and apply testing methodologies to garner more accurate results. I learned a great deal from this information.” - Rikki Gillum


Instructor

Founder of Continuous Delivery Ltd. Dave Farley

Dave Farley, is the managing director and founder of Continuous Delivery Ltd. Dave is co-author of the best-selling books - "Continuous Delivery" and "Modern Software Engineering" describing a coherent, foundational and durable approach to effective software development, for programmers, managers and technical leads, at all levels of experience. He is one of the authors of the Reactive Manifesto and a winner of the Duke Award for the open source LMAX Disruptor project. Dave is a pioneer of Continuous Delivery, thought-leader and expert practitioner in CD, DevOps, TDD and software design, and has a long track record in creating high-performance teams, shaping organisations for success, and creating outstanding software. Dave is committed to sharing his experience and techniques with software developers around the world, helping them to improve the design, quality and reliability of their software, by sharing his expertise through his consultancy, YouTube channel, books and training courses.