Course Overview

In this course, students will learn and practice the application of Test Driven Development business logic in real world examples, environments, and instructor led demonstrations.

This 3-day instructor led course will teach the thought process behind TDD, as well as a deep dive that incorporates the steps that are necessary for effective implementation. Unit Tests, User Stories, Design, Refactoring, Frameworks, and how to apply them to existing solutions. We will also explore the implications of code dependencies, fluid requirements, and early detection of issues. This is an interactive class, and individuals will be expected to participate in all exercises to attain maximum benefit of the course.

Key Learning Areas

  • Provide knowledge and understanding of Unit Testing principles and practices
  • Understand the role of Unit Testing in software development and testing
  • Write effective Unit Tests
  • Properties of effective unit tests
  • How to use mock objects to isolate the “system under test”
  • Effective Refactoring of the code base
  • Benefits of test-first and Test-Driven Development
  • Techniques and Practices to aid in the successful adoption of Test-Driven Development
  • How to use Acceptance Testing and Behavior-Driven Development to further advance Test-Driven Development

Course Outline

  • Unit Testing
    • Unit Test Fundamentals
    • Advanced Unit Testing
  • Test-Driven Development Approach
    • TDD Assertions
    • TDD Principles
  • TDD Essentials
    • TDD Design
    • Test Automation
  • Refactoring
    • Why Refactor?
    • Refactoring Methods
    • Refactoring Cycle
  • Pair Programming
    • Pair Programming
    • Advantages of Pairing
    • Pairing Techniques
  • Acceptance Testing and BDD
    • Acceptance Testing
    • Best Practices for Effective Testing
    • BDD vs. ATDD
  • Principles and Benefits
    • Consequences of No Testing
    • TDD Solutions
  • Unit Test Properties
  • Frameworks
    • Advanced TDD
    • TDD and FIT
    • Additional TDD Considerations

Who Benefits

  • Software Developers
  • Project Managers
  • Quality Assurance Testers