Это субъективный вопрос и более по аналогии с ServerFault, но я все равно отвечу на него.Мне нравится Hyper-V или ESX, но я уверен, что другие тоже в порядке.Не уверен, что есть один «лучший», и я бы спросил любого, кто утверждает, что он есть.
Вам нужно что-то, что является родным гипервизором (Hyper-V, ESX, XenServer, а не виртуальный ПК / сервер), KVM, VirtualBox или GSX), поддерживает создание снимков и имеет уровень автоматизации, подходящий для того, насколько трудно вам управлять.Если вы хотите интегрироваться с автоматизацией лаборатории тестирования Microsoft Team Foundation Server, вам также необходимо использовать SCVMM (System Center Virtual Machine Manager), что означает использование Hyper-V.
На моей последней работе у нас было 50+Серверы сборки на базе ESX с базовым снимком.У нас была автоматизация сборки, которая называлась VSphere API для сброса виртуальной машины до базового снимка и включения питания.Это гарантировало, что каждая сборка запускалась с машины в том же чистом состоянии.Мы запускали более 100 000 сборок в год на этой инфраструктуре.
Я также делал подобные вещи, используя HyperV.Hyper-V имеет API-интерфейс управления на основе WMI, использующий RPC, и немного сложнее, чем VSphere, но он работает.VSphere API основан на веб-сервисах и имеет клиентскую объектную модель для .NET, которая намного проще в использовании.
Для тестирования вы хотите иметь возможность программно настроить виртуальную машину в определенном состоянии, разверните установщик назатем запустите наборы интеграционных тестов.