Test-Driven Development Workshop
Dates & Locations
|No open enrollments at this time, 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 and gain the hands-on experience required to implement TDD in your agile project. Youâ€™ll be introduced to TDD related skills and concepts in context while working to turn example business requirements into working code.
As a technical workshop, this course emphasizes hands-on coding and the use of widely adopted development tools and testing frameworks for the Java development language. The course can be modified to use real-life examples and situations from the studentsâ€™ own experiences. It would also benefit a new Agile project team that attends as a group, providing a common foundation of knowledge and experience for everyone on the team.
- Sketching an implementation model from user requirements, emphasizing the assignment of responsibilities to classes, components, and sub-systems.
- The TDD Test-Code-Refactor cycle.
- Coding by intention, and triangulating to arrive at an optimal solution.
- Using unit tests as executable specifications that document the behavior of the code that they test.
- Detecting common design deficiencies or â€œcode smellsâ€ and improving them through refactoring.
- Isolating units to be tested using test doubles and mocking frameworks.
- The relationship between user stories, confirmations, acceptance tests, and unit tests.
Audience and Certification Details
This course is primarily intended for hands-on developers. Architects, technical leadership, and anyone who must understand, review, and communicate the use and benefits of TDD by agile teams will also benefit.
Participants should be familiar with the Java programming language and its commonly used libraries and APIs, and at least somewhat familiar with the Eclipse IDE.
- JDK (Java Development Kit) version 1.5 or Later
- Eclipse IDE version 3.6 or later
- JUnit version 4.X and JUnit plug-in for Eclipse
- EasyMock framework version 3 or later.
Please call Icon at (636) 530-7776 for private and public pricing for your team.