Test-Driven Development Using Visual Studio and C#

An emerging software engineering paradigm is test-driven development, where tests are written early and testing is performed continuously during the development process. Problems are discovered early and corrected when they are found. This one-day Test-Driven Development Using Visual Studio and C# training class for developers explains the methodology of test-driven development and the use of the unit testing framework that comes with Visual Studio 2017, including the free Community version.

This is practical C# training, with many example programs and tests written in C#, including a cumulative case study. The goal is to quickly bring you up to speed in doing unit testing in your .NET development projects.

Goals
  1. Understand the principles of test-driven development.
  2. Acquire fluency in developing tests using the Visual Studio unit testing framework.
  3. Efficiently exercise test suites using Visual Studio and MSTest.
Outline
  1. Test-Driven Development
    1. What Is Test-Driven Development (TDD)?
    2. Functional Tests / Customer Tests
    3. Unit Tests / Programmer Tests
    4. Test Automation
    5. Simple Design
    6. Refactoring
    7. A Visual Studio Test Drive
    8. TDD with Legacy Code
  2. Visual Studio Unit Testing Fundamentals
    1. Structure of Unit Tests
    2. Unit Testing Framework
    3. Assertions
    4. Test Cases
    5. Test Classes
    6. Test Runners
    7. Ignoring Tests
    8. Initialization and Cleanup
  3. More about Unit Testing Framework
    1. Expected Exceptions
    2. Custom Asserts
    3. Playlists
    4. Debugging Unit Tests
    5. MSTest
    6. Refactoring
Class Materials

Each student in our Live Online and our Onsite classes receives a comprehensive set of materials, including course notes and all the class examples.

Class Prerequisites

Experience in the following is required for this C# class:

  • The student should have a basic knowledge of the .NET Framework and experience programming in C# with Visual Studio.