Implementing Agile Test Driven Development for Java Developers

Test Driven Development Series



3 Days

Course Overview

Implementing Agile Test Driven Development for Java Developers is a three day, in-depth Agile-testing training course that provides experienced Java developers with a solid introduction to Test Driven Development and “test first” design within the context of Agile processes and practices.


Course Objectives

This is a programming class with many code-based labs that enable students to experience TDD first hand.  Working within in a dynamic, learning environment, guided by our expert Agile TDD team, attendees will:

·         Be introduced to the concept of development agility and the Agile Manifesto

·         Review each of the major agile development methods underscoring their strengths and weaknesses

·         Understand how to manage an agile environment even within a structured organizational approach

·         Learn how to introduce agility into a development organization

·         Examine what unit testing is and how various xUnit frameworks facilitate unit testing

·         Review and work with the xUnit family of unit testing tools

·         Understand the concepts of and motivations for Test-Driven Development

·         Relate unit testing, test driven development, and test coverage to agile processes

·         Understand the importance of refactoring in supporting agile and test driven processes

·         Work with both refactoring techniques and tools

·         Work with Mock objects to understand what problems they solve and how they accomplish that

·         Understand what Continuous Integration is and what the components of CI are

·         Examine the motivations for CI

·         Review best practices for everything from CI to testing within the context of agile development

Course Prerequisites

This is a intermediary course, designed for software developers. A working knowledge of Java is required. Knowledge of current development processes, such as structured top-down development and the waterfall method is beneficial.

Course Agenda

Session: Agile Development


Lesson: Agile Rationale and Concepts

  • Reducing Risk Through Agility
  • The Discipline of Timeboxing
  • Incremental Delivery and Evaluation
  • Agile Method: Scrum
  • Agile Method: XP
  • Pair Programming


Lesson: The Agile Approach

  • Agile Software Development Manifesto
  • The Agile Principles
  • Identifying Features
  • Managing Features
  • Communication Dynamics


Lesson: Agile Iterative Development

  • Iterative Approaches
  • Phased Iterative Development
  • Iterating
  • Feasibility & Planning
  • Development
  • Adaptation & Deployment


Lesson: Prioritizing and Planning

  • Features and Backlogs
  • FDD Process
  • Prioritizing Features
  • Release Planning
  • Assigning Features to Iterations


Lesson: Building

  • Typical Continuous Integration Process
  • CI Server
  • Automate Source Code Management
  • Automate Build Process
  • Automate Testing
  • Automate Deployment


Session: JUnit


Lesson: JUnit Overview

  • Purpose of Unit Testing
  • Good Unit Tests
  • Test Stages
  • Unit Testing Vs Integration Testing


Lesson: Jumpstart: JUnit 4.x            

  • JUnit Overview
  • How JUnit Works
  • Launching Tests
  • Test Suites
  • JUnit Test Fixture


Lesson: @Test Annotation

  • Test Execution Cycle
  • Checking for Exceptions
  • Using Timeouts


Lesson: Hamcrest

  • About Hamcrest
  • The Hamcrest Matcher Framework
  • Hamcrest Matchers


Lesson: Parameterized Tests           

  • Injecting the Parameters
  • Setting the Parameters
  • Test Execution Cycle
  • Observations


Lesson: Theories

  • Writing Theory Enabled Tests
  • Defining DataPoints
  • Defining Theories
  • Observations


Lesson: JUnit Best Practices

  • "Good" Tests
  • Bad Smells
  • White-Box Unit Testing
  • Black-Box Unit Testing
  • Automation and Coverage


Session: Agile Testing Best Practices


Lesson: Transitioning to Agility

  • Agility: Some Process, Some Mindset
  • Characteristics that Enable Agility
  • Characteristics that Inhibit Agility
  • Risks Associated with Migrating
  • Smoothing the Transition


Lesson: The Bottom Line

  • Agile Migration Patterns
  • Extending the Migration
  • Coding Practices
  • Source Control
  • Pair Programming and Code Reviews
  • Continuous Integration
  • Legacy Code




Course Materials

Our robust course materials include much more than a simple slideshow presentation handout.  Student materials include a comprehensive hard-copy course manual, complete with detailed course notes, code samples, diagrams and current reference materials, all directly related to the course at hand, indexed for ease of use. Step-by-step lab instructions and project descriptions are clearly illustrated and commented for maximum learning. 

Raise the bar for advancing technology skills

Attend a Class!

Live scheduled classes are listed below or browse our full course catalog anytime

Special Offers

We regulary offer discounts for individuals, groups and corporate teams. Contact us

Custom Team Training

Check out custom training solutions planned around your unique needs and skills.

EveryCourse Extras

Exclusive materials, ongoing support and a free live course refresh with every class.

Learning is Twice as Nice!
Buy One Get One Free!

Enroll by February 28 in any TWO public classes in 2023 for the price of ONE! 

Click for Details & Additional Offers

Learn. Explore. Advance!

Extend your training investment! Recorded sessions, free re-sits and after course support included with Every Course
Trivera MiniCamps
Gain the skills you need with less time in the classroom with our short course, live-online hands-on events
Trivera QuickSkills: Free Courses and Webinars
Training on us! Keep your skills current with free live events, courses & webinars
Trivera AfterCourse: Coaching and Support
Expert level after-training support to help organizations put new training skills into practice on the job

The voices of our customers speak volumes

Special Offers
Limited Offer for most courses.

SAVE 50%

Learn More