CppCon 2019 has ended
Back To Schedule
Wednesday, September 18 • 09:00 - 10:00
Back to Basics: Test-driven Development

Log in to save this to your schedule, view media, leave feedback and see who's attending!

In this class, attendees will learn about test-driven development as it applies to C++ programming. Test-driven development (TDD) is the weird idea that you should write tests for code that as yet does not exist! The idea grows on you, though, sometimes to the point that you can’t imagine writing programs any other way.

Now, if you aren’t practicing TDD already, one class may not make you into a fresh convert; for attendees in that category, my goal is to convince you that it’s not completely stupid and that “there is something there.”

In C++, TDD offers significant advantages but also poses some language-specific challenges you should be aware of. The difficulties are severe enough that TDD in C++ is often limited to small isolated components or low-level libraries. It gets harder when we want to build a large system, but it’s not impossible.

We will learn about specific programming techniques such as dependency injection. Perhaps more importantly, we will see how the decision to use TDD influences the design process and the resulting software architecture. Some of the problems we will encounter when trying to follow TDD practices in C++ have at most tolerable solutions if we limit ourselves to language tricks. We can make our software-testing life much easier if we build testability into the software from the design stage, which, in turn, makes the software itself better.​

avatar for Fedor Pikus

Fedor Pikus

Chief Scientist, Siemens
Fedor G Pikus is a Chief Engineering Scientist in the Design to Silicon division of Mentor Graphics Corp (Siemens business). His earlier positions included a Senior Software Engineer at Google and a Chief Software Architect for Calibre PERC, LVS, DFM at Mentor Graphics. He joined... Read More →

Wednesday September 18, 2019 09:00 - 10:00 MDT
Aurora C