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.

Lecturers: Lior FriedmanUri Goldstein

Target Audience

  • Tech 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

Schedule

Unless otherwise stated, the workshop runs 1 day, 9:30 to 17:30.