Test-Driven Development (TDD) and Refactoring (3 days)
Audience: programmers. Teaches you the agile practices of TDD and refactoring. Our most popular course! Learn TDD in Java, C#, C++, Ruby, or Python. C++ programmers: We now support C++11, so you can learn some of the new language features while learning TDD.
- Class size: 10 students minimum, up to 20 maximum
- Prerequisites: Six months professional programming experience
Please call +1-719-287-GEEK or email us to schedule now or ask questions.
Pricing / Details
Test-driven development (TDD) is an essential programmer skill that allows developers to sustain a high-quality code base. Agile shops everywhere are learning the value of TDD in a fast-paced iterative development environment. But TDD isn't limited to agile shops--you'll find many benefits to using TDD in any environment.
In our most popular course, you'll obtain a solid foundation for doing test-driven development (TDD). You'll also learn the value of continual refactoring, a practice core to TDD and essential to sustaining your investment in your software. Lecture is brief, as we instead emphasize lots of hands-on coding exercises and demonstrations. You'll learn why we consider TDD a design technique, and how to increase the value of the tests you build.
We are usually able to provide exercises using your unit testing tool of choice, whether it be JUnit 3.x, JUnit 4.x, TestNG, RSpec, Test::Unit, CppUnit, CppUnit Lite, Tut, CppUTest, NUnit, or something else.
Topics Covered
Overview of Test-Driven Development xUnit (tool) overview Basic TDD technique - demo and exercises TDD and design Basic "mock" technique - demo and exercise What's the next test? - group exercise Uncle Bob's TPP (overview) Test smells - exercise Refactoring and design Refactoring drivers Code smells Simple design Classic design principles Basic refactoring - demo and exercise Additional catalog refactorings Macro refactoring - demo and exercise Backing into tests Additional mock topics - demos, exercises Mock organization (including self shunt) Mock injection (factory, override) Challenges with mocking When to use and not use Writing tests for legacy code - exercises Acceptance Tests (ATs) and TDD Sustaining TDD
Pricing / Details
Site Search
Jeff on Twitter
Jeff Langr at LinkedIn
Latest Changes
-
Our Books
(2013-03-20) -
News: Beta Publication of Modern C++ Programming with TDD
(2013-03-20) -
New blog post, "A Story Isn't a Feature"
(2013-03-20) -
New blog post, "C++11: Using Lambdas to Support a Times-Repeat Loop"
(2013-03-20) -
New blog post, "C++11 Via TFL (Test-Focused Learning): The Range-Based For Loop"
(2013-02-19)


