Первое и хардкорное - виртуалки, предустановленные браузеры и распаралелленные тесты гоняющиеся ваших машинах.
Основной минус - необходимо поддерживать зоопарк этих самых виртуалок, хотя учитывая что список браузеров и поддерживаемых версий относительно статичен, то это не особо большая проблема. Но на этапе создания этого самого зоопарка придется помучиться.
Второй вариант - тулзы для этого предназначенные. Уже упомянутый BrowserStack, SauceLabs(который лично я рекомендую) и куча альтернатив которые можно найти на
alternativeto.net/software/sauce-labs
Из минусов этого подхода - что-то очень медленно работает, что-то очень криво работает (т.к. гоняет эмуляторы вместо конкретных версий браузера). + проблемы с локальными хостами и прочим.
Такие дела.