Driving Your C++ Code with Tests
Testing forms an integral part of the modern software development flow. From customer-facing acceptance tests to code-focused unit tests, automated testing is part of the fabric of a modern build process and deployment pipeline. But it's not enough that there are some tests: to be a help not a hindrance, tests need to communicate not just verify, and testing needs to be a development habit not an afterthought.
In this two-day workshop, you will learn about good unit tests (GUTs) and test-driven development (TDD) by seeing what it takes, putting them into practice, and reviewing what you've learned. What practices support readable and maintainable tests? What test pitfalls hold developers and products back? How do you make testing fun and not a chore? Come along to answer these questions and more.
The workshop includes lecture, hands-on coding exercises, and Q&A. The examples and hands-on exercises will use C++, but you don't need to be a C++ guru to take part. We can also discuss similarities, differences, and challenges of unit testing across different codebases, with different frameworks, and in other languages.
Kevlin is an independent consultant, speaker, writer and trainer. His development interests, contributions and work with companies covers programming, people and practice. He has contributed to open- and closed-source codebases, been a columnist for a number of magazines and sites and has been on far too many committees (it has been said that "a committee is a cul-de-sac down which ideas are lured and then quietly strangled"). He is co-author of A Pattern Language for Distributed Computing and On Patterns and Pattern Languages, two volumes in the Pattern-Oriented Software Architecture series. He is also editor of 97 Things Every Programmer Should Know and 97 Things Every Java Programmer Should Know. He lives in Bristol and online.