Skip to content

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.

Test-Driven Development (TDD)

Course Summary

The Test-Driven Development training course demonstrates how it can be used to create high quality software.

The 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 (TDD). It also covers the applicability of TDD in modern software development paradigms, and how it can be leveraged within different software engineering processes. Once the foundation has been laid, the TDD course transitions into a hands-on learning lab. Finally, students learn the processes and practices of TDD in the creation of a basic application.

Purpose
Learn how to define the iterative and quality-focused software development methodology of TDD.
Audience
Developers and Q/A teams wanting to adopt TDD to increase their effectiveness in delivering high-quality software products.
Role
Project Manager - Q/A - Software Developer - Technical Manager - Web Developer
Skill Level
Intermediate
Style
Workshops
Duration
3 Days
Related Technologies
.NET | Java

 

Productivity Objectives
  • Identify 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
  • Evaluate and implement the test-driven development process: Define test, implement test, define functionality, implement functionality, test, refractor, repeat
  • Devise a test-driven development infrastructure
  • Define and execute a test plan using a testing framework
  • Research the continuous and integration testing tool
  • Incorporate TDD into your organization: Advice, tips, tricks, and pitfalls

What You'll Learn:

In the Test-Driven Development (TDD) training course, you'll learn:
  • What is TDD?
    • Why Adopt TDD
    • Benefits of TDD
    • Impact of Adopting TDD
  • How to 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
  • TDD Concepts
    • 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 User Integration (UI) Testing (Functional Testing)
    • Automated Load Testing
    • Unit Testing JavaScript, AJAC, 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 (CI) Testing
    • What is CI?
    • Setting up a CI Environment With Hudson
    • Incorporating Tests Into the CI Environment
“I appreciated the instructor's technique of writing live code examples rather than using fixed slide decks to present the material.”

VMware

Dive in and learn more

When transforming your workforce, it's important to have expert advice and tailored solutions. We can help. Tell us your unique needs and we'll explore ways to address them.

Let's chat

By filling out this form and clicking submit, you acknowledge our privacy policy.