Test Driven Development – Deep Dive Workshop

By now Test-Driven Development (TDD) is a well-known and appreciated practice exercised by many development teams around the globe.

Unlike the name suggests, TDD is not a testing technique but a development technique that results in cleaner, high-quality code. Implementing effective and useful TDD is a complicated task that requires developers to have both discipline and familiarity with a set of test automation tools.

This 2-day workshop explains the TDD as a design methodology, briefly introduces the tools, and then dives into complex issues of real-world problems: APIs, complex integrations, TDD in legacy code, and more. It includes hands-on exercises (about 50% of the workshop’s duration). Attendees will practice the needed techniques to start testing both new and existing code.

The workshop is intended for: Software developers and software team leaders.

Workshop length: 2 days.

Workshop goals

Following the workshop, attendees will be able to:

  • Describe where unit testing fits in the quality process
  • Decide which tests to write for what
  • Break down requirements into test cases
  • Use TDD to develop new code
  • Use TDD on legacy code
  • Use characterization tests for locking legacy code
  • Refactor code to make it more testable
  • Refactor tests to make them more maintainable

 

Workshop agenda

  • TDD, ATDD and BDD – what are the differences between approaches
  • Simple design and TDD
  • Coding by intention
  • TDD as a design methodology
  • Clean architecture and testability
  • Writing TDD with code using frameworks (e.g. Java’s Spring)
  • Using TDD in legacy code pictures
  • Programming APIs and end-to-end scenarios with TDD
  • Refactoring for testability as preparation for TDD
  • Characterization tests and approval tests

 Prerequisites

  • Familiarity with unit testing is required. The basics can be covered in the TDD Basics workshop.
  • Attendees need to have their own laptops ready and download the exercises beforehand.
  • The training materials are targeted to either Java, JavaScript, Python, C, C++ or C# developers.
Register Now!
%d bloggers like this: