Ринок мобільних додатків стрімко розвивається. Наразі застосунки включають всі типи, від численних видів калькуляторів до мобільних ігор та банкінгу. Але тестування мобільного додатка – це досить складний процес, який включає багато індивідуальних особливостей. Тому так важко виділити всього декілька інструментів для мобільного тестування, адже для кожного конкретного додатка чи команди може підійти своя програма. Для цього було вивчено та проаналізовано ринок систем мобільного тестування, виділено найефективніші з них за різними показниками. Найцікавіші, на наш погляд, зібрано у цикл статей (посилання на першу та другу частини).
Інструменти для тестування на мобільних пристроях (частина 3)
- 03.11.2022
- Опубліковано: Admin

Testsigma
Testsigma – це інструмент автоматизації тестування на основі штучного інтелекту з відкритим кодом для iOS та Android. Ця програма допоможе перевірити зручність використання, послідовність і сумісність програм у поточному сценарії розробки. Велика кількість функціоналу допомагає уникнути використання кількох інструментів та покрити багато задач лише одним продуктом. А інтуїтивно зрозумілий інтерфейс прискорює та полегшує роботу. Testsigma дозволяє створювати артефакти, такі як типи тестів, пріоритети тестів і категорії вимог. Можна запускати тести паралельно, групувати та запускати їх у різних операційних системах, пристроях і браузерах, щоб скоротити час тестування в декілька разів.
Особливості використання:
- робота з Testsigma локально або в хмарі;
- штучний інтелект автоматично виправляє зламані сценарії, відновлює елементи, що динамічно змінюються, і пропонує виправлення для помилок тестування;
- створення сценаріїв тестування англійською мовою. Інтелектуальний тестовий записувач автоматично перетворює дії користувача на кроки, які можна редагувати;
- стабільні та надійні автоматизовані тести без складних налаштувань, інтеграції чи зусиль у розробці;
- автоматизація наскрізного тестування для веб-сайтів, мобільних програм та API;
- мінімальне обслуговування тестів і фреймворків;
- тести у локальному браузері/пристрої або запуск понад 800 браузерів і понад 2000 пристроїв у хмарній тестовій лабораторії;
- вбудоване керування тестовими даними для параметризованного тестування;
- повна інтеграція з CI/CD, звітами про помилки, інструментами керування продуктами, інструментами для співпраці та тестовими лабораторіями для безперервного тестування;
- 100+ готових доповнень (для спеціальних дій, генераторів даних, інтеграції) або створіть власні за допомогою Testsigma SDK.
Ціноутворення: інструмент безкоштовний з базовими опціями, є платні пакети для великих команд та компаній.
BitBar
BitBar – це гнучкий інструмент для тестування мобільних додатків, який працює на будь-якому фреймворку та пристрої. Він представляє ефективну хмару мобільних девайсів, яка містить понад 200 моделей реальних пристроїв iOS та Android. BitBar відрізняється від інших інструментів нульовою конфігурацією, максимальними паралельними тестами, стабільними та швидкими моніторинговими тестами. Можна легко налаштувати мобільні середовища тестування та розробки, прискорити впровадження та оцінку новітніх технологій.
Ключові особливості:
- швидке перенесення фреймворків на основі віртуальної машини або Docker;
- тестування програми локально в хмарі мобільного пристрою;
- керування пристроями дистанційно за допомогою жестів для вирішення проблем, дослідницьких тестів і налагодження;
- доступ до пристрою за допомогою тунелювання SSH/VPN;
- керування автентифікацією через SSO;
- виконання багато інших операцій, як-от скидання підключень пристроїв, моніторинг їх продуктивності, встановлення пріоритетів для тесту та планування процедур очищення пристроїв. Крім того, усі ці функції доступні на інформаційній панелі адміністратора з видимістю черги.
Ціноутворення: інструмент платний, але можна отримати безкоштовну пробну 14-денну версію.
Digital.ai
Безперервне тестування Digital.ai дозволяє компаніям проводити масштабне тестування, збільшувати охоплення тестуванням і приймати рішення на основі даних для створення високоякісних веб- та мобільних додатків без помилок.
Особливості:
- тестування як функціональних сценаріїв, так і сценаріїв, пов’язані з продуктивністю, масштабування проєктів відповідно до зростаючих вимог до випусків;
- велике охоплення та безпечне тестування на великій матриці реальних пристроїв і браузерів, розташованих у захищених глобальних центрах обробки даних Digital.ai ISO 27001 та SOC-2;
- автоматизація мобільного та кросбраузерного тестування на одній платформі;
- надійні, стабільні тестові сценарії з розширеними методами ідентифікації та новим редактором тестів;
- інтеграція з наявними інструментами розробки, IDE, платформами тестування та середовищами CI;
- отримання наскрізної інформації про якість і досягнення покращень за допомогою Integrate and Test Lens;
- аналіз продуктивності шляхом імітації різних серверів, вимірювання транзакцій та індексу швидкості;
- тестування голосового керування та жестів, щоб забезпечити доступність веб-сайтів і програм для людей з обмеженими можливостями;
- керування тестовими проєктами, надаючи віддалений доступ, відстежуючи прогрес виконання та надаючи звіти про використання;
- автоматичне створення тестів на працездатність і прискорене створення тестів без навичок програмування.
Ціноутворення: інструмент платний, при реєстрації є безкоштовна пробна версія.
Flutter
Ще один інструмент, розроблений Google для створення мобільних (iOS і Android), веб- і десктопних продуктів. Створення, тестування та розгортання програми з єдиної кодової бази.
Основні характеристики:
- легка зміна та оновлення коду на емуляторах, симуляторах або реальних пристроях;
- перегляд результатів у реальному часі за допомогою Hot Reload;
- фонове кешування через сервіс-воркери;
- надійна безпека нульових посилань, щоб зменшити кількість винятків нульових посилань;
- підтримується й використовується Google та спільнотою глобальних розробників.
Ціноутворення: з відкритим кодом.
Деякі інструменти створені для тестування лише на одній операційній системі. Далі буде розглянуто саме такі вузьконаправлені програми.
Selendroid
Selendroid – це платформа для автоматизації тестування з відкритим вихідним кодом. Інструмент орієнтовано на власні та гібридні додатки Android. Як і фреймворк Selenium, можливості Selendroid можна використовувати з паралельним тестуванням на емуляторах, симуляторах і реальних пристроях.
Особливості Selendroid:
- повна сумісність із дротовим протоколом JSON;
- може взаємодіяти з кількома пристроями Android одночасно;
- тестування мобільного Інтернету за допомогою вбудованої програми веб-перегляду драйверів Android;
- підтримка жестів;
- повна інтеграція як вузол у Selenium Grid для масштабування та паралельного тестування;
- дозволяє перевіряти поточний стан інтерфейсу користувача програми;
- вбудований інспектор для спрощення розробки тестів;
- підтримка кількох цільових API Android.
Ціноутворення: інструмент безкоштовний.
Robotium
Robotium є одним із провідних та безкоштовних фреймворків для автоматизованого тестування додатків Android. Це може бути корисною частиною будь-якої техніки тестування. Простий у написанні інструмент підтримує Android версії 1.6 і вище. Robotium – це бібліотека для модульних тестів. Навіть з мінімальними знаннями проєкту можна створити потужні тестові приклади. Тести написані на Java. Підтримує тестування рідних і гібридних програм. Robotium знайшов широке застосування у випадку автоматизованого тестування чорної скриньки.
Особливості інструменту:
- може обробляти декілька дій Android одночасно;
- потужні тестові сценарії можна створити за мінімальний час, не маючи глибоких знань про проєкт;
- синхронізація з Ant або Maven, щоб запускати тести як частину безперервної інтеграції;
- підходить для програм із доступним вихідним кодом або файлом APK;
- автоматична синхронізація;
- можна запускати тестові приклади на попередньо встановлених програмах.
Ціноутворення: інструмент з відкритим кодом та безкоштовний.
UI Automator
UI Automator – це платформа з відкритим вихідним кодом, яка дозволяє тестувати інтерфейс користувача за допомогою автоматизованих функціональних тестів. Інструмент надає набір API для взаємодії з програмами користувача та системними програмами. UI Automator добре підходить для написання автоматизованих тестових сценаріїв у стилі чорного ящика, де тестовий код не вимагає коду програми.
Переваги:
- можливість запуску програми на одному або кількох пристроях;
- фреймворк використовує сценарії, які написані на JavaScript;
- має файл з API, який містить інтерфейси класів і винятки;
- простий і легкий в освоєнні;
- має переглядач для перевірки ієрархії макета – UI Automator Viewer;
- бібліотека підтримується спільнотою Google.
Ціноутворення: безкоштовний інструмент з відкритим вихідним кодом, доступна стороння платна інтеграція з хмарними інструментами керування тестами.
Espresso
Espresso є системою автоматизації тестування для Android, розроблений Google. Це проста, ефективна та гнучка система. Однією з важливих особливостей Espresso є те, що він автоматично синхронізує тестові дії з інтерфейсом користувача програми. Фреймворк також гарантує, що діяльність буде розпочата до запуску тесту. Це також може змусити тест чекати, доки всі фонові дії спостерігача не завершаться, що іноді є проблемою з іншими платформами тестування. Завдяки Espresso можна створювати тести, наближені до логіки програми Android.
Основні функції:
- підтримка Java і JUnit для рідних програм;
- легкі API для полегшення обслуговування;
- автоматична синхронізація елементів інтерфейсу користувача та дій тестування;
- можливість компілювати тести інтерфейсу Android до APK;
- підходить для написання тестів чорної скриньки
- є частиною репозиторію підтримки Android;
- простий та легкий у налаштуванні.
Ціноутворення: безкоштовна система з відкритим вихідним кодом.
Frank
Frank – це платформа для тестування iOS із відкритим вихідним кодом, яка має комбіновані функції Cucumber і JSON. Один із найкращих легких інструментів автоматизації. Доступний у чистому синтаксисі CSS, схожому на селектор, дозволяє проводити досить толерантні тести.
Особливості інструменту:
- допомагає писати структуровані приймальні тести та вимоги;
- включає інспектор додатків Symbiote;
- немає потреби в будь-якій модифікації коду програми;
- тестові сценарії написані англійськими реченнями за допомогою cucumber framework;
- легке налаштування.
Ціноутворення: платформа з відкритим вихідним кодом та повністю безкоштовна.
iOS Driver (iOS)
Це інструмент з відкритим вихідним кодом, здатним повністю інтегруватися з мережею Selenium та автоматизувати рідні та гібридні додатки iOS за допомогою Selenium/WebDriver API. Програма ефективніше працює на емуляторі, а не на пристроях. Деякі з останніх версій працюють на пристроях, але вони дещо повільніші, ніж на емуляторі.
Особливості функціоналу:
- автоматизація тестування нативних та гібридних програм за допомогою Selenium або WebDriver API;
- не потрібно змінювати будь-який код програми або завантажувати будь-яку додаткову програму для тестування програми на пристрої;
- ефективно працює в емуляторах;
- після встановлення сумісності можна використовувати вибіркові функції X-коду Apple;
- можна використовувати як Selenium Grid Node, зменшуючи час зворотного зв’язку для тестування GUI.
Ціноутворення: безкоштовна платформа з відкритим вихідним кодом.
EarlGrey
EarlGrey – це платформа автоматизованого тестування для рідних додатків iOS. Вона розроблена і підтримується Google. Цей фреймворк також використовується всередині Google для функціонального тестування рідних додатків iOS, таких як Youtube, Google Calendar, Google Photos, Google translate та інших. Це надає QA доступ до розширених функцій синхронізації для стабільного тестування інтерфейсу користувача.
Особливості інструмента:
- синхронізація дозволяє тестовим сценаріям чекати певних подій інтерфейсу користувача перед тим, як почати взаємодію з інтерфейсом користувача програми;
- дозволяє вручну впроваджувати користувацькі таймінги;
- тестування методом білого ящика;
- нативна розробка, можна запускати тести безпосередньо з Xcode або xcodebuild.
Ціноутворення: мобільне тестування з відкритим кодом безкоштовне.
XCTest
XCUI Test – це продукт Apple для розробників iOS для створення сценаріїв та запуску тестів інтерфейсу користувача за допомогою Xcode IDE. Фреймворк XCUI Test вважається одним із найкращих для тестування мобільних додатків, які прості в обслуговуванні, уникають нестабільності тестування та покращують загальний процес безперервної інтеграції.
Основні функції:
- доступні мови сценаріїв: Swift та Objective-C;
- підключається до Xcode, сторонніх інструментів і фреймворків для запису тестів;
- інтеграція XCode для спрощення кодування за допомогою методів, підкласів або тверджень;
- підтримка інтеграції CI/CD;
- підходить для тестування в чорному ящику:
- тести можуть вимірювати продуктивність блоків коду, щоб перевірити регресію продуктивності;
- є перевірка потоків взаємодії користувача.
Ціноутворення: інструмент з відкритим кодом та безкоштовний.
Нами було розглянуто найкращі інструменти для тестування мобільних додатків із їхніми характеристиками та цінами. Деякі з перерахованих інструментів тестування мають відкритий вихідний код та їх можна безкоштовно завантажити, тоді як для інших потрібна підписка. Кожна з перерахованих вище програм тестування має унікальні характеристики та особливості. Звичайно, жоден із цих інструментів не є ідеальним. Під час вибору відповідної системи (або декількох) слід враховувати такі фактори: доступність, сумісність, налаштування мережі, конфігурація системи тощо. Досягти ефективного тестування можна з використанням інструментів відповідно до критеріїв відбору та бюджету.
