Visual Studio 2015 Update 1 adds this.
https://learn.microsoft.com/visualstudio/releasenotes/vs2015-update1-vs#misc
For Update 2, there is a UI toggle button in the toolbar at the top of the Test Explorer pane (between the 'grouping' and 'search' boxes).
For Update 1, Set the following in the .runsettings
<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
<RunConfiguration>
<MaxCpuCount>0</MaxCpuCount>
</RunConfiguration>
</RunSettings>
The value for MaxCpuCount has the following semantics:
• ‘n’ (where 1 <= n <= number of cores) : upto ‘n’ processes will be launched.
• ‘n’ of any other value : The number of processes launched will be as many as the available cores on the machine.
Note also for MSTest V2, you can apply parallelism at the class level, either with assembly directives:
[assembly: Parallelize(Workers = 3, Scope = ExecutionScope.ClassLevel)]
or the .runsettings:
<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
<!-- MSTest adapter -->
<MSTest>
<Parallelize>
<Workers>4</Workers>
<Scope>ClassLevel</Scope>
</Parallelize>
</MSTest>
</RunSettings>
An assembly, class, or method can opt out with [DoNotParallelize]
See https://github.com/Microsoft/testfx-docs/blob/master/RFCs/004-In-Assembly-Parallel-Execution.md