Assumptions

I assume that you have a working knowledge of how Puppet works. This is not intended to be a tutorial on Puppet but just a guide on how to integrate a Test Driven approach to developing your modules.

You should also have some experience on how to provision and manage a Linux system. You know things like how to create users, directories, set permissions, install packages, etc.

You should be running a Nix based system (Linux, Mac).

Must of our examples will be writen for an Ubuntu 14.04 system. But they can be ported to an RedHat based system.

And, you care about code quality and are not OK with cutting corners.