TDD Fundamentals in C#

This course covers the fundamentals of Test Driven Development using C# as the language of practice

Ratings: 4.48 / 5.00




Description

TDD stands for Test-Driven Development. It is a software development process for developing an application by using automated tests as the primary tool for development. These tests are written before coding and are the primary unit of quality ensuring that coding is correct, reliable and bug-free.

TDD has become widely accepted by the .NET developer community as an essential skill in today's world of web applications, service-oriented architectures and desktop application development. The TDD Fundamentals in C# course is a step-by-step C# programme designed to make you a more proficient C# Developer by teaching you the skill of TDD. It covers the fundamentals of Test-Driven Development enabling you to get up to speed quickly within the practice of TDD in C#.

The TDD Fundamentals in C# course is very hands-on: you will spend your time learning the practice of Test Driven Development through a sequence of coding exercises interspersed with theory. This course has been run in person dozens of times with a variety of groups, and through this process we have honed the process of teaching and learning TDD.

Target outcomes:

  • Understand what TDD is and why you would want to practice it

  • Understand the anatomy of a test, and how to write good unit tests

  • Understand and use the flow of Test-Driven Development and to use a toolbox of tools and techniques on what to do if they are not experiencing this rhythm.

  • Understand how high-level design and TDD work together to achieve great designs

  • Write Unit Tests for a reasonably complex solution that are maintainable into the future.

  • Take a requirement (User Story/Use Case) and implement the relevant tests and code.

  • Write far more loosely coupled code by using the appropriate Test Doubles.

  • Use the appropriate mocking framework for dynamically creating the appropriate test doubles

What You Will Learn!

  • Structure a unit test (Understand the anatomy of a good test)
  • Structure Test Classes and projects
  • Understand Testing Strategies and approaches
  • Identify Boundaries and Equivalence Partitions
  • Name a Test
  • Break dependencies with Test Doubles
  • Grow a requirement using TDD
  • Balance high level design with TDD practice
  • Recognize the Flow/Cadence/Rhythm of TDD
  • Understand how bad tests show high code coupling and how good tests show low coupling

Who Should Attend!

  • Software developers who have at least two years production programming experience with C#.