В сучасному інформаційному світі мобільні застосунки стали невід'ємною складовою нашого цифрового життя. Вони дозволяють нам спростовувати багато аспектів щоденності, від комунікації до розваг. Однак, щоб ці застосунки працювали ефективно та надійно, вони потребують дбайливого тестування. У цьому контексті, мобільне тестування набуває ключового значення.
Топ питань на співбесіді з мобільного тестування для новачків
- 11.01.2024
- Опубліковано: Admin
Визначення, типи та функції мобільного тестування
1. Що таке тестування мобільних застосунків?
Тестування мобільних застосунків означає процес, у якому програма, розроблена для мобільних пристроїв, перевіряється на функціональність, зручність використання та узгодженість. Тестувальники можуть перевіряти мобільні застосунки вручну або автоматизовано.
2. Чому сьогодні тестування мобільних застосунків є важливою частиною бізнесу?
Тестування є невід'ємною частиною кожного процесу розробки програмного забезпечення. Мобільний застосунок не є винятком: зростаюча кількість мобільних пристроїв призводить до великої фрагментації операційної системи, розмірів екрана тощо. Ось чому команди контролю якості роблять величезні зусилля, щоб забезпечити безперебійну роботу користувачів на різних мобільних пристроях без функціональних помилок і проблем. Після проведеного ретельного тестування команда розробки може підвищити рейтинги програми, а також задоволеність клієнтів для ще більшої кількості завантажень.
3. Вкажіть різницю між тестуванням мобільних пристроїв і тестуванням мобільних застосунків.
Тестування мобільних пристроїв зазвичай проводиться для перевірки якості самого мобільного пристрою. Процес передбачає тестування апаратного та програмного забезпечення. Ці тести, як правило, проводяться для перевірки таких функцій, як виклик, SMS, пам’ять, камера, медіаплеєр, вбудовані браузери тощо.
Тестування мобільних застосунків. Цей тип тестування включає тестування функціональності, продуктивності, зручності використання, безпеки, навантаження та інші типи. Таким чином можна визначити якість програми, чи сумісна вона з пристроєм, чи має правильне апаратне, програмне забезпечення та мережеві з’єднання тощо.
4. Які є види мобільних застосунків?
Існує три види мобільних застосунків:
Native Application (Нативний застосунок) – це програма, створена певною мовою програмування для конкретної платформи пристрою (iOS або Android). Вона легко встановлюється на пристрій, а отримати її можна в магазині застосунків (Google Play для Android і App Store для iOS), наприклад, WhatsApp або Facebook.
Web Application (Веб-програма) працює в мобільному веб-браузері, наприклад Chrome, Firefox, Opera, Safari, за допомогою мобільної мережі або WIFI. Наприклад, деякі веб-додатки m.facebook.com, m.gmail.com тощо.
Hybrid Application (Гібридна програма) – це комбінація нативної програми та веб-програми. Незважаючи на те, що застосунки такого типу можна встановити на пристрої так само, як і рідну програму, це веб-програма, створена за допомогою HTML, CSS або JavaScript і працює у веб-перегляді.
5. Які різні підходи до тестування мобільних застосунків?
Існує два основні підходи: ручне тестування та автоматизоване тестування.
Тестування вручну, як випливає з назви, є процесом, який виконує людина, і в першу чергу стосується взаємодії з користувачем. Це трудомісткий процес, оскільки для появи і виявлення помилок потрібно багато часу.
Автоматизоване тестування використовується для багатьох завдань тестування, що повторюються, таких як регресія та тестування продуктивності. Завдяки цьому інструменту тестувальники зможуть швидко знаходити помилки, дефекти або вразливості в програмах, що нещодавно оновлювалися або змінювалися.
6. Чи можете ви розповісти про різні типи тестування мобільних застосунків?
Функціональне тестування (Functional testing): визначає чи правильно працює програма. Це різновид тестування чорної скриньки.
Тестування зручності використання (Usability Testing): цей тип тестування оцінює наскільки інтуїтивно зрозумілим і простим є використання програми, а також визначає будь-які помилки для покращення взаємодії з користувачем.
Тестування сумісності (Compatibility Testing): тест визначає чи програма сумісна з різними ОС (операційними системами), різними мережевими середовищами, а також із специфікаціями певного обладнання.
Тестування продуктивності (Performance Testing): під час цього тестування перевіряється наскільки добре застосунок працює та як поводиться під різними навантаженнями. У цьому тесті програма безперервно та стабільно завантажується доки не досягне порогової точки (точка, після якої програма не може витримати навантаження).
Тестування інсталяції (Installation Testing): для перевірки того, що застосунки належним чином завантажуються, інсталюються та видаляються, а також безперешкодно обробляються нові оновлення.
Тестування безпеки (Security Testing): під час тестування перевіряється поведінка програми під час різних запитів на дозволи пристрою, а також в пріоритеті конфіденційність даних користувача.
Тестування пам’яті (Storage Testing): програми перевіряються на те, наскільки добре вони обробляють функції, пов’язані зі сховищем, і як вони поводяться, коли на пристрої немає або мало пам’яті.
7. З якими проблемами найчастіше стикається більшість тестувальників під час тестування мобільних застосунків?
- Виконання тестових випадків з різними операційними системами.
- Тестування функцій програми на широкому діапазоні телефонів.
- Фрагментація розміру екрана.
- Тестування застосунків у різних мобільних мережах.
- Різні типи програм (нативні, гібридні чи веб-програми) потребують різних способів тестування.
- Вибір правильного мобільного інструменту тестування для команди QA.
Проведення мобільного тестування
8. Вкажіть різницю між симулятором і емулятором?
Симулятори та емулятори – це віртуальні пристрої, які виглядають і працюють як телефони, але вони не є справжніми пристроями. Емулятори імітують апаратне/програмне забезпечення та ОС мобільних програм для тестування. У симуляторі симулюється основна поведінка пристрою, а не апаратне забезпечення/ОС.
Симулятор | Емулятор |
Призначені для імітації внутрішньої поведінки мобільного телефону. | По суті, він емулює/імітує функції апаратного та програмного забезпечення пристрою. |
У більшості випадків їм надають перевагу під час тестування внутрішньої поведінки пристрою, наприклад його апаратного забезпечення, мікропрограми тощо. | Вони найкраще підходять для тестування взаємодії між програмним забезпеченням і основним апаратним забезпеченням або їхньою комбінацією. |
Складні з точки зору налагодження. | Більш простий процес налагодження. |
9. Як перевірити використання ЦП на мобільних пристроях?
У Google Play або App Store доступні кілька інструментів, розроблені для тестування використання процесора, наприклад CPU Monitor, CPU Stats, Usemon, CPU-Z тощо. Це інструменти, які записують інформацію про процеси, запущені на пристрої.
10. Які основні мережі слід враховувати під час тестування програми?
Тестування продуктивності програми має охоплювати всі сценарії в різних мережах: 4G, 3G, 2G і WIFI. Хоча 2G є повільнішою мережею, краще тестувати в повільнішій мережі, щоб відстежувати продуктивність програми.
11. Які критерії необхідно включати під час sanity тестування мобільного застосунку?
- Встановлення та видалення програми.
- Продуктивність у різних доступних мережах: 2G, 3G, 4G, 5G або Wi-Fi.
- Функціональне тестування.
- Тестування переривання.
- Тестування на сумісність.
- Продуктивність програми на інших телефонах.
- Поведінка програми під час введення недійсних облікових даних.
12. Який найкращий спосіб перевірити різні розміри екрана?
Найефективнішим способом є використання емулятора.
13. Які типові помилки часто виявляють під час процесу тестування мобільних пристроїв?
Критичні помилки (Critical bugs): під час тестування певної функції програми відбувається збій операційної системи пристрою.
Блокуючі помилки (Block bugs): унеможливлюють виправлення інших помилок. Наприклад, застосунок не реагує, навіть коли пристрій увімкнено.
Значні помилки (Major bugs): певна функція програми не може виконувати свої функції.
Незначні помилки (Minor bugs): неочікувана або небажана поведінка програми, але недостатня для того, щоб спричинити збій системи. Наприклад, помилки GUI (графічного інтерфейсу користувача).
14. У яких випадках команда контролю якості повинна використовувати ручне або автоматизоване тестування для своїх мобільних тестових проєктів?
Ручне тестування:
- додано новий функціонал;
- тестування потрібне лише один або два рази, часті повторення не потрібні.
Автоматизоване тестування:
- цикл випуску потребує великої кількості регресійного тестування;
- тестування застосунку потребує складних сценаріїв.
15. Вкажіть найпоширеніші проблеми, з якими стикаються тестувальники під час тестування мобільних пристроїв у Cloud Computing
- можуть виникнути проблеми через модель підписки (Subscription model);
- висока вартість;
- труднощі у автоматизації мобільного тестування.
16. Що слід пам’ятати під час тестування програм за допомогою методу тестування Black Box?
- сумісність програми з кількома пристроями;
- правильне підключення та відключення пристрою під час зміни IP або адреси порту;
- можливість дзвонити та надсилати повідомлення на інші пристрої;
- сумісність з кількома браузерами (Chrome, Firefox, Opera тощо).
Фреймворки та інструменти мобільного тестування
17. Що таке платформа тестування Android?
Одним із найстандартніших фреймворків тестування для застосунків Android є Android testing framework. Він складається з трьох сегментів:
Application Package (Пакет застосунків)
Це цільова програма, яку потрібно перевірити.
Випробовувач приладів (Instrumentation Test Runner)
Ця частина фреймворку виконує функцію запуску тестів, що дозволяє запускати тести в цільовій програмі. Він включає дві частини: інструмент SDK для тестування побудови; та інструмент, який надає API для написання програми, яка керує пристроєм Android або емулятором за межами кодів Android (наприклад, MonkeyRunner).
Тестовий пакет (Test Package)
Він складається з двох компонентів: тестових класів (Test case classes) і макетних об’єктів (Mock objects). Класи тестових прикладів являють собою методи тестування для виконання цільової програми, тоді як макетні об’єкти включають макетні дані, які використовуються як зразки вхідних даних для тестових випадків.
18. Що таке платформа тестування Robolectric?
Перевірити програму Android на пристрої чи емуляторі не завжди легко. Зазвичай для створення тестів потрібно багато зусиль і часу. Щоб вирішити цю проблему, розглядається роботизована система тестування. З використанням структури Robolectric тести Android можна запускати безпосередньо на настільних віртуальних машинах JVM (Віртуальні машини Java) без потреби в пристрої чи емуляторі. Таким чином, не потрібно нічого додатково налаштовувати для запуску тестів Android у середовищі розробки.
19. Яка остання версія iOS?
Остання версія iOS і iPadOS – 14.0: https://support.apple.com/en-us/HT201222#:~:text=The%20latest%20version%20of%20iOS,version%20of%20macOS%20is%2010.15.
20. Яка остання версія Android?
Остання версія Android – 12.0. Початкова версія Android 12.0 була випущена 18 лютого 2021 року на пристроях Google Pixel:
21. Яке розширення файлів Android?
.apk (пакет програм Android)
22. Яке розширення файлів iOS?
файл ipa (iOS App Store Package) – це файл архіву програми iOS, у якому зберігається програма iOS.
23. Припустімо, що вам потрібно провести тестування мобільного застосунку. Які технічні критерії ви будете враховувати при виборі інструменту автоматизації тестування?
- доступність;
- підтримка кількох платформ;
- зручність використання скрипта;
- вимога Jailbreak;
- зміни вихідного коду;
- термін виконання нової версії ОС.
24. Які типи засобів автоматизації доступні для мобільних пристроїв?
Інструменти об’єктного тестування мобільних пристроїв: цей підхід не залежить від розміру екрана та в основному використовується для пристроїв Android (Jama, Ranorex тощо).
Інструменти мобільного тестування на основі зображень: генерує сценарії автоматизації на основі екранних координат (RoutinBot, Egg Plant, Sikuli тощо).
25. Назвіть деякі інструменти тестування, сумісні з мобільними пристроями Android та iOS.
Інструменти тестування для мобільних пристроїв Android:
- Robotium
- UI automator
- Selendroid (Selenium for Android)
- Інструменти тестування для мобільних пристроїв iOS:
- KeepItFunctional
- iOS Driver
Інструменти тестування, які можна використовувати як для мобільних пристроїв Android, так і для iOS:
- Katalon
- Apptim
- 21
- Kobiton
- Appium
- MonkeyTalk
- Ranorex Studio
- eggPlant
26. Що таке мобільний тест на проникнення?
Тест на проникнення (penetration test, pentesting) виявляє будь-які недоліки безпеки в застосунках iOS і Android. Основна мета – підвищити безпеку мобільних застосунків, API, веб-платформ і веб-служб, які вони використовують. Він перевіряє всі елементи, які сприяють функціонуванню програми, наприклад:
- безпосередньо застосунок;
- API (або веб-сервіси), які обмінюються та надають дані;
- сервер, на якому розміщено API;
- мережеві інтерфейси програми;
- дані користувача.
Планування та стратегія мобільного тестування
27. Які типи мобільного тестування слід включити до стратегії тестування Android?
Стандартна стратегія Android може включати такі типи тестування: модульне тестування, системне тестування, інтеграційне тестування та тестування роботи залежно від функцій, доступних у тестованій мобільній програмі. Інші типи тестів також будуть виконуватися за потреби, залежно від функцій програми.
28. Яка стратегія використовується для тестування нового мобільного застосунка? Які типи тестування слід включити?
Вибір пристроїв. Перш ніж вибрати набір тестових пристроїв потрібно проаналізувати попит на ринку та врахувати пристрої, які зазвичай використовуються (може залежати від інтересів зацікавлених сторін або розробників програм).
Використання емуляторів – використання емуляторів є корисним, особливо на початкових етапах розробки, оскільки вони дозволяють швидко перевірити програму. Це система, яка запускає програмне забезпечення з одного середовища в інше без зміни самого програмного забезпечення. Він також дублює функції та працює в реальній системі.
Види тестування:
- Функціональне тестування.
- Тестування системної інтеграції.
- Встановлення та видалення програми.
- Тестування контролю HTML.
- Тестування продуктивності.
- Тестування кількох мобільних ОС.
- Тестування між браузерами та різними пристроями.
- Тестування шлюзу.
- Тестування мережі та батареї.
29. Які основні критерії слід враховувати під час планування наскрізного мобільного тестування?
У процесі наскрізного мобільного тестування групи контролю якості перевіряють усю програму від початку до кінця, щоб переконатися, що її потік працює належним чином. Під час виконання цих кроків необхідно враховувати деякі з багатьох критичних вимог:
- Чи успішно встановлено застосунок на різних моделях мобільних пристроїв, гаджетах і операційних системах?
- Програма запускається без помилок з мережею чи без неї?
- Які орієнтації підтримує застосунок і як вони працюють?
- Чи добре працює програма на різних типах пристроїв і в мережевих сценаріях?
- Як застосунок реагує на використання? (тобто швидкість і час відповіді)