Presentation: Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
This presentation is now available to view on InfoQ.com
Watch video with transcriptAbstract
Here's a hard truth: infrastructure code without automated tests is broken.
I mean this both as an aphorism and as a literal statement. Every single time I’ve gone to write infrastructure code, no matter how much effort I put into testing it manually, keeping the code clean, and doing code reviews, as soon as I took the time to write automated tests, I found numerous, nontrivial bugs. Something magical happens when you take the time to automate the testing process and, almost without exception, it flushes out problems that you otherwise would’ve never found yourself—but your customers would’ve.
This talk is a step-by-step, live-coding class on how to write automated tests for infrastructure code, including the code you write for use with tools such as Terraform, Docker, Packer, and Kubernetes. Topics covered include:
- Unit tests
- Integration tests
- End-to-end tests
- Dependency injection
- Test parallelism
- Retries and error handling
- Static analysis
- Property testing
- CI / CD for infrastructure code