Обираємо інструменти для тестування кросбраузерності: популярні сервіси для QA
Проблеми, пов'язані з кросбраузерністю, можуть впливати як на UI, так і на продуктивність застосунку. Бізнес ризикує втратити клієнтів через такі помилки. Тож не шкодуйте часу на кросбраузерне тестування.
Про популярні інструменти для перевірки кросбраузерності вебзастосунків розповідає Тетяна Шанайда, Manual QA.
Кросбраузерне тестування — для чого потрібне?
Коли ілюстрація зміщується з місця, де мала би бути, або анімаційний елемент інтерфейсу не працює, користувацький досвід погіршується. Тож не шкодуйте часу на кросбраузерне тестування.
Перш ніж братися до роботи, визначте:
- На чому будете тестувати?
Браузери мають бути актуальні та використовуватись на певних ОС. Перевіряти функціонал можна на реальних пристроях або на «замінниках». Це можуть бути емулятори (софт, що імітує поведінку браузерів), віртуальні машини (різні ОС з браузерами на одному комп’ютері), «ферми» девайсів (сервіси, що надають віддалений доступ до реальних гаджетів). Зазвичай важливі фічі тестують на наявних чи віддалених пристроях, інші — на емуляторах. Так балансуємо між швидкістю виконання задачі та бюджетом.
- Який підхід до тестування обрати?
Тести бувають мануальними та автоматизованими. У першому випадку QA оцінює застосунок за визначеними сценаріями — в потрібних комбінаціях браузера та ОС. У другому — перевірки проводять самописні скрипти або сторонні інструменти. Вони прискорюють роботу, допомагають «відловити» баги, які неможливо або важко помітити людині. Однак вони ж можуть не відтворити нестандартні дії юзерів. А подекуди вимагають додаткового бюджету. Тому в реальності підходи до тестування поєднують: рутинні перевірки довіряють автотестам, а нетипові — виконують вручну.
Топ інструментів для кросбраузерного тестування
У цій добірці поділюсь найефективнішими, на мій погляд, інструментами. Серед них — ресурси для автоматизованого тестування та хмарні платформи.
Найвідоміший інструмент для автоматизації задач QA. Опенсорсний інструмент із трьох частин: Selenium WebDriver — найважливіший для кросбраузерного тестування; застосовується для написання автотестів із будь-якими сценаріями; Selenium IDE для запису та відтворення тест-кейсу (кроків користувача); Selenium Grid для масштабування тестів у різних середовищах. Для роботи із Selenium знадобляться навички програмування, зокрема на Java, Python, JS або C#.
Підписуйтеся на наші соцмережі
Платформу можна як встановити на власний комп'ютер, так і працювати в хмарі. Дозволяє перевіряти застосунки у більш ніж 3000 комбінаціях реальних пристроїв та браузерів. Надає інфраструктуру для мануальних та автотестів. Можна тестувати і на локальному сервері чи у дев-середовищі (безпека сертифікована за SOC2).
Також можна протестувати доступність та вигляд застосунків. Має вбудовані інструменти для розробників, підтримує Selenium, Appium, Cypress. Має зрозумілий інтерфейс та якісну техпідтримку. Але за все це треба платити 🙂 На вибір є кілька тарифних планів.
Хмарна платформа, має набір 3000+ комбінацій браузерів, пристроїв та емуляторів, навіть систем Smart TV. Можна проводити автотести або ручні перевірки, вести паралельні тестові сценарії або регресійні візуальні тести, перевіряти верстку та адаптивність.
Подібно до BrowserStack, має інтеграцію з публічними та локальними застосунками. Для автоматизації додана підтримка Selenium, для аналізу результатів — AI-система, яка виявляє закономірності та пропонує варіанти оптимізації QA-процесів. А ще в LambdaTest розвинений функціонал для перевірки мобільних застосунків: нативних, гібридних та вебних. Плюс є інтеграція з CI/CD-тулзами, системами багтрекінгу та управління проєктами (Asana, BitBucket, GitHub, JIRA, Microsoft VSTS, Slack, Trello), а також із поштовим клієнтом. Щодо недоліків — досить складна для розуміння на старті, вимоглива у ресурсах для складних сценаріїв.
Цей ресурс підійде і для автоматизації, і для дослідження вручну. Має невеликий вибір конфігурацій реальних та емульованих пристроїв та браузерів — приблизно 300, але є і свої переваги. Наприклад, можна запускати паралельні тести та спостерігати за ними в реальному часі. Якщо вхопите баг, в SauceLabs є інструменти розробника для швидкого фіксу. Також система надає детальні звіти — з відеозаписами, з виконаними тестами подібно до логів у хронологічному порядку. Також ці звіти містять інформацію про платформи, час виконання тесту, номер білда і результат.
SauceLabs підтримує Selenium, Appium, є інтеграція з GitHub, Jenkins, Travis CI, CircleCI, Jira тощо.
На відміну від попередніх — простий онлайн-сервіс для перевірки фронтенду. Вказуєте URL сайту для перевірки, обираєте ОС, роздільну здатність екрана, браузер (підтримує Chrome, Firefox, Opera, Safari) та його версію — і все. Далі можна виконувати мануальні перевірки, робити скріншоти результатів і ділитися ними з командою. У безкоштовній версії навіть не треба авторизуватися, хоча тоді сесія обмежена лише трьома хвилинами. Робота з Browserling відбувається у вашому браузері, але тестування — на віддалених машинах (хоча є підтримка локального середовища у SHH-тунелі).
Ще одна хмарна платформа. Дозволяє виконувати повний цикл QA задач: від планування до глибокого аналізу даних. Що стосується кросбраузерності, то тут окремий функціонал — TestCloud. Забезпечує тестування на багатьох видах та версіях ОС, браузерів та пристроїв.
Створення тестів тут може не потребувати і рядка коду. Мануальний тест можна перетворити на шаблон для автотестів і задати в Katalon TestOps розклад для їх запуску. Цікаві й інтеграційні можливості платформи. Katalon працює з Jenkins, Bamboo чи CircleCI, а також зі SauceLabs, LambdaTest та BrowserStack; імпортує тести із Selenium, Postman або SoapUI. Також можна сетапити візуально змістовні звіти — з діаграмами та графіками даних, із загальними результатами.
Досить нестандартний інструмент для автотестів. Платформу створили для забезпечення CI/CD процесів. Крім того, це один із перших продуктів такого типу на основі AI. Тож для запуску автоматизованих тестів не доведеться прописувати сценарії в коді, а налаштування та підтримка перевірок не потребують від тестувальника впевнених навичок програмування. Варто відзначити якісну вихідну візуалізацію та регресію продуктивності для відстеження швидкості й відклику вебзастосунків, а також можливість виявлення сплесків у мережі. Сам по собі Mabl легкий і має плагін для браузера. Може інтегруватися з багатьма CI/CD-системами: Jenkins, Bamboo, Azure DevOps, Slack.
Поєднує codeless-підхід і технологію AI. Тож навіть скрипти не знадобляться для створення та запуску тестів на більш ніж 1000 браузерах, без попередніх сценаріїв.
TestGrid підтримує візуальне тестування, тестування мобільних застосунків, тестування продуктивності, API тощо. а також IoT-девайси з голосовою підтримкою на кшталт Alexa. Тести проходять у хмарному чи захищеному локальному середовищі. Інструменти розробника доступні в Chrome, Safari, Samsung Internet. Важливим є й те, що сервіс виконує геолокаційне тестування з використанням IP. Наявна підтримка Selenium та Appium, інтеграція з поширеними CD/CD та менеджерськими інструментами: Asana, Slack, GitLab, Jenkins.
Універсальний інструмент для різних видів тестування. Дозволяє працювати на сотнях реальних браузерів, причому в паралельному та headless-режимах для декількох завдань одночасно. Підійде для тестів на базі Selenium та Appium. Крім хмарного середовища, доступні фаєрвол та локальний сервер. BitBar має відкритий API для вільної інтеграції з вашими власними продуктами. Хоча також підтримує GitHub, Bitbucket, AWS, Azure, Apigee, Gradle тощо.
Серед недоліків — дороговартісний і складний в налаштуванні.
На що звернути увагу, обираючи інструменти для кросбраузерного тестування
Усе залежить від особливостей проєкту, від задач тестувальника і загалом наявності ресурсів (людських, часових, фінансових). Передусім подумайте про:
- Об'єкт та підходи до тестування. Визначте основний функціонал, а також необхідні браузери, ОС, девайси. Подумайте, чи вистачить вам мануального тестування, чи потрібні автотести. Чи потрібні додаткові хмарні чи локальні середовища тощо.
- Хто працюватиме з інструментом. На вибір впливатиме і кількість залучених QA, (деякі сервіси надають обмежений доступ), і їхній досвід та наявність додаткової спеціалізації (General QA, Automation QA, програмування, дизайн тощо).
- Чи можлива інтеграція з іншими сервісами. Наприклад, поєднати QA-інструмент з менеджерськими, CI/CD чи іншими сервісами, якими користується команда. Це всім суттєво спростить роботу.
- Який бюджет. Інколи ідеальний за всіма параметрами сервіс коштує чи не вдвічі дорожче, ніж аналог, який поступається лише в незначних моментах. Їх можна додати з іншим безкоштовним сервісом. Тому варто аналізувати потреби та зіставляти з бюджетом.
Кожен інструмент має свої переваги та недоліки. Обирайте те, що відповідає конкретним цілям тестування і буде зручним у використанні саме для вас.