Agile Engineering
practices training and
courses

3 days

Agile Engineering
practices training and
courses

TDD for .NET / Java / C++ Programmers

3 days

TDD for Java / C# Programmers

This three-day program provides a highly interactive exploration of unit test automation, principles and practices. In order to continuously deliver value to our market at a rapid pace, many companies have come to realize the need for automating the majority of the flow, including the automation of unit tests. Doing so, reduces the amount of defects in your software decreases the effort involved in product development and also results in more satisfied customers. Learn how to use frameworks for writing tests and for isolation of code in an efficient and easy manner.

 

Target Audience

Tech Leads / Developers

 

Prerequisites

  • At least 1 year of experience developing software
  • Knowledge in either Java or .NET

 

Objectives

  • Writing basic unit tests
  • Learning principles of Test Driven Development
  • Best Practices of unit testing
  • Understanding the difference between various level of automated tests (unit, integration, acceptance…)
  • Testing complex object hierarchies
  • Understand the difference between Interaction Testing and state based testing
  • Understand the principles of Isolation
  • Learn how to leverage frameworks to ease authoring of tests
  • Real Life examples

 

Topics

  • Introduction to Automated Unit Tests
  • Writing the First Unit Tests
  • Unit testing basics
  • Executing and managing unit tests
  • Unit tests best practices
  • Automating Acceptance Tests
  • Mock and Stubs
  • Writing Manual Mocks
  • The differences between Mocks, Stubs & fakes
  • Introducing a mocking framework
  • Basic mocking API
    • Creating Mocks
    • Mocks Injection
    • Defining behaviors
    • Verifying interactions
  • Patterns for working in legacy systems

 

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.