Refund Policy

There are currently no open class dates for this course, please check back.
The practice of Test Driven Development (TDD) allows an agile development team to efficiently convert user defined requirements into a well-designed, fully tested working implementation that not only meets the business need, but will also be easy and safe to extend, maintain and enhance over time. Rather than spending weeks or months on an extended “design phase,” agile teams use TDD to evolve and optimize their design and implementation over time, to meet the team’s evolving understanding of the business requirements.
You will learn the basic skills required to implement TDD in your agile project. Developers will participate with the instructor in a live example of turning a business requirement into well-designed working code, using a test driven approach.
Rather than presenting TDD at a purely conceptual level, this introduction demonstrates hands-on coding and the use of widely adopted development tools and testing frameworks for the Java development language. This introduction will benefit a new Agile project team that attends as a group, providing a common foundation of knowledge and experience for everyone on the team.
- Understanding how TDD enables emergent, incremental design for an Agile team
- The TDD Test-Code-Refactor cycle
- Using unit tests as executable specifications that document the behavior of the code that they test
- Isolating units to be tested using test doubles and mocking frameworks
- Understanding how TDD fits into an Agile workflow and enables long term team productivity
1. Conceptual Overview
- TDD What and Why
- The Test-Code-Refactor Cycle
- TDD in an Agile Development Process
2. Unit Test Mechanics
- Setting Up the Environment
- The Structure of a Unit Test Class
- Assertions and Matchers
- Handling Error Conditions
3. Isolating Code with Test Doubles
- What are Fakes, Stubs, and Mocks
- When and Why to Use Doubles
- Basic Usage of the Mockito Framework
- Advanced Mocking Scenarios
4. Intro to Emergent Design
- Identifying Common "Code Smells"
- Applying Object Oriented Design Principles
- Refactoring
- Refactoring to Design Patterns
5. A Basic TDD Episode
- Analyzing a Simple Requirement
- Writing a First Test by Intention
- Making the Test Pass
- Completing the Specification with Triangulation
- Refactoring to Improve the Design
6. Live Exercise: Test Driving a Story (Coding Dojo Format)
- Our Example User Story
- Sketching an Approach
- Test Driving the First Confirmation
- Using Test Doubles
- Refactoring to Improve the Design
Participants should have a comfort level with technical terminology, and some knowledge of and/or experience in Agile development processes such as Scrum or XP.
Full Price: $0.00
Early Bird Price: $0.00
Email sales@iconagility.com for more information about group discounts or private training.
Interested in Private Group Training?
Discounts available for remote or on-site courses. Let us know!