Continuous Integration Testing
summary
Describes concrete CI patterns for high‑fidelity integration tests: build containers, provision an SUT, run curl/grep checks, then tear down. Compares four provisioning methods with tradeoffs — docker compose (fast, low fidelity), namespace-per-test on shared Kubernetes (good balance, recommended), self-destructing VM running single‑node k8s (perfect isolation, cheap but slower), and full cluster per test (best fidelity, slowest and costliest). Emphasizes speed, ephemerality, parallelism, and handling stateful DBs or sanitized prod data.
AI-written summary · about
chapters (21)
- 0:00Intro
- 1:21Continuous All The Things! Good for business. Good for process. Good for people.
- 1:37Before Continuous Integration (BCI)
- 2:38Continuous Integration (CI)
- 3:18Software Testing
- 4:59Idealized Test Pyramid
- 5:50Actual Test Pyramid
- 6:34Integration tests are hard. Production runtimes != developer machines Cost
- 6:57Microservices make it harder.
- 11:47Integration Testing limits risk We can still do it - even on microservice applications. It's hard, but (potentially) worth it. Make informed risk analyses.
- 12:18Provisioning Creating a System Under Test (SUT)
- 15:21An example Kubernetes ("K85") microservice application
- 16:23Integration test flow
- 16:58Docker Compose
- 17:55K8s Staging Cluster
- 18:58Self-Destructing VM?
- 20:11Technique 3: Self-destructing VM!
- 20:50K8s cluster per test
- 21:14Integration testing techniques
- 24:01But Dave, what about... Lots of services? Stateful storage? PII?
- 24:54Yes, we can (still) do integration testing
related talks
31mContinuous Integration Testing
28mContinuous Integration Testing: Fully Test your Microservices Application, Early and Often
45mRunning Tests in Continuous Integration
30mContinuous Integration; Tips & Tricks
24mOrchestrating automation tests for Continuous testing
01h 02mContinuous Integration: Tips & Tricks
37mUnderstanding the successes and the pain points of different testing strategies
43mEffective CI/CD for Large Systems
