Develop Intelligence
Test-driven Development
Learn the iterative and quality-focused software development methodology of test-driven development.

The Test-driven Development training course delivers a hands-on view into how TDD can be used by developers, project managers, and the quality assurance teams to create higher quality software.

Ensuring every student has the same understanding of standard software testing procedures, the TDD training course begins with an examination of common test terminologies, practices, benefits, and pitfalls. The course then moves into a discussion on the theory and practice of test-driven development, the applicability of TDD in modern software development paradigms (like Web 2.0), and how it can be leveraged within different software engineering processes.

Once the foundation has been laid, the Test-driven Development course transitions into a hands-on learning lab, where students learn the processes and practices of test-driven development in the creation of a basic application.

Variations of this course exist for test-driven development in Java, .NET/C#, PHP, and Python.

The Test-driven Development can also be delivered as a 3-day workshop, focused on helping apply TDD within your own project. 

After this course, you will be able to:

  • Understand software testing concepts: Unit test, regression test, integration test, user acceptance tests, continuous testing, etc.
  • Describe the testing process: Defining a test plan, implementing the plan, measuring the success
  • Understand and implement the test-driven development process: Define test, implement test, define functionality, implement functionality, test, refactor, repeat
  • Set up a test-driven development infrastructure
  • Define and execute a test plan using a testing frameworks
  • Working with continuous and integration testing tool
  • Incorporate TDD into your organization: Advice, tips, tricks, and pitfalls
This course will be delivered in 3 Days

DI will work with you and your team to define the most appropriate delivery structure, schedule and dates. Structure, schedule and dates will be determined by project schedule, team availability and classroom availability. And of course, it will also be determined by DI’s instructor availability.

In the Test-driven Development training course, you’ll learn:

  • What Is Test-driven Development?
    • Why Adopt TDD
    • Benefits of TDD
    • Impact of Adopting TDD
  • How Do I Adopt TDD?
    • Infrastructure Changes Required
    • Adoption Planning
    • Measuring and Monitoring Adoption
    • Adjusting
  • Testing Concepts
    • Test Plans, Cases, and Suites
    • Unit Testing
    • Integration Testing
    • Continuous Testing
    • Robustness Testing
    • Acceptance Testing

  • Test-driven Development Concepts
    • Test-driven Development
    • Where to Begin TDD
    • TDD Patterns
    • TDD Best Practices

  • Testing Tools
    • Unit and Integration Testing With JUnit and Mock Objects
    • Automated Testing
    • Continuous Testing
    • Robustness Testing
    • Code Coverage Analysis

  • Setting Up Testing Infrastructure
    • Defining Test Strategy
    • Choosing Tools
    • Configuring IDE
    • Configuring a Build System
    • Reporting

  • JUnit Test Framework
    • Understanding JUnit and Its Capabilities
    • Creating Unit Tests
    • Creating Integration Tests
    • Annotations
    • Tests, Suites, and Configurations
    • Integrating JUnit Into Build System

  • Mock Objects
    • What Are Mock Objects?
    • When and How to Use Mock Objects Effectively
    • Creating Mocks
    • Replacing Mock Objects With Live Objects

  • Refactoring
    • What is Refactoring?
    • Refactoring Concepts and Best Practices
    • Identifying and Implementing Potential Refactorings
    • Testing Refactored Code

  • Web Tier Testing
    • Automated UI Testing (Functional Testing)
    • Automated Load Testing
    • Unit Testing JavaScript, AJAX, and JQuery

  • Middle Tier Testing
    • Out-of-container Unit Testing
    • In-container Unit Testing
    • Testing Web Development Frameworks, Such as Struts
  • Testing Legacy Code
    • What to Do With Legacy Code
    • Common Approaches for Testing Legacy Code
    • Exploring Dependencies
    • Creating Loose Couplings

  • Continuous Integration Testing
    • What Is CI?
    • Setting Up a CI Environment With Hudson
    • Incorporating Tests Into the CI Environment

Call us at (877) 629-5631