Advanced Test-Driven Development Using Visual Studio and C#

Course Details
Code: CN2-TDD-VSC-Adv
Tuition (USD): $950.00 • Classroom (1 day)

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 introduces advanced tools and methodologies of test-driven development that come with Visual Studio 2012 Ultimate, and illustrates the use of the techniques in the real-life projects. The course is practical, with many example programs and tests written in C#, including a cumulative case study. The goalis to demonstrate unit testing in real world .NET development projects including tiered service-oriented applications. The student will receive a comprehensive set of materials, including course notes and all the programming examples.

Skills Gained

  • Understand Code Coverage tools and metrics. Acquire fluency in code isolation techniques. Efficiently use Microsoft Fakes framework for code isolation.

Who Can Benefit

  • Developers

Prerequisites

  • The student should have a good knowledge of the .NET Framework and experience programming in C# with Visual Studio. A basic course in Unit Testing, such as the Object Innovations course 4106, Test-Driven Development Using Visual Studio and C#, is recommended.

Course Details

Advanced Test-Driven Development Using Visual Studio and C#

  • Code Coverage
  1. Coverage
  2. Block Coverage
  3. Branch Coverage
  4. Line Coverage
  5. Collecting Coverage Data
  6. Selecting Coverage Units
  7. Coverage Visualization
  8. Coverage Analysis
  • Isolation Techniques
  1. Design for Test
  2. Private Accessors
  3. Test Instance
  4. Configuration Files
  5. Test Instance - Database
  6. Test Instance - Service
  7. Stubs
  • Microsoft Fakes
  1. Adding Fakes
  2. Stub Classes
  3. Stub Methods
  4. Stub Properties
  5. Shims
  6. Shims Context
  7. Class Shims
  8. Methods Shims
  9. Default Behavior
  10. Global Shims
  11. Static Methods