Making Hard C++ Tests Easy: A Case Study From the Motion Planning Domain
Talkat CppCon 2024 · on Wednesday, 2024-09-18· at 16:45· Spruce 3/4, 6700 North Gaylord Rockies Boulevard·
summary
Claims a concrete pipeline: an open-source Au units library underpins chainable pose/path/motion types, a map layer provides either map sketches or backdrops, and a scene builder emits timestamped message buffers. Implementation uses tag types and variadic-template containers so tests auto-generate planner inputs, support input tweaks (drop/stale/invalidate) and produce S3 visualizations; example shows faster, maintainable integration tests and fewer brittle construction helpers.
AI-written summary · about
chapters (29)
- 0:00Introduction
- 0:42Talk goals
- 2:07Test spectrum importance
- 3:54Complicated function inputs
- 5:19Autonomy stack overview
- 7:29Motion planning cycle
- 8:10Cheat code for changes
- 9:36Motion planning test example
- 11:21Test infrastructure layers
- 12:43Open source units library
- 13:03Poses paths and motions
- 15:55Path alignment solution
- 16:38Road optimization
- 18:03Path and motion composition
- 20:58Flexible API interfaces
- 23:48Map abstractions
- 26:59Map sketch approaches
- 31:16Scene builder intro
- 33:24Adding actors
- 37:373D test visualization
- 39:00Testing boundaries
- 41:30Maintainability benefits
- 42:54Scene builder internals
- 48:06Fault conditions testing
- 51:35Core conclusions
- 53:02Generalizing approach
- 54:08Q&A session part one
- 58:41Q&A session part two
- 1:00:49Q&A session part three and closing
related talks
46mTestability and C++ API Design
05m650 line C++ unit test library (easy to use)
59mC++ Unit testing - the good, the bad & the ugly
01h 07mPragmatic Unit Testing in C++
29m“Save $$ Testing Code the Playback-Based Way”
58mConcept Based Testing
27mIEEE CoG 2019 - Industry Day - Hubert Mohr-Daurat (Creative Assembly)
08mExample-driven development: bridging tests and documentation
