This document discusses using Beaker to enable continuous integration testing of Puppet code. Beaker allows testing entire systems by provisioning virtual machines, configuring them using Puppet, deploying applications, running tests, and reporting/destroying machines. It provides examples of using Beaker to create VMs on AWS, configure them with roles, deploy applications, run integration tests on the roles, and report/destroy machines. Beaker helps ensure Puppet code works as expected by fully simulating a Puppet deployment.