Internet Explorer 11 shipped with a fairly good set of emulation tools. If you know what issues are being reported in Internet Explorer 10, you can attemp to replicate those in emulation. If you succeed, it's very likely that you can proceed to troubleshoot those issues while in emulation.

At times you may run into some things that aren't reproducible in emulation, and instead require a native instance of Internet Explorer 10 (or any other version for that matter). At this point you really only have a couple of options:
- Virtual Machine in your browser (http://browserstack.com)
- Virtual Machine on your desktop (http://modern.ie)
Each option has its own set of pros and cons. In-browser virtual machines can be spun up very quickly, and don't require a serious amount of system resources to run. That being said, the experience can be choppy and not conducive to troubleshooting issues that rely on low latency.
Desktop emulation is great because you have a more near-native feel. Unfortunately, this means you need to download very large files to get a second operating system running within your current operating system. Furthermore, you may find yourself wrestling with configurations and more.
I personally use a combination of the two, depending on what issue I am presently trying to troubleshoot. As a good practice though, writing clear and valid markup, along with using best practices like progressive-enhancement, and feature-detection to serve up alternate code-paths, results in a lower chance you'll have to spend much time debugging anything.