Overview of Test-Driven Development
One will learn the popular and productive Test Driven Development (TDD) techniques with context to Java. It will help participants to write reliable bug-free applications using Test Driven Development. This hands-on course teaches various techniques and patterns of Test Driven Development. It will teach refactoring that lead to reliable designs and code and introduce a number of testing patterns and strategies.
Please find below the objective of the session:
- Apply Test Driven Development with Eclipse
- Identify tests
- To organize and implement tests that leads to reliable designs and coding
- Extract “bad smells” and refactor code and tests
- Extracting max value from the Eclipse for Test Driven Development
- Suggested Audience
- Java Developers
- Designers
- Architects
- Consultants
Duration
3 Days
Prerequisite for Test-Driven Development
Attendees must be proficient in Java.
Course Outline for Test-Driven Development
Unit Testing
- Philosophy of Developer Unit Testing
- Anatomy of Unit Testing Framework
- Automated Tests
- Overview of xUnit
- Levels of Testing
Code Smells
- Common Code Smells
- Dealing with Code Smells
Refactoring
- Purpose of Refactoring
- Refactoring Patterns
- Using Automated Refactoring
Inside Out Test First – Test Driven Development
- Introduction to TDD
- Test First Vs Test Last
- TDD Rhythm: Red, Green, Refactor
- Crucial Design Principles
- Driving Design using TDD
- Different Styles of TDD
Outside In Behaviour First – Behaviour Driven Development
- Driving Implementation and Design from Scenarios
- Application Development from scratch using Scenarios
- Crafting acceptance criteria for user stories
- Writing executable examples for each criteria
- Documenting Scenarios with Gherkin
- Demo of BDD frameworks (Cucumber, FitNesse, Spec Flow, Jasmine)
- Automation Hazards
- Safe Automation Practices
Beyond Basics
- Test Doubles/Fakes – Stubs, Mocks, Spy, Simulators…
- TDD in Legacy Code
- Breaking Dependencies in Legacy Code
- Patterns for writing effective tests