Testing, TDD and Catch2
As the original author of the C++ test framework Catch, now Catch2 as well as the Swift test framework front-end, Swordfish, I have a long history with automated testing in C++ and other languages.
I now offer coaching and training in TDD and good test practices. For the last few years I've been running a two day TDD course at CppCon and NDC TechTown, as well as some other conferences as a one day version. During the coronavirus pandemic I have continued to offer these courses remotely.
I can also provide training based on this material - but tailored to your needs - directly to your company or organisation.
Topics covered (depending on time and preference) include:
- What is a test?
- Types and roles of tests.
- How to write good tests (and avoid writing bad ones).
- What are the benefits of writing tests first?
- The TDD cycle
- The art and craft of TDD
- The psychology of TDD and maximising mental flow states
- How TDD slows you down
- How TDD makes you go faster!
- Design principles that are related to testing
- Deliberate practice
- The transformation priority premise
- BDD
- Property based testing
- Mutation and Fuzz testing (not in depth)
- Mocking and faking (pros and cons)
- Addressing slow, flakey and brittle tests
- Should you test private implementation?
- How do you test singletons?
- When should you not write tests?
- Working with legacy code
If you'd like to book something, or to find out more, please send me an email