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 course 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.

The course is practical, 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. The student will receive a comprehensive set of materials, including course notes and all the programming examples.

Course Duration: 1 Day
Prerequisites:

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

Hardware and Software Requirements:

Course examples require Microsoft Visual Studio 2017 and Windows 7sp1 or higher. The free Visual Studio Community 2017 can be used. See the appropriate course Setup Guide for details.

A good minimal hardware profile for this course consists of a 2 GHz or better CPU, 2 GB of RAM (4 GB recommended), and at least 10 GB of free disk space for tools installation and courseware.

Course examples require Microsoft Visual Studio 2017 and Windows 7sp1 or higher. The free Visual Studio Community 2017 can be used. See the appropriate course Setup Guide for details.

A good minimal hardware profile for this course consists of a 2 GHz or better CPU, 2 GB of RAM (4 GB recommended), and at least 10 GB of free disk space for tools installation and courseware.

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