How to choose between tcm.exe, mstest.exe and vstest.console.exe
Using Visual Studio 2013 plus TFS and MTM. Want to run tests from the command line. There are three programs available. How do I choose which of tcm.exe, mstest.exe and vstest.console.exe I should use?
Microsoft provides many pages about each of the three programs, telling what they do and how to use them. My researches had not found any pages that compared the programs and explained how one should choose between them. The page listed in Kate Paulk's answer gives a start on comparing the programs.
To start with, according to the MSDN documentation I found with a quick search, each tool is optimized for a specific kind of test automation.
- tcm.exe - Team Foundation Server/MTM test cases associated with automation - this runs the test cases, rather than directly running the tests and automatically updates the test case status (I think - I'm not that familiar with it). It appears to be functionally a command line wrapper around MTM's ability to run automation.
- vstest.console.exe - Microsoft unit tests and Microsoft CodedUI tests.
- mstest.exe - this is the "legacy" tool which will run anything Visual Studio recognizes as a test. It's the tool you need to use with load and performance tests created in Visual Studio and can be used to send test results to Team Foundation Server.
Without knowing what kind of tests you want to run and what you want to do with them, it's not possible to give a more detailed answer.