C++ Test-driven Development
summary
Concrete claim: test-driven cycles produce simpler, safer C++ and refactoring speeds up with IDE help. Demonstrations use Eclipse CDT and Cevelop tooling to auto-generate code from tests, run unit tests until green bar, and refactor with an extract function operation. Examples build a testable hello world, a switch class and an expression evaluator, showing failing tests turned green and a ~1:1 to 1:2 ratio of test to product lines. Tools include ostringstream substitution for IO testing.
AI-written summary · about
chapters (29)
- 0:00Introduction
- 1:01Software quality crisis
- 2:25University to real-world testing
- 3:49Automated testing imperative
- 5:17Live refactoring: Untestable to testable
- 9:34Splitting code into components
- 13:17First unit test with failing assertion
- 16:11Fixing test and green bar
- 19:07Verify original functionality
- 20:37Effective unit testing principles
- 23:06Automated testing levels and structure
- 26:02TDD cycle and workflow
- 28:53Live TDD demo: Switch class
- 34:20Refactoring tests and new cases
- 38:21TDD demo takeaways
- 38:43TDD patterns and practices
- 40:30Refactoring as ongoing process
- 41:57Clean and habitable code
- 43:04Incremental code growth
- 44:50Pair programming and APIs
- 45:35Strategies for quick green bar
- 46:38Automating bug fixes
- 47:19Version control and breaks
- 48:21Next year’s testing talk
- 49:26Large test setups and performance
- 53:19Mock objects and slow tests
- 54:44Homework and closing
- 55:04Live demo: Test-first evaluator
- 59:41Summary and call to action
related talks
01h 22mTest-Driven Development of C++ Embedded and System-Level Software
01h 03mRewiring your brain with test driven thinking in C++
32mThinking in tests
01h 02mRewiring Your Brain - Boost Productivity with Test Driven Thinking in C++
01h 01mBack to Basics: Test-driven Development
48mTDD - It's About More Than Just the Tests
49mESSENTIALS - Canon Test-Driven Development
21mHow TDD and CDD make your apps suck less
