Test-driven Development

TDD Training

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 5-day workshop, focused on helping apply TDD within your own project. 

Course Summary

Purpose: 
Learn the iterative and quality-focused software development methodology of test-driven development.
Audience: 
Developers and Q/A teams wanting to adopt TDD to increase their effectiveness in delivering high-quality software products.
Skill Level: 
Learning Style: 

Hands-on training is customized, instructor-led training with an in-depth presentation of a technology and its concepts, featuring such topics as Java, OOAD, and Open Source.

Hands On help

Workshops are instructor-led lab-intensives focused on the practical application of technologies through the facilitation of a project-related lab. Workshops are just the opposite of Seminars. They deliver the highest level of knowledge transfer of any format. Think wide (breadth) and deep (depth).

Workshop help
Duration: 
3 Days
Productivity Objectives: 
  • 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

What You'll Learn

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

Meet Your Instructor

Simon

Simon has over 15 years of experience defining, developing, and delivering software development training programs.

As a senior instructor and courseware developer for Sun Microsystems, Simon developed and delivered Java training courses for Sun Educational Services’ internal and external customers. While at Sun, he was a guest presenter at JavaOne, Java University, and other software trade shows. Simon’s most significant accolade was his work as the development lead in the design, development,...

Meet Simon »
Daniel pic
Daniel

Daniel has been a self-employed developer, teacher and speaker for private businesses, education and government entities since 1999. Daniel also actively teaches programming for the University of New Mexico Continuing Education.

Daniel is a Pomodoro Technique practitioner, and co-founder of the Albuquerque Java User’s Group in Albuquerque, New Mexico. When he’s not supporting other local Java developers, Daniel spends most of his waking hours developing in and around the Java ecosystem, encompassing...

Meet Daniel »
Eric

Eric is a consultant, a trainer, and a passionate programmer. For the past 15 years, he’s been building applications in a wide variety of industries, from structural engineering to video editing to currency trading. Growing up professionally in the world of .NET, Eric has an extensive background in C#, ASP MVC, and SQL Server with a variety of Microsoft certifications.

Meet Eric »
Joshua photo
Joshua

Joshua has been in the Internet industry almost since its inception, working as an enterprise systems administrator for 5 years, as a systems/network architect for two years, and as a developer for 15 years. His programming experience is generally centered on Internet applications; nowadays mostly focused on JavaScript, both server-side and front-end. Joshua is a believer in disruptive technologies and methodologies, and has practiced Agile/TDD methods for the past several years. Outside of work, he develops games,...

Meet Joshua »

Contact us to learn more

Not all training courses are created equal. Let the customization process begin! We'll work with you to design a custom Test-driven Development training course that meets your specific needs.

DevelopIntelligence has been in the technical/software development learning and training industry for nearly 20 years. We’ve provided learning solutions to more than 48,000 engineers, across 220 organizations worldwide.

About Develop Intelligence
Di Clients

surveyask

Need help finding the right learning solution?   Call us: 877-629-5631