Test Driven Development (TDD), and Refactoring Legacy Code Using Java
Duration: 28 hours
Prerequisites: Java programming experience and an understanding of object-oriented design principles
Students Will Learn:
- Why Test?
- Unit Testing Basics
- Unit Testing Details
- Mocks, Fakes, Stubs and Drivers
- Database Testing
- Refactoring Basics
- Patterns and Anti-Patterns in Test Driven Development
- Refactoring Legacy Code
- Analysis and Coverage
- System, Regression and User Acceptance Testing
This Test Driven Development (TDD) training course provides students with hands on experience learning TDD methodology in the context of Java software development. Students build unit tests using mocks, fakes, stubs and drivers, and address issues working with databases and other systems. Students learn how to create tests that assure that code will meet and exceed requirements. The course shows how regression testing assures that code that receives “test coverage” will not break existing systems, because tests are passed before code is checked in.
Students spend time working with the issues involved in refactoring legacy code, safely cutting into an already deployed system. Students are shown how to look for, or create “seams” to more safely improve code or add features, and work on identifying “code smells” that need attention in a productive system. Finally, students will explore dependency issues as well as techniques to better understand and improve complex systems.
Comprehensive labs using Java and JUnit provide facilitated hands on practice throughout the course to develop competence and confidence with the new skills being learned.
|Why TDD? Think Twice, Write
Production Code Once
||Basic Unit Testing
|Comprehensive Unit Testing Concepts
||Mocks, Fakes, Stubs and Drivers
|Database Unit Testing
|Patterns and Anti-Patterns in TDD
||Refactoring Legacy Code
||Risks Changing Legacy/Production Systems
|Java Programmer||2-course track
|Advanced Java Developer||4-course track