LOGO For Immediate Assistance Call 855-211-9361


Test-Driven Development

Price: $1,170.00

Call for availability 855-211-9361

In this course students will learn what Test-Driven Development (TDD) is and why people are adopting it as a development methodology. The process of TDD is to write a test for a very small piece of functionality, to develop the code, to run the test, and then to refactor and try again if the test fails. Through lecture, demonstration and hands-on exercises, students will learn for themselves how to move through the TDD development process.

Course Overview

By the end of the class students will be able to:

  • Understand the elements of test-driven development
  • Be familiar with different test-driven concepts
  • Work with testing tools such as Junit, ANT and Maven
  • Set up the testing infrastructure
  • Understand refactoring best practices
  • Test legacy code


paragraph of text from Course Page Prerequisites

Course Outline

  • What is Test-Driven Development?

    • What is it?
    • Why do I want to adopt it?
    • What are the benefits of test-driven development?
    • What are the costs?
    • What outcome should I expect when I adopt it?
  • Testing Concepts

    • Test Plans, Test Cases, and Test Suites
    • Unit Testing
    • Integration Testing
    • Continuous Testing
    • Robustness Testing
    • Acceptance Testing
  • Test-Driven Development Concepts

    • Test-driven development
    • Where to begin
    • Test-driven development patterns
    • Test-driven development best-practices
  • Testing Tools

    • Unit and Integration Testing with JUnit and Mock Objects
    • Automated testing with ANT and Maven
    • Continuous Testing with CruiseControl, ANT, and Maven
    • Robustness Testing with DBUnit, HTTPUnit, JMeter
    • Code coverage analysis
  • Setting up the Testing Infrastructure

    • Defining the test strategy
    • Picking the tools
    • Configuring the IDE
    • Configuring the build system
    • Reporting
  • JUnit

    • What is JUnit
    • Creating unit tests
    • Creating integration tests
    • Assertions
  • Mock Objects

    • What they are
    • When and how to use them effectively
    • Creating mocks with jMock and EasyMock
    • Replacing Mock Objects with Live Objects
  • Refactoring

    • What is refactoring?
    • Refactoring concepts and best-practices
    • Identifying and implementing potential refactorings
    • Testing refactored code
  • Testing Legacy Code

    • What do to with legacy code
    • Common approaches for legacy code testing
    • Exploring dependencies, creating loose couplings