Primary Logo

The AI Skills Gap Is Real. We Can Close It.:

Our dedicated AI training team offers role-based courses and workshops for executives, engineers, and teams. From half-day essentials to 12-week programs. Explore our AI courses to get started.

Technical

Acceptance & Test-Driven Development (A-TDD)

This three-day instructor-led course simulates true agile development by mapping user stories to acceptance tests to test-first unit tests through realistic examples and exercises.type: embedded-entry-inline id: 49O0fFNWLXWXEEU1Z4p3QJ

Full course description

Loading classes…

Acceptance & Test-Driven Development (A-TDD) Course Details

As a group, the class will start by specifying acceptance criteria for a given set of functionality. These will be translated into acceptance tests that can be automated with tools such as FitNesse or Cucumber. These tests will of course fail at first, which will task the participants, in pairs, to define the system interface specifications in the form of unit tests. This will extract the development of the interface and all subsequent code and design until all unit tests and acceptance tests pass.

A-TDD Learning Outcomes

  • Extract acceptance criteria from a set of features

  • Use an acceptance testing tool

  • Use a unit testing tool

  • Structure tests with four distinct phases: Setup, Exercise, Verify, Teardown

  • Develop code using the TDD cycle: Red, Green, Refactor

  • Use a code coverage tool

  • Strike a comfortable balance between unit and acceptance testing

  • Identify the limitations of unit and acceptance testing

  • Differentiate between Test-Driven Development and Behavior-Driven Development

  • Design good unit tests that are independent and fast

  • Separate unit testing from integration testing

  • Use dummies, stubs, fakes, and mocks as appropriate to achieve test isolation and repeatability

  • Leverage TDD to build robust object designs

  • Detect suspicious code (smells)

  • Apply techniques for refactoring code

  • Recognize when and how to test existing code (legacy code, untested code)

Who Is the A-TDD Course For?

Object-oriented programmers interested in learning more about agile development methods and best practices.