Как выбрать браузеры для кросс-браузерного тестирования веб-приложения?

Ответ

Выбор браузеров основывается на анализе рынка, технических особенностей и требований проекта. Основной стек включает:

  • Chrome — лидер рынка (~65%). Тестируем последнюю стабильную и одну предыдущую версию.
  • Safari — обязателен для экосистемы Apple (macOS, iOS). Имеет собственный движок WebKit и отличается рендерингом.
  • Firefox — важный браузер с движком Gecko для проверки кросс-браузерной совместимости.
  • Edge (Chromium) — хотя и основан на Chromium, может иметь специфичное поведение, особенно в enterprise-среде.

Почему такой набор? Он покрывает основные движки: Blink (Chrome, Edge), WebKit (Safari), Gecko (Firefox).

Для мобильного тестирования добавляем Chrome Mobile, Safari Mobile и популярные варианты вроде Samsung Internet.

Практика: Приоритизацию удобно задавать через конфигурацию browserslist, которую понимают многие инструменты (Autoprefixer, Babel).

// .browserslistrc
"last 2 Chrome versions",
"last 2 Safari versions",
"Firefox ESR",
"edge >= 16"

Важно: Финальный список всегда согласуется с аналитикой проекта (например, Google Analytics) и требованиями заказчика. Для legacy-проектов может потребоваться поддержка IE11.

Ответ 18+ 🔞

А, слушай, про выбор браузеров для тестирования! Ну это ж классика, блядь, вечная тема, как "утопить Муму". Каждый раз одно и то же, но подойти надо с умом, а не просто ткнуть пальцем в небо.

Вот смотри, обычно всё крутится вокруг трёх китов, то есть, прости господи, трёх главных движков. Берём по самому популярному представителю, и вперёд.

Хром — это, блядь, наш царь и бог, ~65% рынка. Его тестируем в обязательном порядке, последнюю стабильную версию и одну предыдущую. Не потому что мы его любим, а потому что если там не работает — это пиздец и позор на всю деревню.

Сафари — вот это, сука, отдельная песня. Это ж яблочники, блядь, со своим движком WebKit. Они там в своей экосистеме сидят, как Герасим под лестницей, и нихуя не слышат. Но народ-то у них богатый, покупает. Поэтому игнорировать — себя не уважать. Обязательно гоняем и на маке, и на айфонах.

Фаерфокс — наш верный друг, этакий Герасим среди браузеров. Движок Gecko, народ преданный. Нужен, чтобы проверить, не накосячили ли мы где в кросс-браузерности. Если в Хроме и Фаерфоксе всё ок — уже хорошо.

Эдж на Хромиуме — а вот это хитрая жопа. Вроде бы тот же Хром, но от Microsoft. Может в корпоративном сегменте какую-то свою дичь творить, плюс у них свои тараканы. Так что для спокойствия души тоже прогоняем.

Суть в чём? Мы покрываем три главных движка: Blink (Хром/Эдж), WebKit (Сафари) и Gecko (Фаерфокс). Всё, блядь, остальное — уже нюансы.

Для мобилы, ясень пень, добавляем Хром мобильный, Сафари мобильный и какого-нибудь популярного уродца вроде Samsung Internet, потому что у корейцев, блядь, своя атмосфера.

А чтобы не запоминать эту хуйню, умные люди придумали конфиг browserslist. Прописал правила — и все инструменты (типа Autoprefixer) сами знают, что поддерживать.

// .browserslistrc — вот эта палочка-выручалочка
"last 2 Chrome versions",
"last 2 Safari versions",
"Firefox ESR",
"edge >= 16"

Но! Главное правило, ёпта: всё это — хуй собачий, если не заглянуть в аналитику проекта. Что там в Google Analytics творится? Может, у заказчика 40% аудитории сидит на древнем IE11? Тогда, блядь, садись, плачь, и начинай полифиллы городить. Финальный список всегда согласуется, иначе получится, как с Муму — вроде всё правильно сделал, а в итоге совесть заебала.