Предположим пишу приложение, которое должно работать как в Windows так и в Linux. Как по уму делается его тестирование в Linux (или наоборот). Поднимается VM на нее ставится Linux. Запускается сборка на Windows, потом на Linux и смотрится результат или как?
Разрабатывается на любой удобной ОС. Как все готово, ставим виртуалку, тестируем там, фиксим все вылезшие косяки, проверяем еще раз в первой ОС, и делаем релиз)