Здесь многое зависит от того, готов ли проект платить за инструменты и ресурсы.
1. Должен быть какой -то программный продукт, из которого будут запускаться (храниться) тесты
Тесты - это, как правило, код, который хранится в системе версионирования. Далее он компилируется (если это нужно) и запускается средствами интеграции. Что за инструмент - не совсем пока понятно, какие функции от него ожидаются?
2. Тестирование хотелось бы проводить на вирт средах ( есть опыт работы с WMware workstation) т.е перед началом теста подниматься должны 5-10-15 вирт машин разных ОС и там прогоняться все тесты.
Если столько виртуалок, да еще под Windows, Вам наверняка понадобится выделенный физический сервер или облако. Посмотрите в сторону бесплатных гипервизоров от vmWare на базе ESXi.
Процесс запуска самих машин зависит от используемых инструментов. На гипервизоре, в принципе, оси могут быть запущены постоянно или включаться/выключаться при помощи shell-комманд.
Запуск тестов, опять же, зависит от выбранного инструмента интеграции. Если это TFS или TeamCity (условно бесплатные), у них есть свои билд-агенты, если Jenkins или CC.Net (бесплатные) - скорее всего, запуск пойдет через скрипты, здесь можно использовать OpenSSH или (для Windows) Sysinternals Process Utilities. TestComplete тоже умеет запускать распределенные тесты, даже без CI системы, но всё за деньги.
3. Какими средстdами тестировать GUI написанное на WPF.
4. На каком языке писать сами скрипты ( powershell, autoIT, )
Язык - берем, который ближе, и на котором легче сможете написать. Про powershell не совсем понятно, какой именно инструмент для работы с UI будет в нем вызываться.
Ну а дальше выбор зависит от того, насколько сложное приложение, сможет ли инструмент распознавать его элементы, и какие языки он поддерживает. Надо пробовать.
AutoIt - наверное, можно использовать, если этого достаточно.
Sikuli - как всегда, можно использовать для любых интерфейсов, но инструмент очень своеобразный.
Twin - позволяет выполнять тесты удаленно: запускаем тесты на одной машине, а тестируемое приложение - на другой, клиенская библиотека сделана для Java.
TestComplete - глубоко залезает в объекты, дает очень много возможностей, плюс хорошо организует тесты, но платный.
Есть еще интересная штука - UIAutomationClient - это библиотека в составе .NET, специально созданная для тестирования WPF, но она очень абстрактная, т.е. весь фреймворк, все полезные функции для работы с элементами придется писать с нуля (ну или поискать, м.б. есть готовые решения). Это альтернатива, если захочется писать под дотнетом, т.к. у Visual Studio с функцией тестирования цена неподъемная.
Ну, а платных инструментов вообще много, если поискать.