Класифікація інструментів для тестування мобільних додатків

Мобільний додаток

Існують різні інструменти тестування мобільних додатків. Умовно їх можна поділити на інструменти для ручного та автоматизованого тестування. Також можна класифікувати за такою схемою:
1) Ручне і автоматизоване мобільне тестування.
На сьогодні багато фахівців підтримують думку про те, що ручне тестування в кінцевому підсумку перестане використовуватися. Швидше за все, це неправда. Ми не можемо обійтися без автоматизації тестування, однак є ситуації, коли надають перевагу ручному тестуванню. Чому?
Переваги ручного тестування мобільних додатків:
• Це більш економічно вигідно в короткостроковій перспективі.
• Ручне тестування більш гнучке.
• Найкраще моделювання дій користувача.
Недоліки ручного тестування мобільних додатків:
• Ручні тестові приклади важко використовувати повторно.
• Менш ефективне виконання певного постійного завдання.
• Процес тестування повільний.
• Деякі типи тестових випадків не можуть бути виконані вручну (тестування навантаження).
Переваги автоматизованого тестування додатків:
• Процес тестування займає мало часу.
• Економічність в довгостроковій перспективі використання.
• Автоматизовані тестові випадки легко використовувати повторно.
• Єдине рішення для деяких видів тестування (тестування продуктивності).
• Результати випробувань легкодоступні.
Недоліки автоматизованого тестування додатків:
• У деяких мобільних засобів тестування є обмеження.
• Процес тестування займає багато часу.
• Автоматизоване тестування найменш ефективне у визначенні зручності користування.
2) Симулятори та емулятори
Часто плутають значення слів «емулятор» і «симулятор». Фактично, емулятор – це оригінальна заміна пристрою. У вас немає можливості модифікувати програми і додатки, але ви можете їх запускати. Симулятор, в свою чергу, не копіює апаратне забезпечення пристрою, однак у вас є можливість налаштувати аналогічне середовище, таке як в ОС оригінального пристрою. Таким чином, краще використовувати мобільні симулятори для тестування мобільного додатка. Емулятори більше підходять для тестування мобільних сайтів.
Переваги використання симуляторів для тестування мобільного додатка:
• Просте налаштування.
• Швидка дія.
• Допомагає перевіряти і тестувати поведінку вашого мобільного додатка.
• Економічно вигідно.
Недоліки використання симуляторів для тестування мобільного додатка:
• Апаратне обладнання не враховується.
• Можливі помилкові спрацьовування.
• Отримання неповних даних про результати моделювання, що створює певні труднощі для повного аналізу результатів тестувань.
3) Хмарні та он-лайн сервіси
Тестування мобільних додатків з використанням хмарних інструментів, мабуть, є оптимальним вибором. Це може допомогти вам уникнути недоліків реальних пристроїв і симуляторів.
Основні переваги цього підходу:
• Легка доступність.
• Можливість запуску мобільних пристроїв на декількох системах.
• Можливість не тільки тестувати, а й оновлювати, а також керувати програмами в хмарі.
• Економічно вигідно.
• Висока масштабність.
• Один і той самий скрипт можна запускати на одному пристрої паралельно.
Недоліки хмарного мобільного тестування:
• Менше контролю.
• Немає такого високого рівня безпеки.
• Залежність від інтернет-з’єднання.
Деякі корисні хмарні інструменти, які можуть допомогти вам протестувати мобільний додаток: Xamarin Test Cloud, Perfecto Mobile Continuous Quality Lab, Keynote Mobile Testing.
Он-лайн тестування:
API (application programming interface) – основний інтерфейс для взаємодії з іншими програмами.
GUI (graphic user interface) – графічний інтерфейс, використовується для взаємодії з користувачем.
Net (networking interface) – працює через мережу і використовується як просунутими користувачами, так і програмами.

Тести можуть використовувати всі ці інтерфейси для взаємодії з додатком. При ручному тестуванні посередником між тестами і додатком є тестувальник: він перетворює текст тест-кейсів на дієвий з одним з інтерфейсів програми.
Для автоматизації потрібно замінити тестувальника на інструменти, які вміють взаємодіяти з одним або декількома інтерфейсами програми. Також будуть потрібні утиліти для запуску і формування набору тестів.
Разом всі ці інструменти називаються стеком автотестування. Щоб зрозуміти, як вони взаємодіють в стеці, необхідно їх класифікувати. Представлена класифікація умовна і необхідна в першу чергу для розуміння інструментів та їх поєднання .
Всього існує чотири групи інструментів: драйвери, надбудови, фреймворки і комбайни. Розгляньмо їх докладніше.
Драйвер
Утиліти автотестування, як і інші програми, можуть взаємодіяти з додатком тільки через програмний інтерфейс – по-іншому вони не вміють. Для роботи через інші інтерфейси існують спеціальні програми – драйвери.
Драйвер – програма, яка надає API для одного з інтерфейсів програми.
Для кожного інтерфейсу, крім, власне, API, необхідний свій драйвер. Наприклад, коли ви даєте драйверу для GUI команду “Натиснути на кнопку Menu”, він сприймає її через API і відсилає в тестований додаток, де ця команда перетворюється в клік по графічній кнопці Menu. Для взаємодії з API додатка драйвери не потрібні або майже не потрібні – взаємодія програмна. А ось при роботі з іншими інтерфейсами без них не обійтися.
Найбільш складними зазвичай є драйвери для GUI, оскільки цей інтерфейс дуже відрізняється від звичайного для програми спілкування кодом. При цьому в автоматизованому тестуванні мобільних додатків GUI вважається найбільш актуальним, томув інтеграційному тестуванні використовувати найчастіше доводиться саме його. Найбільш популярні драйвера для GUI в мобільному тестуванні – UIAutomator і Espresso для Android, XCUITest – для iOS.
Надбудова
Коли функціоналу драйвера не вистачає або він незручний і складний, над ним з’являється ще один рівень, який я буду називати надбудовою.
Надбудова – програма, яка взаємодіє з додатком через один або кілька драйверів, підвищуючи зручність їх використання або розширюючи їх можливості.
У надбудови можуть бути наступні функції:
• Модифікація поведінки (без зміни API). Наприклад, додаткове протоколювання, валідація даних, очікування виконання дії протягом певного часу.
• Підвищення зручності і / або рівня абстракції API через використання синтаксичного цукру – зручних назв функцій, більш коротких звернень до них, уніфікованого стилю написання тестів; неявне управління драйвером, коли, наприклад, він ініціалізується автоматично, без необхідності прописувати кожну таку дію вручну; спрощення складних команд на кшталт вибору події з календаря або роботи зі списками, які прокручуються; реалізацію альтернативних стилів програмування, таких як процедурний стиль або fluent.
• Уніфікація API драйверів. Тут надбудова надає єдиний інтерфейс для роботи відразу з декількома драйверами. Це дозволяє, наприклад, використовувати один і той самий код для тестів на iOS і Android, як у популярній надбудові Appium.
Фреймворк
З іншого боку тестів знаходиться фреймворк запуску. В цій статті я буду коротко називати його “фреймворк”.
Фреймворк – це програма для формування, запуску і збору результатів запуску набору тестів.
До завдань фреймворка входять:
• Формування, угруповання і упорядкування набору тестів,
• Розпаралелювання набору (опціонально),
• Створення фікстур,
• Запуск тестів,
• Збір результатів їх виконання,
• Формування звітів про виконання (опціонально).
Можна помітити, що ці функції не пов’язані з тестуванням тільки мобільних додатків – їх можна успішно застосовувати і в тестуванні десктоп- і веб-додатків. Справа в тому, що фреймворк не повинен забезпечувати взаємодію тестів і додатки – він працює тільки з тестами, і тип програми не має значення.
Якщо драйвери і надбудови знаходяться між тестами і додатком, то фреймворк знаходиться над тестами, організовуючи їх запуск. Тому важливо не плутати поняття “драйвер” і “фреймворк”. Звичайно, в деяких фреймворках є власні драйвери для роботи з додатками, але це зовсім необов’язкова умова. Найпомітніші фреймворки в мобільному тестуванні – xUnit і Cucumber.
Комбайни

Нарешті, ще одна група утилітів, що використовуються для автоматизації тестування мобільних додатків, – це комбайни, які поєднують в собі і фреймворки, і драйвери (причому не тільки мобільні), і навіть можливості розробки. Xamarin.UITest, Squish, Ranorex – всі вони підтримують автоматизацію тестування iOS-, Android-, веб-додатків, а два останніх – ще й десктоп-додатків.
Ключові моменти в стратегії тестування мобільного сайту:
• Вибір пристроїв.
Безсумнівно, реальний пристрій – найкраще рішення, якщо ви хочете протестувати мобільний додаток. Тестування на реальному пристрої завжди дає вам максимальну точність результатів. Насправді нелегко вибрати найбільш підходящий пристрій. У будь-якому випадку, ось деякі дії, які ви повинні зробити при виборі пристрою для мобільного тестування:
1) Проаналізуйте і визначте найпопулярніші і використовувані гаджети на ринку.
2) Виберіть пристрої з різною ОС.
3) Виберіть пристрої з різними розширеннями екрану.
4) Зверніть увагу на наступні чинники: сумісність, об’єм пам’яті, можливість підключення і т. д.
Переваги для тестування мобільних додатків на реальних пристроях:
• Висока точність результату тестування.
• Проста реплікація помилок. Такі моменти, як: ємність батареї, геолокація, push-повідомлення, вбудовані датчики пристроїв, легко тестуються.
• Можливість перевірки вхідних переривань (дзвінків, SMS).
• Можливість тестування мобільного застосування в реальних умовах і умовах.
• Немає помилкових спрацьовувань.
Недоліки тестування мобільних додатків на реальних пристроях :
• Існує величезна кількість часто використовуваних пристроїв.
• Додаткові витрати на обслуговування пристроїв.
• Обмежений доступ до пристроїв, які часто використовуються в зарубіжних країнах.
Звичайно, не існує однозначних відповідей на те, яку стратегію краще всього обрати. Поєднання різних варіантів є найбільш оптимальним рішенням. Наприклад, ви можете використовувати симулятори на початкових етапах вашого тестування. Але краще використовувати реальні пристрої (фізичні або хмарні) на заключних етапах. Автоматизоване тестування краще для навантажувального і регресійного тестування.

Related posts

Leave a Comment

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.