С архитектурной точки зрения лучше создать ферму тестирования серверов, достаточно мощных для запуска виртуально настроенных виртуальных машин. Он может быть запущен процессом очереди, прослушивающим запросы на интеграционное тестирование (которое может быть запущено с помощью SVN-коммитов или других проверок контроля источника в триггерах).
Для наиболее точного диапазона тестирования вы, вероятно, захотите иметь отдельную виртуальную машину для каждой конфигурации. Это уменьшит риск конфликтующих конфигураций, а также увеличит гибкость запуска пользовательского набора виртуальных машин (например, Oracle + MySQL + PostgreSQL, а не другие и т. Д.). В зависимости от вашего процесса сборки, он также может позволить вам запускать 10-минутные сборки.
Преимущество использования фермы интеграционных испытаний заключается в том, что если вы находитесь в пути, используя свой ноутбук, вы можете запустить интеграционную сборку после регистрации кода, запустить все тесты и уведомить вас о результатах. Вы также можете архивировать каждый запрос и результаты, чтобы помочь диагностировать сбойные сборки.