Test Kitchen
Test Kitchen is a free test harness for executing infrastructure code in isolation on one or more platforms.
What Test Kitchen is
Test Kitchen is a free test harness for executing infrastructure code in isolation on one or more platforms. Its workflow uses create, converge, setup, verify and destroy commands to provision environments and test infrastructure code. Documented drivers target environments including Amazon EC2, Apache CloudStack, DigitalOcean, Docker through Dokken, Google Cloud Platform, Hetzner Cloud, Vagrant, Azure, Hyper-V, OpenStack and VMware products. Which drivers are available depends on the driver gems installed in the Ruby environment. Provisioning can use Chef Infra, Cinc Client, Habitat, PowerShell DSC or shell scripts; listed verification integrations include Cinc Auditor, Chef InSpec and Serverspec. Community-maintained plugins add Ansible, Puppet and Salt provisioners. Test Kitchen can be installed from RubyGems, system packages or Cinc Workstation; it does not bundle Cinc or Chef tooling itself. Workstation packages provide the components bundled in each package. Requirements include a 64-bit operating system and enabled CPU virtualization. The project uses Apache License 2.0 and directs users to Chef Community Slack for assistance. The documentation notes that kitchen-docker has known issues and no current maintainer, and recommends kitchen-dokken instead.
Good
- Free and licensed under Apache License 2.0
- Supports multiple infrastructure drivers and provisioners
- Includes listed compliance and testing integrations
- Community plugins add Ansible, Puppet and Salt provisioners
- Can be installed from RubyGems, system packages or Workstation
Watch out
- Requires a 64-bit operating system
- CPU virtualization must be enabled
- Driver availability depends on installed driver gems
- kitchen-docker has known issues and no current maintainer
Who it suits
Test Kitchen suits infrastructure developers who want to provision isolated environments and verify infrastructure code, including Chef cookbook workflows. Users should be comfortable with its Ruby environment and prerequisite virtualization setup.
Verdict
Test Kitchen provides a command-based workflow for provisioning and checking infrastructure code across several environments. Check installed drivers and prerequisites, and note the documentation’s recommendation to use kitchen-dokken instead of kitchen-docker.
Plans and prices
From Test Kitchen's own pricing page, checked 15 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| Open-source Test Kitchen | Free | Apache License 2.0 · self-managed Ruby installation |
The facts
Each one read from Test Kitchen's own pages, with the date it was checked.
What it does
- Additional provisioners
- The documentation lists community-maintained kitchen-ansible, kitchen-puppet, and kitchen-salt plugins.checked 30 Sep 2026
- Audience
- The getting-started guide demonstrates using Test Kitchen to create and test a Chef Infra cookbook and describes a test-driven development workflow.checked 30 Sep 2026
- Built-in workflows
- The documented lifecycle uses create, converge, setup, verify, and destroy commands.checked 15 Oct 2026
- Chef dependency handling
- Chef workflows can resolve cookbook dependencies through Berkshelf or Policyfiles, or use a cookbooks directory.checked 15 Oct 2026
- Current release
- GitHub lists Test Kitchen 4.1.5, released on September 18, 2026, with streamed log formatter reuse as a performance improvement.checked 15 Oct 2026
- Documentation depth
- The documentation site contains getting-started guides, command references, driver, transport, provisioner and verifier pages, configuration reference, contracts, examples, FAQ, lifecycle hooks, and glossary.checked 15 Oct 2026
- Driver architecture
- Drivers connect Test Kitchen to virtualization systems and cloud providers including Vagrant, Amazon EC2, Azure, Google Compute Engine, VMware, and Docker.checked 15 Oct 2026
- Driver availability
- Driver availability depends on which driver gems are installed in the Ruby environment running Kitchen.checked 30 Sep 2026
- Driver integrations
- Official driver documentation covers AWS EC2, CloudStack, DigitalOcean, Docker via Dokken, Google Cloud, Hetzner, Vagrant, Azure, Hyper-V, OpenStack, VMware vCenter, and VMware vRealize Automation.checked 15 Oct 2026
- Drivers
- Documented drivers target Amazon EC2, Apache CloudStack, DigitalOcean, Docker via Dokken, Google Cloud Platform, Hetzner Cloud, Vagrant, Azure, Hyper-V, OpenStack, VMware vCenter, and VMware vRealize Automation.checked 30 Sep 2026
- Extensibility API
- The current driver contract documents the existing driver API behavior and implementation details for plugin authors.checked 15 Oct 2026
- Installation
- Users can install the gem with gem install test-kitchen or install Cinc Workstation.checked 15 Oct 2026
- License
- The project is released under the Apache License 2.0.checked 15 Oct 2026
- Limit: abstraction overhead
- A G2 reviewer wanted the underlying Vagrant configuration exposed verbatim instead of abstracted behind Kitchen configuration.checked 15 Oct 2026
- Limitations
- The documentation says the kitchen-docker driver is currently without a maintainer and has known issues, and recommends kitchen-dokken instead.checked 30 Sep 2026
- Limit: information discoverability
- A G2 reviewer said some recipe information was complicated to reach and look up.checked 15 Oct 2026
- Limit: learning curve
- A G2 reviewer said users need substantial DevOps knowledge and can spend hours resolving minor cookbook bugs.checked 15 Oct 2026
- Limit: legacy driver projects
- The documentation marks kitchen-rackspace as unmaintained and says several other historical drivers are not listed because they are unmaintained or superseded.checked 15 Oct 2026
- Limit: plugin availability
- Available drivers depend on which gems are installed in the particular Ruby, Cinc Workstation, or Chef Workstation environment.checked 15 Oct 2026
- Limit: unmaintained Docker driver
- The driver documentation says kitchen-docker is currently without a maintainer and has known issues, recommending kitchen-dokken instead.checked 15 Oct 2026
The company
- Company founded
- Progress says four founders created the company in 1981.checked 15 Oct 2026
- Company headquarters
- LinkedIn identifies Burlington, Massachusetts as Progress Software headquarters.checked 15 Oct 2026
- Company size
- LinkedIn lists Progress Software as a public software-development company with 1,001–5,000 employees and 4,302 discoverable employees.checked 15 Oct 2026
- Owner acquisition
- Progress Software completed its acquisition of Chef Software on October 5, 2020, for approximately $220 million in cash.checked 15 Oct 2026
The full review of Test Kitchen
Overview
Test Kitchen is a command-line test harness for infrastructure code, best suited to teams that want to exercise changes against isolated machines and environments. Its open-source, no-cost model is appealing, but the workflow assumes comfort with Ruby tooling and the drivers and prerequisites each environment requires.
It is strongest as a flexible test runner for infrastructure workflows—not as a turnkey environment: drivers depend on installed Ruby gems, and the project recommends Dokken over its unmaintained Docker driver.
For a wider view of tools in this category, see the Infrastructure Testing Tools list.
Key features
Kitchen organizes a test run around create, converge, setup, verify, and destroy. That sequence provides a repeatable way to provision a platform, apply infrastructure code, prepare and check the instance, then tear it down. It suits development workflows where infrastructure changes need checks across environments; it is less suited to someone seeking a graphical or fully bundled testing service.
Documented drivers target Amazon EC2, Apache CloudStack, DigitalOcean, Docker through Dokken, Google Cloud Platform, Hetzner Cloud, Vagrant, Azure, Hyper-V, OpenStack, VMware vCenter, and VMware vRealize Automation. The breadth is useful when testing across different providers, but each driver requires its gem in the Ruby environment running Kitchen, so support does not mean every target is ready immediately.
Provisioning options include Chef Infra, Cinc Client, Habitat, PowerShell DSC, and shell scripts. Community-maintained plugins add Ansible, Puppet, and Salt. The home page names Cinc Auditor, Chef InSpec, and Serverspec as testing framework integrations. This makes Kitchen adaptable to several infrastructure stacks, although the core tool does not bundle Cinc or Chef tooling.
Installation is available through RubyGems, system packages, or Cinc/Chef Workstation; the RubyGems command is gem install test-kitchen. Workstation packages include the drivers, provisioners, verifiers, and commands in that package. The getting-started guide requires a 64-bit operating system and enabled CPU virtualization—practical prerequisites to check before committing to a local workflow.
Pricing
Open-source Test Kitchen: free. The Apache License 2.0 plan allows installation from RubyGems, system packages, or Cinc/Chef Workstation. There is no paid tier or seat cap in the plan described. The trade-off for the free price is that users assemble the appropriate Ruby gems and tooling themselves; Workstation offers a packaged set of components, not a different paid plan.
Platforms
Test Kitchen supports Linux, macOS, and Windows. Its execution model is local, with infrastructure targets spanning Amazon EC2, Microsoft Azure, Google Compute Engine, DigitalOcean, OpenStack, and Rackspace Cloud. Actual driver availability depends on installed gems, so platform coverage should be evaluated against the particular Ruby setup and target environment.
Who it's for
Kitchen is a good fit for infrastructure developers who want a command-based, repeatable way to provision and verify changes, particularly those working with Chef Infra cookbooks. Its getting-started workflow demonstrates test-driven development, while provisioner options extend its reach to Ansible, PowerShell DSC, Puppet, and Salt. It is a weaker fit for users who want infrastructure checks without managing local prerequisites and driver dependencies. Community assistance is available through the #test-kitchen channel on Chef Community Slack.
Pros and cons
- Pro: A five-command workflow gives infrastructure tests a clear lifecycle, from provisioning through cleanup.
- Pro: Drivers and provisioners span multiple clouds and configuration tools, making one harness useful across varied infrastructure work.
- Pro: The Apache License 2.0 and free plan leave no software charge to adopt the tool.
- Con: Driver use depends on Ruby gems installed in the running environment, adding setup work and potential variation between machines.
- Con: A 64-bit operating system and enabled CPU virtualization are prerequisites, which constrain where local runs can happen.
- Con: The kitchen-docker driver lacks a maintainer and has known issues; the project recommends kitchen-dokken instead.
- Con: Kitchen itself does not bundle Cinc or Chef tooling, so users must account for those components separately unless using a Workstation package.
Alternatives
Choose Terratest if an open-source, Apache 2.0-licensed option built by Gruntwork is a better fit; its listed platform is Linux.
Choose Checkov if you want a free, open-source CLI under Apache-2.0 on Linux or macOS.
Chef InSpec is worth considering when the compliance-testing tool itself is the priority: its free plan is unlimited in duration but limited to non-production workloads and personal, non-commercial use, and a free 30-day trial is offered.
KICS is another free open-source choice, available on Linux, macOS, self-hosted environments, and Windows.
Choose AWS CloudFormation for a freemium AWS service if you need its infrastructure provisioning; CloudFormation itself is free, but underlying AWS resources are billed at their own rates.
Cinc Auditor is a free Chef InSpec distribution for readers who need that testing tool directly; it comes without formal warranties or support.
Conftest is a free Apache License 2.0 alternative for Linux, macOS, and Windows.
Sonobuoy is an open-source alternative for Linux, macOS, self-hosted environments, and Windows.
Verdict
Test Kitchen is a strong choice for infrastructure developers who want a free, extensible command workflow for testing changes across isolated environments. Its broad driver and provisioner ecosystem is the main reason to choose it; the need to manage Ruby dependencies, virtualization prerequisites, and individual tooling is the main reason to look elsewhere.
Alternatives to Test Kitchen
- 1
Chef InSpec
Free planOpen sourceAPILinuxmacOSSelf-hosted8.0From $59 a year - 2

AWS CloudFormation
Free planiOSWebAPILinux7.7Free plan - 3

CIS-CAT Pro Assessor
Free planAPILinuxmacOSSelf-hosted7.7From $2,400 a year - 4
kube-score
Free planWebLinuxmacOSSelf-hosted7.0Free plan - 5
Conftest
Free planLinuxmacOSWindows6.8Free plan - 6
Kubetest2
Free planOpen sourceAPISelf-hosted6.8Free plan
