Printed Program Guide Blurb
Books on Test-Driven Development abound for C# and Java, but there are few directed towards C++ programmers. Yet much software is written is C++, and C++ is an extremely powerful language, one that I’ve found to be quite well-suited for doing TDD. I will present a series of practical and efficient testing patterns specifically for C++. Most of the techniques involve templates; one of them involves lexical closure. Many of these techniques are also well-suited for dealing with legacy code.
Test Driven Development is a key Agile Practice. With TDD, programmers get instant feedback that their code does what they intend. This class shows the motivations behind TDD, but does not stop there. Attendees get first hand experience at TDD, writing well tested code. You will see how tests can prevent many bugs and memory leaks. We’ll use CppUTest, an open source test harness, to collect, organize and automate C++ unit tests.
, Gil Broza
We will present many hard-to-test c++ idioms and multiple refactorings for making the code testable. Students who need to test and refactor legacy C++ code as they transition to test-driven development, will learn techniques to help them do this work safely and with minimal changes in the performance. We’ll cover several legacy idioms in which code is initially not accessible by tests. We’ll fix these and other testability problems with refactorings like “Extract Method” or “Extract Class”, and C++-specific techniques involving the preprocessor, “friend”, and changing access Levels.