Unit Testing in Visual Studio 2013

Customized Onsite Training

2
Days
  • Customized Content
  • For Groups of 5+
  • Online or On-location
  • Expert Instructors
Overview

This two-day, instructor-led course provides students with the knowledge and skills to effectively use Visual Studio 2013 to design, write, and run high-quality .NET unit tests. The course focuses on the applicable features and capabilities of Visual Studio as it relates to unit testing and Test-Driven Development (TDD). This course also introduces other, popular unit testing tools and techniques, and demonstrates how they integrate with Visual Studio and your development lifecycle.

This course is intended for current software development professionals who are involved with building high-quality .NET applications. Students will use Visual Studio while learning how to design, write, and run unit tests. They will also learn many relevant practices and techniques, such as TDD, CI, refactoring, and how to test difficult code.

Goals
  1. Learn why unit tests are critical to software quality.
  2. Learn how unit tests and integration tests differ.
  3. Learn about popular unit testing frameworks.
  4. Learn the anatomy of a unit test.
  5. Learn about the 3A pattern (Arrange, Act, Assert).
  6. Learn about assertions and expected exceptions.
  7. Test class inheritance.
  8. Test private methods.
  9. Conduct Visual Studio test projects.
  10. Learn about Visual Studio test windows and tools.
  11. Learn how basic and standard unit tests differ.
  12. Learn how and when to use categories and lists.
  13. Learn how and when to use ordered tests.
  14. Run tests and manage test results.
  15. Learn the importance of Test-Driven Development.
  16. Implement TDD in Visual Studio.
Outline
  1. Unit Testing in .NET
    1. The Role of the Developer
    2. Unit Tests Explained
    3. .NET unit Testing Frameworks (MSTest.exe and Others)
    4. Writing Unit Tests
  2. Unit Testing in Visual Studio
    1. Testing Support in Visual Studio
    2. Test Projects
    3. Test Explorer and Other Windows
    4. Unit Testing in Visual Studio
    5. Managing a Large Number of Tests
    6. Running Tests
    7. Managing Test Results
  3. Test-driven Development (TDD)
    1. TDD Overview, Benefits, and Common Objections
    2. Implementing TDD in Visual Studio
    3. Refactoring
    4. Legacy Code
  4. Writing Good Unit Tests
    1. Know Your Code
    2. Path Testing (i.e. Sad Path)
    3. Right BICEP
    4. Testing for Expected Exceptions
    5. Maintaining High-quality Test Code
    6. Behavior-Driven Development (BDD)
    7. BDD Naming Conventions
    8. Organizing Test Libraries (Assemblies)
  5. Advanced Unit Testing Tools
    1. Code Coverage
    2. Data-driven Unit Tests
    3. CodeLens (Ultimate Edition)
    4. Test Impact Analysis
    5. Team Foundation Server
    6. Team Foundation Build
    7. Build Verification Tests (BVTs)
    8. Gated Check-ins
    9. Continuous Integration (CI)
  6. Testing Difficult Code
    1. The Need to Isolate Code under Test
    2. Doubles (Dummies, Stubs, Fakes, and Mocks)
    3. Mocking Frameworks (Rhino Mocks)
    4. Fakes Framework (Ultimate Edition)
    5. Microsoft Code Digger
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 Visual Studio class:

  • Building a high-quality software product.
  • Writing, debugging, and maintaining code.
  • The Visual C# language.
  • Visual Studio 2010, 2012, or 2013.
  • Their organization’s development lifecycle.
Preparing for Class

No cancelation for low enrollment

Certified Microsoft Partner

Registered Education Provider (R.E.P.)

GSA schedule pricing

74,642

Students who have taken Live Online Training

15,220

Organizations who trust Webucator for their training needs

100%

Satisfaction guarantee and retake option

9.41

Students rated our trainers 9.41 out of 10 based on 5,191 reviews

Contact Us or call 1-877-932-8228