Что это такое?
Разрабатывая свой продукт для браузера, например, веб-сайт, вы должны понимать: когда потенциальные пользователи его открывают, они будут использовать различные браузеры старых и новых версий. Соответственно, приложения в этих системах будут вести себя по-разному. У каждого браузера есть набор своих уникальных настроек, там есть свои плагины, к тому же, есть определенные отличия в десктопной и мобильной версиях. А потому, в определенных случаях, ваш контент может выглядеть совсем не так, как вы хотели бы. Кроссбраузерное тестирование призвано сделать ваш продукт универсальным, так, чтобы он выглядел предсказуемо на любом браузере.
В чем проблема?
Кроссбраузерные ошибки могут возникать в силу разных причин:
- Браузер – это тоже программа, а значит в ней бывают баги (и чаще всего они там есть), разные приложения по-разному реализовывают одни и те же функции. Производители стараются превзойти конкурентов и получить конкурентное преимущество, поэтому браузеры могут сильно отличаться друг от друга.
- В силу разного отношения к безопасности и по другим причинам, у разных браузеров будут разные уровни поддержки функций. Например, JavaScript- фичи, вероятно, не будут работать на устаревших версиях браузеров.
- Могут быть разные ограничения. Это приводит к тому, что сайты и приложения работают медленно, или контент отображается некорректно. Скажем, если сайт сделан только под десктопную версию браузера, то если просматривать контент на смартфоне, он будет отображаться неудобно или некорректно.
Как организовано кроссбраузерное тестирование?
Кроссбраузерное тестирование следует проводить уже после завершения других видов тестирования. Оно начинается с выбора конкретных систем. Как правило, заказчик сам определяет, с какими именно системами будет работать этот сайт (не нужно стремится создать продукт «все для всех»).
При этом разработчики и тестировщики могут подсказать клиенту, какой браузер стоит сделать доминирующим и на него ориентировать процесс создания продукта. Чтобы оценить это, вы изучаете целевую аудиторию. Вот примерная статистика по количеству пользователей (по состоянию на 2021 год): (Источник данных)
В подавляющем большинстве стран, самый популярный – Google Chrome, поэтому именно его принимают за главный браузер для тестирования. Когда найденные в ходе тестирования баги будут исправлены, при желании можно расширить список тестируемых браузеров (и их версий), чтобы расширить охват целевой аудитории.
Если нет возможности или средств для того, чтобы протестировать все комбинации браузеров, ОС и девайсов на физическом оборудовании, можно воспользоваться эмуляторами (есть специальные инструменты/софт для этих целей) или использовать виртуальные машины.
При кроссбраузерном анализе ПО в первую очередь проверяют характеристики верстки – шрифты, расположение отдельных элементов, функциональность кнопок, то есть то, что заметно невооруженным взглядом. После задействуется анализ JavaScript-сценария (в разных версиях браузеров результат может выглядеть совсем иначе).
Преимущества кроссбраузерного тестирования
После завершения тестирования сайт будет корректно отображаться:
- во всех необходимых специальных конфигурациях клиентов;
- на экранах с любым существующим разрешением;
- независимо от конфигурации машины и сервера.
Инструменты для эффективного кроссбраузерного тестирования
А теперь давайте рассмотрим основные средства для кроссбраузерного тестирования. Итак, вот они:
- Ghostlab. Этот продукт обеспечивает синхронизацию тестирования прокрутки, кликов мышью, обновления на всех возможных устройствах и таким образом вы максимально быстро тестируете весь объем пользовательского опыта, а не только то, как выглядит страница.
- BrowserStack. Приложение обеспечит тестирование браузера в режиме реального времени, давая моментальный доступ ко всем мобильным и десктопным версиям браузера (сейчас есть свыше трех сотен комбинаций), и позволяет опробовать серверы (в домашней сети и за ее пределами), при этом обеспечивается безопасная установка. Можно пользоваться в облаке, а значит не требуется никакой установки, а встроенные инструменты разработки (включая Firebug Lite, Microsoft Script Debugger и многие другие) позволяют провести быстрое кроссбраузерное тестирование и отладку.
- Sauce Labs. Sauce Labs позволяет тестировать в облаке более 260 различных браузеров и устройств, обеспечивая всесторонние тесты, включая Selenium, JavaScript, Mobile и Manual. Там нет установки VM или требований обслуживания, при выполнении тестов вы можете исследовать проблему вручную. Sauce Labs отображает выполненные тесты в хронологическом порядке с информацией о тестировании платформы, времени выполнения, билде и его прохождении.
- Browsershots. Этот сервис помогает делать скриншоты вашего сайта в разных ОС и браузерах (доступны более 60 различных вариантов). Такой подход позволяет удобно, но при этом не очень быстро завершить проверку вашего продукта одновременно на большом количестве браузеров. После ввода адреса сайта (в строке проверки), он появляется в очереди на тестирование. После завершения тестирования поочередно будут появляться скриншоты на странице итогов. Этот процесс, в зависимости от того, что вы выбрали, может занять до 2 часов (но в большинстве случаев намного быстрее).
Какие проблемы решает кроссбраузерное тестирование (примеры):
- В браузере ME при выходе из полноэкранного режима не меняется верстка сайта.
- Скролл-бар списка НЕ прокручивается в IE.
- Нет сообщения с ошибкой, когда введено меньшее количество обязательных символов в поле "Пароль".
- Картинки или элементы страницы обрезаются в конкретном браузере.
- Различное отображение шрифтов в браузерах.
- Названия чек-боксов отображаются не отцентрованными по вертикали.
Наличие ошибок в разных версиях браузера (о которых вы даже не знаете) может сильно испортить пользовательский опыт и как результат, навредить репутации вашего продукта, поэтому ни в коем случае не стоит экономить на этой проверке, нужно привлечь в этот процесс высококлассных тестировщиков, которые хорошо знакомы с кроссбраузерным тестированием.