We've all seen code that works perfectly on a developer's laptop or CI server, but fails in production. Differences such as outdated software versions, more restrictive file permissions, or incorrect settings can cause bugs that evade automated tests. Fortunately, provisioning tools such as Ansible can ensure consistency between dev, test, and production environments. Test Engineers can leverage these tools to reduce risk and increase confidence that code will work in production.
In this talk, I'll show how to use the same Ansible scripts to provision both Vagrant VMs (for local development) and AWS instances (for automated tests and deployment). Along the way, I'll point out some common pitfalls and how to avoid them. Finally, I'll discuss how understanding your production infrastructure can make you a more effective Test Engineer.
Bio: Will Daly is a Test Engineer at EdX, a non-profit that puts high-quality classes online for free.