As someone who’s spent years diving into the intricacies of Terraform and OpenTofu, I’ve seen the chaos that comes with “yolo deploying” (rushing changes without verification, only to face outages, compatibility snags, or unexpected bugs). My recent presentation at the first ever Infrastructure as Code Conference highlights a critical shift every team should embrace: treating testing as a non-negotiable cornerstone of infrastructure development.
While it might feel like extra work upfront, testing isn’t just about catching errors; it’s about building trust, saving time, and creating a culture where teams feel safe to innovate. By prioritizing practices like linting, security scanning, and automated testing, we can transform chaotic deployments into reliable, repeatable processes. Whether you’re a seasoned engineer or just starting out, this video unpacks how small, strategic steps (like using tools like TFlint, Checkov, or Terraform-Docs) can drastically reduce risk and boost productivity with minimal effort. I also dive into the trade-offs between Terraform’s native testing tools and Terratest, which take a bit more effort than the simple tools above but can give you deep confidence in your modules.
Of course, if you want to learn even more this topic is covered very thoroughly in my book Terraform in Depth.