Test-driven development (TDD) is an advanced technique of using automated unit tests to drive the design of software and force decoupling of dependencies. The result of using this practice is a comprehensive suite of unit tests that can be run at any time to provide feedback that the software is still working. This technique is heavily emphasized by those using Agile development methodologies.

The motto of test-driven development is "Red, Green, Refactor."

  • Red: Create a test and make it fail. 
  • Green: Make the test pass by any means necessary. 
  • Refactor: Change the code to remove duplication in your project and to improve the design while ensuring that all tests still pass.

*Product details provided by Microsoft. Check out more product details at Microsoft.com.

  • Test-Driven Development Using Visual Studio and C#

    Test-Driven Development Using Visual Studio and C# Logo
    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. . .

    Test-Driven Development Using Visual Studio and C#

    • 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