Agile Engineering
practices training and
courses

1 day

Agile Engineering
practices training and
courses

TDD Fundamentals

1 day

TDD Fundamentals

First you write the Test, than you make it pass, and finally you improve the code. Sounds simple, right? The endless loop of Test Driven Development has become one of the leading practices of modern agile developers. Yet it’s hard to explain its benefit until you give it a try. 

In this day we going to cover the core principles of TDD and how you should use them to improve the code you write and maintain.

What will you learn? Get to know the basics of the TDD cycle; Practice writing effective unit tests for complex scenarios; Experience how TDD can improve your team’s ability to obtain and access fast feedback.

 

Target Audience

  • Team Leads
  • Developers

 

Prerequisites

  • At least 1 year of experience developing software

 

Objectives

  • Writing basic unit tests
  • Learning principles of Test Driven Development
  • Understanding the difference between different level of testing
  • Testing complex object hierarchies
  • Understand the difference between Interaction Testing and state based testing
  • Understand the principles of Isolation
  • Real Life examples

 

Topics

  • Introduction to Automated Testing & TDD
  • Unit Testing basics
  • Making your unit test effective and robust
  • Isolation over view
  • Understanding a mocking framework

 

Structure

  • Introduction to TDD
  • Writing basic Unit Tests
    • Defining a test suite and some test cases
    • Assertion
    • AAA pattern
    • Naming Convention
    • Test Organization
  • Tip and tricks for Writing Effective unit tests
  • Isolation + interaction based testing – overview
  • Understanding the mocking framework
    • Defining Mocks
    • Creating Expectation
    • Verifying interactions

 

This is a general syllabus and in case of an in-house training, it is possible to make the necessary adjustments to make it more appropriate for your organization’s specific needs.