Free Terraform Associate Practice Exam 2026 — The Questions That Tripped Me Up
12 free practice questions covering HCL, state management, modules, and the Terraform workflow. No fluff.

I use Terraform every day at work. Write modules, manage state, review PRs — the whole thing. So I figured the Terraform Associate exam would be a breeze.
It wasn't.
Not because it's insanely hard, but because it tests things I take for granted. Stuff like: what exactly does terraform init do under the hood? Or: what happens to state when you rename a resource? I know the answers from experience, but explaining them in a multiple-choice format is a different game.
Here are the types of questions that tripped me up. See if they catch you too.
Terraform Associate 003 — What You Need to Know
| Detail | Info |
|---|---|
| Exam Code | HashiCorp Terraform Associate 003 |
| Questions | 57 questions |
| Duration | 60 minutes |
| Passing Score | ~70% (HashiCorp doesn't publish exact cutoff) |
| Cost | $70.50 USD |
| Format | Multiple choice, multi-select, fill-in-blank |
| Validity | 2 years |
At $70.50, it's one of the cheapest cloud/DevOps certifications out there. And with 57 questions in 60 minutes, you have about a minute per question — tight but manageable if you know your stuff.
Practice Questions: IaC Concepts & Terraform Basics
Question 1
What is the primary benefit of Infrastructure as Code (IaC) compared to manual infrastructure provisioning?
IaC's core value is consistency and reproducibility. Code can be version-controlled (Git), peer-reviewed, tested, and reused. It's not always faster (first-time setup can be slower), doesn't eliminate bugs, and you still need cloud accounts.
Question 2
Which command initializes a Terraform working directory by downloading providers and setting up the backend?
terraform init is always the first command you run. It downloads provider plugins, initializes the backend (where state is stored), and downloads modules. You must run it before plan or apply. Validate checks syntax but doesn't download anything.
Practice Questions: State Management
State is where most people get tripped up. And honestly, state management is where Terraform gets interesting — and dangerous.
Question 3
What happens if you rename a resource block in your Terraform configuration without using terraform state mv?
This is a classic gotcha. Terraform tracks resources by their address in state (e.g., aws_instance.web). If you rename it to aws_instance.server, Terraform sees "web" as deleted and "server" as new — so it plans to destroy and recreate. Use terraform state mv or the moved block (Terraform 1.1+) to avoid downtime.
Question 4
Which backend is the DEFAULT when no backend is configured in Terraform?
When no backend is configured, Terraform stores state locally in a file called terraform.tfstate. This is fine for personal projects but terrible for teams — no locking, no sharing, no encryption. Production should always use a remote backend like S3+DynamoDB or HCP Terraform.
Question 5
You want to view the current state of resources managed by Terraform without modifying anything. Which command should you use?
terraform state list shows all resources currently tracked in state. terraform show displays the full state details (also read-only). terraform plan compares config to state (read-only but queries providers). terraform output shows output values only. Both state list and show work, but state list gives the cleanest resource overview.
Practice Questions: Modules & HCL
Question 6
What is the purpose of a Terraform module?
Modules are containers for multiple resources that are used together. Think of them like functions in programming — they let you package, reuse, and share infrastructure patterns. A VPC module might contain subnets, route tables, and gateways as one reusable unit.
Question 7
Which of these is NOT a valid Terraform variable type?
Terraform uses "list" not "array." Valid types are: string, number, bool, list, set, map, object, tuple, and any. If you come from a JavaScript/Python background, this trips you up because "array" feels natural — but HCL uses "list."
Practice Questions: Providers & Workflow
Question 8
Which file should you use to lock provider versions and ensure all team members use the same provider versions?
The .terraform.lock.hcl file (dependency lock file) records exact provider versions and their hashes. It's generated by terraform init and should be committed to version control. This ensures everyone on the team uses identical provider versions. providers.tf and versions.tf contain version constraints, but the lock file pins the exact version.
Question 9
What does the terraform plan command do?
terraform plan compares your configuration to the current state and shows what would change — resources to add, modify, or destroy. It does NOT make any changes. Think of it as a dry run. Always run plan before apply to review changes.
Practice Questions: Advanced Concepts
Question 10
You need to create the same set of resources in both a "staging" and "production" environment using the same Terraform configuration. Which feature should you use?
Workspaces let you maintain separate state files for the same configuration. Each workspace (staging, production) has its own state, so the same code provisions isolated environments. Use terraform.workspace to customize per-environment values. Note: in practice, many teams prefer separate directories or modules over workspaces, but for the exam, workspaces is the answer.
Question 11
How do you mark a variable as sensitive so Terraform doesn't display its value in plan or apply output?
Setting sensitive = true in the variable definition tells Terraform to redact the value from plan and apply output. The value still exists in state (state should be encrypted!), but it won't appear in logs. Neither underscores, tfvars files, nor env vars automatically suppress output.
Question 12
You need to import an existing AWS EC2 instance into Terraform management. Which command do you use?
terraform import maps an existing resource to a Terraform resource address. You need to write the resource block in your config first, then import. In Terraform 1.5+, you can also use import blocks declaratively. But the CLI command is terraform import RESOURCE_ADDRESS RESOURCE_ID.
Study Strategy: What Worked for Me
Here's my honest advice after passing the Terraform Associate:
Build Something Real
Spin up a free-tier AWS account and provision actual infrastructure. A VPC with subnets, an EC2 instance, an S3 bucket with a lifecycle policy. The exam tests concepts, but experiencing them makes the answers obvious.
Read the Terraform Docs — Seriously
HashiCorp's documentation is actually excellent. Specifically read:
- The complete Terraform Associate guide for exam-specific content
- State management concepts
- Module development best practices
- Provider configuration and versioning
Know the CLI Commands Cold
The exam loves asking about what specific commands do. Know the difference between: init, plan, apply, destroy, validate, fmt, state list, state show, state mv, import, workspace, and output.
Don't Overthink It
Unlike CISSP where every question has shades of gray, Terraform questions are more straightforward. The right answer is usually the one that matches the documentation. Trust your practical knowledge.
Related Certifications to Consider
If you're in the DevOps/infrastructure space, these pair well with Terraform Associate:
- AWS Solutions Architect (SAA-C03) — pairs perfectly since Terraform often manages AWS infrastructure
- Docker DCA — containers + IaC = modern infrastructure
- Vault Associate — another HashiCorp cert for secrets management
- GCP Associate Cloud Engineer — multi-cloud IaC is increasingly common
- Kubernetes CKAD — orchestration layer on top of IaC
FAQ: Terraform Associate Practice Exam
Is the Terraform Associate exam difficult?
Moderate. If you've used Terraform in real projects for a few months, the concepts will feel familiar. The tricky parts are state management edge cases, workspaces, and the exact behavior of lesser-used commands. Budget 2-4 weeks of study.
What version of Terraform is tested?
The 003 exam covers Terraform 1.x. Know HCL syntax, providers, state, modules, and the core init→plan→apply workflow. OpenTofu is NOT on the exam.
Do I need hands-on experience?
Technically you can pass without it, but practical experience makes the exam dramatically easier. Set up a free AWS/GCP account and build some infrastructure — it's the best study method and helps concepts click.
Is the Terraform Associate worth it?
For DevOps engineers, absolutely. Terraform is the most widely used IaC tool across AWS, Azure, and GCP. At $70.50, it's cheap relative to its resume value. Plus, it validates a skill that's practically mandatory for modern infrastructure roles in 2026.
How does Terraform compare to cloud-native IaC tools?
CloudFormation (AWS), ARM/Bicep (Azure), and Deployment Manager (GCP) are vendor-specific. Terraform works across all clouds with a single language (HCL). For multi-cloud or cloud-agnostic teams, Terraform wins. For single-cloud-all-in teams, either works.
Want More Terraform Practice Questions?
These 12 questions cover the basics. Get the full practice exam with questions across all exam objectives.
Full Terraform Associate Guide