Awesome thread guys, thanks for kicking this off @Haigha
As a macOS user, I use virtualbox for Windows & Linux testing when required - the process seems pretty much identical to the steps listed by both Haigha and Southside above. If you need me to check any specifics from a macOS perspective just let me know.
One thing I have come across in the past is issues with VM hard disk space if you intend to manually build projects. Projects such as safe_vault and safe-api use up a fair amount of hard disk space once built locally. This probably isn’t applicable to the majority of users who would more likely download the binaries and use them, rather than build full projects, however like JPL said above there probably isn’t much need for a VM (IMO) if you are just intending to try out a downloaded binary (unless you wanted to try on a different OS).
For anyone wondering why someone would want to build projects themselves rather than just download the latest binary - we release new binaries for our different projects periodically when we believe that a relevant amount of progress has been made to justify a new version, and enough testing has been done in the meantime to feel confident that the new version is stable enough for public release. However, as our projects are fully public on GitHub, anyone is able to view and clone/fork, then build the latest code before we have officially packaged and released it ourselves. Some people want to try out new features or fixes this way before they are officially released, for example it may be a feature or fix that is blocking them from making progress on a project of their own. Some may also wish to tweak the code to build modified binaries of their own.
Back to VMs. For Linux/Unix VMs I can recommend the open source images you can download from osboxes.org. These ready-to-use images have some additional software pre-installed for you on them to save you installing yourself, software such as Firefox and VirtualBox Guest Additions. Just saves a little extra work installing these once start your new VM.