For this site, I decided to make deployment and testing easier by setting up a small Continuous Integration (CI) workflow. Ultimately, I'd like to have a self-assembling stack, that can be deployed across different platforms, allowing me to spend more time on coding.
Selenium provides a way to automatically interact with a website, following a pre-determined test route. These tests often need to be run across a range of browsers. A Selenium grid is an efficient means of running a suite of tests across different browsers.
Vagrant is a good way of quickly creating VMs for a range of uses. I use it to establish base VMs for Ansible orchestration, or for testing out my orchestration scripts on different Linux distros.