Sometimes, because your customers uses old versions of Internet Explorer in enterprise, you may have undiscovered issues with your web app, and need to reproduce these bugs.
BrowserStack offers a good solution, with tons of different virtual machines available in multiple versions to run your tests. But, if you need to do some debugging in the development console (F12), that service is extremely slow, even unusable.
If you need to run IE versions 8 to 11 without performance issues, I suggest to download these Virtual Machines made by Microsoft. You can get them there (link).
You can choose between IE8, IE9, IE10, IE11 on Win7 and Win8.1, and Edge.
Each of these machines are offered to these architectures:
These virtual machines are already configured and ready to run, with a limited windows licence available for 90 days. After that delay, you may need to re-download a new VM.
My favorite vm engine was vmware, because I can run it for free using VMware Player. But, they recently changed their licencing for these machines, so I discovered that other product, that is as good as vmware. I now use Oracle VirtualBox, a totally free solution even for enterprise.
One thing I must do on these VM before running them, is changing the network adapter setting (of the VM), and choose Bridged network instead of the default option already selected.
Once they are configured and running, instead of using them in the native Player UI, I like to install them as a service (using that method), because I can connect to them using Remote Desktop, from my computer, or from any other computer of the Local Area Network.
Then at work, any developer of our team can connect to these VM, we only need to install them once, and they are always running.