This three-day program provides a highly interactive exploration of unit test automation, principles and practices. Companies such as Microsoft, Google, and IBM have already realized the potential that lies in Unit Test automation. Following these practices reduces the amount of defects in your software decreasing the effort involved in product development and result in more satisfied customers. Learn how to use frameworks for test writing and how to isolate your code in an efficient and easy manner.

 

Objectives

  • Writing basic unit tests.
  • Learning principles of Test Driven Development
  • Experience Best Practices of unit testing
  • Understanding the difference between unit tests and acceptance tests.
  • Learn how to test complex object hierarchies
  • Understand the difference between Interaction Testing and state based testing.
  • Understand the principles of Isolation using modern isolation frameworks.
  • Learn how to leverage frameworks to ease authoring of tests
  • Real Life examples.

 

Target Audience

This is an entry-level class and appropriate for developers seeking knowledge and understanding about TDD and test automation.

 

Prerequisites

Participants must have at least one year’s developing software using .NET and the ability to program in C++ (Visual Studio 2010)

 

Course Outline

  1. Introduction to Automated Unit Tests.
    • Writing the First Unit Tests using GoogleTest
    • Unit testing basics.
    • Executing and managing unit tests.
  2. Unit tests best practices
  3. Automating Acceptance Tests
  4. Mock and Stubs
    • Writing Manual Mocks
    • The differences between Mocks, Stubs & fakes.
    • Introduction to GoogleMock
    • Introduction To Isolator++.
  5. Basic Isolation API.
    • Setting Expectations.
    • Creating Mocks
    • Defining behaviors
  6. Working with Legacy code
    • Patterns for breaking dependencies.
    • Designing for Testability.
  7. Additional Engineering Practices

 

Additional Information

  • Class Setup:
    • One workstation per two programmers
    • Development tools (e.g. compiler, IDE)
    • Visual Studio is required
    • Max. 20 students per course.

 

Schedule

Unless otherwise stated, the Course runs 3 days, 9:30 to 17:30.