Критерии выбора браузера для тестирования
«Не грузится приложение? Попробуй запустить через другой браузер!». Это самый частый совет, который мы получаем, когда веб-приложение не запускается на «родном» браузере.
Дабы потенциальный пользователь не страдал от необходимости перехода на другой браузер из-за вашего сайта, на этапе подготовки к релизу разработчикам советуют «пропустить» его через кроссбраузерное тестирование.
Александр Панченко и Сергей Немчук из a1qa попробуют разобраться, действительно так ли это так необходимо, как это делается и какие подводные камни могут ждать нас на этом пути.
Уникальные браузеры почему приложения и сайты необходимо тестировать?
Начнём с того, что ни одно веб-приложение (сайт) не будет одинаково работать во всех браузерах. Это обусловлено и разными версиями одного приложения, и разницей в поведении браузера на десктопе и мобильном устройстве, и различным окружением: плагинами, настройками браузера и т. д. Именно поэтому кроссбраузерное тестирование призвано максимально сблизить параметры работы приложения во всех веб-обозревателях.
Конечно, сегодня существует возможность проверки работы приложения в разных браузерах, даже если они не установлены на вашем компьютере. Однако, это не самый надёжный способ.
- Google Chrome (для тестирования, как правило, берется последняя версия), им пользуются 48,06% юзеров в мире;
- Internet Explorer, 19,6% пользователей;
- Mozilla Firefox (последней версии), 16,74% пользователей;
- Safari, 10,63% пользователей (в США — 16,88%).
Некогда популярная Opera скатилась до рейтинговой отметки «другие браузеры» и, помимо Восточной Европы, используется редко. Самым же популярным по статистике является Google Chrome, поэтому, как правило, он принимается за основной браузер для тестов.
Как выбрать приоритетный браузер для тестирования?
Приоритетный браузер всегда определяет заказчик. Исходя из специфики приложения и коммерческого таргетирования, он изначально рассчитывает на определённых пользователей. Это логично. Но не стоит упускать из виду тот факт, что не всегда заказчик достаточно осведомлён о том, насколько широк круг потенциальных пользователей. Поэтому задача тестировщиков, как людей более опытных в сфере веб-тестирования, помочь и подсказать, какой браузер в том или ином случае должен стать «главным».
Кроме пожелания заказчика выбор браузеров для тестирования обусловлен и другими объективными критериями: популярность браузера (согласно статистике) и целевой регион — если, скажем, приложение «нацелено» на Россию, то имеет смысл включить в тестирование Opera, а если на пользователей из США или Западной Европы, тестировать в Opera смысла нет.
Основные моменты, которые должны быть проверены в первую очередь — это вёрстка (шрифт, цвет, расположение элементов) и JavaScript (может «отрабатывать» по-разному).
Кроссбраузерное тестирование может быть упрощено за счёт различных инструментов. Например, можно тестировать на виртуальной машине. Это удобное решение в тех случаях, когда необходимо проверить разные версии одного браузера. Также виртуальная машина подойдет, когда тестирование нужно провести в браузере Safari на Mac OS, а реального устройства на этой «оси» нет. При этом стоит помнить об опасности возникновения дефектов, которые не воспроизведутся на реальном устройстве. Например те, что связаны с отображением элементов.
Мы проверим совместимость вашего приложения со следующими элементами:
Наша цель – обеспечить максимальный уровень качества ПО наших клиентов.Кроссбраузерность – полноценная работа сайта в любом браузере или приложения под любой операционной системой. Крайне желательно, чтобы все компоненты ресурса отображались одинаково, а его функциональность не страдала, независимо от браузера или версии операционной системы пользователя. Кроссбраузерное тестирование, или тестирование совместимости, позволяет определить, соблюдаются ли эти требования.
Цель тестирования: проверить, выполняет ли программный продукт возложенные на него задачи, доступен ли он пользователям с любого устройства, браузера, операционной системы.
Поэтапное кроссбраузерное тестирование
Ключевым этапом является составление матрицы покрытия, в которой предварительно фиксируются все варианты работы с ресурсом. При этом принимаются во внимание, виды браузеров и их версии, графические данные (актуально для игровых приложений), типы устройств (смартфон, планшет, ПК) и другие факторы.
Тестирование совместимости требует учета всех возможных вариантов использования программного обеспечения, а также правильной расстановки приоритетов: какие браузеры наиболее популярны, на каких устройствах они чаще всего используются и так далее. После выделения ключевых параметров QA-инженеры тестируют кроссбраузерность продукта.
В ходе тестирования поочередно проверяется каждая конфигурация из матрицы покрытия, подробно анализируется работа сайта. На основе результатов проверки фиксируются проблемы с отображением и функциональностью ресурса, которые необходимо устранить. В рамках тестирования мы применяем методику, включающую ручные и автоматизированные проверки.
Особенности тестирования
Преобладающее число сайтов и приложений по-разному работают на разных платформах. Может нарушаться графическое отображение, работа функциональности. Это может быть связано с параметрами ОС или настройками интернет-браузера.
Мы проводим тестирование сайта в браузерах, которые пользуются наибольшей популярностью в России и мире:
- Internet Explorer;
- Google Chrome;
- Mozilla Firefox;
- Яндекс Браузер;
- Opera;
- Амиго и других, в зависимости от требований клиента.
Список браузеров для тестирования определяется региональностью и целевой аудиторией ресурса. Вы можете предоставить список браузеров и платформ либо мы подготовим его, исходя из параметров вашего продукта.
Тестирование мобильной версии сайта
На протяжении долгого времени наблюдается тенденция стойкого роста трафика с мобильных ОС. Поэтому важно, чтобы сайт можно было полноценно использовать на планшетах и мобильных устройствах. Применяя комплексный подход, мы проведем анализ верстки, расположения элементов, корректности отображения дизайна (в том числе цветового оформления) мобильной версии вашего продукта.
Нужна помощь в организации тестирования вашего ПО? Хорошая новость, на рынке QA услуг представлен широкий спектр аутсорсинговых компаний на любой вкус. Но вам ведь не нужны первые попавшиеся тестировщики? Да и бюджет не резиновый. Вот почему, прежде чем выбрать подрядчика, каждый заказчик тратит недели и даже месяцы на оценку предложений от QA-компаний. Если не знать несколько секретов такой поиск потребует лишних усилий, а итоговый выбор может стать мягко говоря -«далёким от оптимального».
Для всех, кто исследует вопрос аутсорсинга тестирования ПО или пытается составить шорт-лист поставщиков услуг тестирования ПО, мы подготовили материал с основными моментами, которые следует при этом учитывать.
Определитесь с критериями
Лаборатория качества работает в индустрии тестирования ПО более десяти лет и знает, ЧТО спрашивать у потенциального клиента, а заодно, КАКИЕ вопросы он должен задать, чтобы определить, подходим ли мы друг другу.
Какой формат взаимодействия вы рассматриваете?
Вы хотите привлечь одного тестировщика или команду на краткосрочный разовый проект? А может найти специалистов в существующую команду или отдать на аутсорсинг всё тестирование целиком?
От выбранного варианта зависит продолжительность потенциального взаимодействия. Некоторые компании, предлагающие услуги тестирования ПО, привыкли к краткосрочным проектам по разовым обращениям, другие — более избирательны, предпочитая более высокий уровень сервиса и долгосрочное сотрудничество.
Какую роль должен взять на себя поставщик услуг тестирования в вашем случае? Вам нужна консультация и рекомендации по стратегии тестирования или дополнительные специалисты, которые присоединятся к команде, чтобы реализовать ваш собственный план?
Определитесь со следующими параметрами.
- Продолжительность сотрудничества (краткосрочное или долгосрочное)
- Модель сотрудничества (пополнение своей команды или готовая команда тестирования)
- Тип услуг (проведение тестирования, консультирование и т. д.)
Что важно при выборе поставщика услуг тестирования ПО?
Итак, вы определились, с какого формата сотрудничества начать. Теперь важно разобраться с профилем идеально подходящего для вас подрядчика-тестировщика ПО.
Большинство компаний привыкло сравнивать подрядчиков только с позиции великолепного трио: цена, скорость и качество.
1. Стоит учитывать, что эти критерии работают только если их рассматривать в совокупности.
К примеру, сравнивая только по цене, вы рискуете получить весьма выгодное по стоимости, но сомнительное по реализации предложение. Тестирование силами вчерашних студентов вряд ли впишется в ваши планы как по качеству, так и по срокам.
2. Помните, что выбрать можно только два параметра из трех. Разумеется, только если вы не живёте в идеальном мире.
Качественно + Дёшево + Быстро = Утопия
Вы реалист? Тогда лучше сразу правильно расставьте приоритеты.
Качественно + Дёшево = Долго
Быстро + Дёшево = Халтура
Качественно + Быстро = Дорого
3. Даже если вам удастся выявить фаворита по всем трём критериям, не поленитесь проверить его по нескольким уже не столь очевидным параметрам. Полученная информация может заставить вас пересмотреть своё решение.
Дополнительные критерии
Размер и бренд
Размер имеет значение. Штат компаний, оказывающих услуги тестирования ПО, может включать и пару сотрудников, и несколько тысяч. А бренд может быть как всемирно известным, так и узнаваемым только в конкретной «IT-тусовке».
С кем бы вы предпочли работать — с независимым узкоспециализированным бутиком или крупной аутсорсинговой фирмой, предоставляющей помимо тестирования еще ряд других услуг?
Скорость подбора и выхода на проект
Идеального планирования нет. Часто встречается ситуация, когда тестировать нужно уже завтра, а работать всё ещё некому. Самостоятельный подбор тестровщиков в таких случаях слишком долог и энергозатратен. И даже не потому, что хорошие специалисты на рынке труда не валяются. Просто если у вас нет многолетнего опыта интеграции QA-специалистов на свой проект, этот процесс может сильно затянуться и ни к чему хорошему не привести.
Если нужен гарантированный результат, остаётся полагаться на QA-подрядчиков и их резерв штатных сотрудников. Именно штатных, ведь фриланс биржами вы и сами можете воспользоваться.
Местоположение и формат работы
На вашей территории, в другом городе или другой стране?
Тестировщики должны находиться с вами в одном офисе или работать в удалённом формате? В какой стране? Они могут быть за соседней стеной или на другом конце света? У каждого варианта свои плюсы, минусы, расценки и уровень качества.
С самого своего основания «Лаборатория Качества» готовит распределённые команды QA-инженеров и развивает удалённый формат тестирования. Наши специалисты успешно реализуют проекты, работая из 5 стран и 60 городов мира.
Парк устройств и сред
Одно дело, когда вам нужно протестировать мобильную версию сайта под IOS и Chrome. Совсем другое если ваша ЦА пользуется BADA OS и браузером Flynx.
А если вы планируете выход на азиатский рынок, где продукция Apple не входит даже в первую пятёрку по популярности? Стоит ли самим закупать стенд из актуальных моделей Oppo, Huawei, Vivo и Xiaomi? Или проще найти подрядчика со своей лабораторией устройств, ферм и эмуляторов.
Культурная совместимость
Ценности поставщика услуг тестирования совпадают с вашими? У подрядчика они где-нибудь записаны? Как эта компания обращается со своими работниками? Какой стиль коммуникации и сотрудничества в ней предпочитается? Они работают в том же контексте, что и вы (например, используют подход Аgile)?
Коммуникация
Тестировщики в сторонней компании говорят с вами на одном языке в прямом и переносном смысле? Смогут ли они взаимодействовать с вами оперативно, в режиме реального времени? Какая задержка в коммуникации приемлема для вас?
Оцените, насколько тот или иной вариант вам
подходит
Рассмотрев указанные выше вопросы, вы скорее всего нашли несколько компаний, удовлетворяющих вашим критериям. Теперь самое время сузить результаты поиска с учетом следующих соображений.
В чем уникальность предполагаемого QA-подрядчика?
Вы можете сказать, чем эта компания отличается от других? Их предложение адресовано вам и позволяет удовлетворить ваши потребности? Их волнует то же, что и вас?
Некоторые поставщики услуг тестирования стараются выполнять проекты как можно быстрее по низким ставкам, другие делают акцент на способности работать в контексте подхода Agile, третьи лучше остальных справляются с определенными видами тестирования. Что идеально подойдёт именно вашему проекту?
В чём уникальность «Лаборатории Качества»? Вероятно в том, что мы – это уже не просто совокупность тестировщиков, которые отвечают за качество вашего продукта. Суммарный опыт специалистов ЛК в тестировании превысил отметку в 300 лет. Это позволяет нашим специалистам легко интегрироваться в любую среду разработки и использовать наши наработки для снижения стоимости и сроков тестирования. Наши сценарии, подходы и кейсы позволяют выйти за рамки понятия «Тестирования» и приблизиться к тому, что в IT мире принято называть «Quality assurance» .
Что говорят о вашем будущем партнёре?
Часто ли вы идете в новый ресторан, не прочитав отзывы о нем в Яндексе, Google или других сервисах?
Если мы столь щепетильны в вопросе, кто готовит для нас пищу, не менее внимательно стоит выбирать и тех, кто будет тестировать наше ПО! Всегда важно поинтересоваться тем, что пишут о компании в социальных сетях.
Найдите отзывы и обзоры на сайте самой компании, не забывая при этом о сторонних сайтах с обзорами.
Специализации и предметные области в тестировании
Не всё ПО одинаково. Риски, технологии и сроки, с которыми работают команды, значительно отличаются — в зависимости от конкретной компании и отрасли. Например, программное обеспечение для здравоохранения, помимо всего прочего, требует понимания вопросов соответствия требованиям и обширного тестирования системы безопасности.
Узнайте, есть ли у поставщиков услуг тестирования кейсы и опыт работы с организациями, похожими на вашу или из того же сектора. Удостоверьтесь в их возможностях.
Возможно, вам нужен подрядчик для построения структуры автоматизации тестирования. Посмотрите, есть ли у компании примеры реализованных проектов, доказывающие, что ее специалистам уже доводилось выполнять подобные задачи ранее.
Сфер тестирования очень много, поэтому какие-то из тестировщиков будут иметь преимущества именно в своих областях. Если компания декларирует, что занимается тестированием всех аспектов качества программного обеспечения — бегите!
Лаборатория качества к примеру специализируется на:
1. Функциональном тестировании web- и мобильных-приложений.
2. Автоматизации тестирования web-и мобильных приложений.
3. Нагрузочном тестировании.
4. Юзабилити тестировании.
70% наших проектов относятся к кредитно-финансовому сектору, ритейлу, электронной коммерции и развлекательным сервисам.
Технологии и инструментарий
Важно проверить или напрямую спросить, есть ли у компании опыт работы с инструментами тестирования, которыми вы пользуетесь. Если вы не уверены, какие инструменты нужны, узнайте, может ли подрядчик провести оценку и предоставить вам рекомендации. Конечно, компания-тестировщик вряд ли будет знать каждый из доступных на рынке инструментов тестирования. Потому помните:
Квалификация тестировщика важнее, чем конкретный инструмент, потому что в конечном счете инструмент — это всего лишь одно из средств. Реальную работу выполняет человек, управляющий этим инструментом.
К счастью, если у тестировщика есть опыт, например, в использовании одного инструмента кросс-браузерного тестирования, ему не составит труда научиться пользоваться другим.
Бонусные качества поставщика услуг тестирования
Мы уже упомянули довольно много аспектов, которые важно учитывать при поиске. Если вы хотите подойти к отбору более тщательно, вот еще несколько качеств, которыми должна обладать хорошая компания-тестировщик:
- Инвестиции в исследования и разработку инструментов тестирования, участие в деятельности сообщества Open Source.
- Наличие руководителей и ведущих специалистов, которые выступают на конференциях и делятся своими знаниями с сообществом.
- Организация собственных семинаров и (или) конференций. (участие в некоммерческих организациях, благотворительные инициативы и т. п.).
- Комплексный процесс найма сотрудников с высокими критериями отбора. и доп. образования по профилю тестирования.
- Достаточное количество возможностей для обучения сотрудников и планирования карьеры.
- Несколько стратегических местоположений
- Адаптивность и возможность выезда на очные совещания, обучение, семинары и т. п.
Хотя это и не исчерпывающий список вопросов и аспектов, которые стоит учитывать, мы надеемся, что он сориентирует вас в процессе выбора подходящего подрядчика для тестирования ПО.
В этой статье мы рассмотрим кросс-браузерное тестирование. Это тип тестирования, который проверяет, работает ли приложение так, как ожидается, в нескольких браузерах, операционных системах и устройствах. Мы можем проводить кросс-браузерное тестирование с помощью автоматизации и без нее. Сценарии автоматизированного тестирования могут быть написаны или созданы с помощью таких программ, как TestProject и Selenium.
Примечание: Код из этой статьи находится на GitHub здесь.
Что такое кросс-браузерное тестирование?
Кросс-браузерное тестирование гарантирует, что наше тестируемое приложение (AUT) совместимо с каждым браузером, операционной системой и устройством. Цель заключается в сравнении ожидаемого поведения приложения в различных случаях. Бывают случаи, когда один и тот же тестовый сценарий проходит на одном или нескольких экземплярах, но не работает на другом экземпляре.
Возможно, сбой произошел из-за нашего тестового скрипта или приложения. Вы когда-нибудь пытались открыть веб-сайт с помощью Internet Explorer, но он не работал, а затем тот же сайт без проблем открывался в Chrome? Такие проблемы выявляются во время кросс-браузерного тестирования, поскольку данные из AUT отображаются по-разному в каждом браузере.
Преимущества кросс-браузерного тестирования
Мы проводим кросс-браузерное тестирование, устанавливая базовую линию. Базовая линия - это стандартный сценарий тестирования. Его цель - изучить, как работает наш AUT, используя один браузер, одну операционную систему и одно устройство. После этого мы можем использовать базовую линию в других комбинациях браузеров, операционных систем и устройств.
Я сосредоточусь на двух преимуществах кросс-браузерного тестирования:
Время
Создание и выполнение индивидуального сценария тестирования (Test Script) для уникальных сценариев занимает много времени. Поэтому наши тестовые сценарии создаются с тестовыми данными для использования их комбинаций. Один и тот же сценарий тестирования может выполняться на Chrome и Windows для первой итерации, затем на Firefox и Mac для второй итерации, а затем на других сценариях для последующих итераций.
Это экономит время, поскольку мы создаем только один тестовый сценарий, а не несколько. Ниже приведены 2 фрагмента кода для загрузки и получения заголовка для страницы TestProject. Один пример - это кросс-браузерное тестирование, а другой пример содержит отдельные тестовые сценарии для трех браузеров (Chrome, Firefox и Edge).
Тестовое покрытие
Тестовое покрытие - это техника, которая определяет, что и в каком объеме покрывается в наших тестовых сценариях.
Мы определяем особенности и убеждаемся, что для этих особенностей есть адекватные тестовые сценарии. Тестовое покрытие - это преимущество, поскольку оно позволяет нам измерить качество наших тестовых циклов.
Что будет включено в наши сценарии тестирования, зависит от требований.
То, сколько охвачено в наших сценариях тестирования, зависит от браузеров и их различных версий.
Тестовое покрытие является эффективным мерилом для процесса тестирования. Однако 100% покрытие трудно обеспечить, и, скорее всего, функция ведет себя не так, как это обычно происходит в конкретной версии.
Как осуществить кросс-браузерное тестирование в Selenium?
Мы осуществляем кросс-браузерное тестирование в Selenium, используя его сетку (grid) или тестовые данные. Selenium Grid упрощает процесс, а тестовые данные используются в качестве исходных. С помощью Selenium Grid наши тестовые сценарии выполняются параллельно на нескольких удаленных устройствах. Команды отправляются клиентом удаленным экземплярам браузера.
Тестовые данные могут храниться в файле Excel, CSV, файле свойств, XML или базе данных. Мы также можем объединить TestNG с тестовыми данными для проведения тестирования на основе данных или кросс-браузерного тестирования. Для тестирования на основе данных аннотация DataProvider и атрибут dataProvider или атрибут dataProviderClass позволяют нашему тестовому сценарию получать неограниченное количество значений.
Когда речь идет о кросс-браузерном тестировании, мы можем использовать тег параметра и аннотацию Parameters для передачи различных имен браузеров. Ниже приведены фрагменты кода, отображающие XML-файл с тегом параметра и тестовый сценарий с аннотацией Parameters.
В XML-файле тег параметра расположен на уровне теста. У нас есть возможность разместить тег на уровне тестового набора, на уровне теста или на обоих уровнях. Обратите внимание, что тег параметра имеет имя и значение с данными между двойными кавычками. Его имя, т.е. "BrowserType", передается тестовому сценарию через аннотацию @Parameters, а значение, т.е. "Chrome", передается в операторы if и else if.
Операторы if и else if устанавливают Chrome, Edge или Firefox. Каждый браузер получал команды от одного и того же тестового сценария после выполнения из XML-файла. Следующие результаты тестирования показывают, как успешно загружается страница TestProject, а консоль печатает уникальное имя браузера и заголовок страницы.
Кросс-браузерное тестирование в Selenium с помощью TestProject
OpenSDK / Закодированный тест
AI-Powered Test Recorder
С помощью AI-Powered Test Recorder мы создаем новое веб-задание, затем выбираем несколько браузеров, таких как Chrome, Edge и Firefox. Тест в задании TestProject позволяет нам выбрать дополнительный источник данных CSV, если мы хотим выполнить тестирование на основе данных. Вот несколько скриншотов, показывающих шаги по выполнению кросс-браузерного тестирования и отчета.
Вот пошаговая демонстрация кросс-браузерного тестирования с помощью TestProject AI-Powered Test Recorder.
Выводы
Подводя итоги, кросс-браузерное тестирование - это отличный способ использовать один сценарий тестирования и несколько браузеров одновременно. Некоторые из преимуществ включают время и тестовое покрытие. Время является нашим преимуществом, поскольку мы не создаем несколько тестовых сценариев для каждого браузера. Тестовое покрытие - это еще одно преимущество, поскольку мы можем тестировать не только версию браузера для конкретного браузера.
Кросс-браузерное тестирование осуществляется с помощью Selenium и TestProject.
Перевод статьи подготовлен в рамках курса "Java QA Engineer. Basic". Всех желающих приглашаем на двухдневный онлайн-интенсив «Теория тестирования и практика в системах TestIT и Jira». На интенсиве мы узнаем, что такое тестирование и откуда оно появилось, кто такой тестировщик и что он делает. Изучим модели разработки ПО, жизненный цикл тестирования, чек листы и тест-кейсы, а также дефекты. На втором занятии познакомимся с одним из главных трекеров задач и дефектов — Jira, а также попрактикуемся в TestIT — отечественной разработке для решения задач по тестированию и обеспечению качества ПО.
Читайте также: