Professional Documents
Culture Documents
Аналітична
Аналітична
АНАЛІТИЧНА РОБОТА
з дисципліни
“Введення в тестування програмного забезпечення”
на тему
“Мобільне тестування”
Суми 2022
2
ЗМІСТ
ВСТУП....................................................................................................................3
ВИСНОВОК.........................................................................................................19
3
ВСТУП
Мобільні технології та смартфони стали новою світовою тенденцією, наразі
важко уявити повсякденне життя без мобільного пристрою, оскільки за останні
декілька років вони повністю інтегрувались у буденне життя, зробивши його
значно легшим.
З січня 2020 року кількість користувачів смартфонів збільшилась на 1,8%,
досягнувши рекордні 93 мільйони нових користувачів за рік. Деякі експерти із
питаннь цифровізціїї навіть висловлюють думку, що у світі смартфонів уже
більше, ніж людей. Наразі у активному використанні фіксують 8,02 мільярда
пристроїв. Пов'язано це з тим, що деякі користувачі володіють двома
смартфонами. Загальна кількість смартфонів на руках користувачів зросла на
0,9% за рік, що є великим показником у порівнянні із розповсюдженням
комп'ютерів та планшетів.
Все більше люди віддають перевагу смартфонам при відвідуванні інтернет-
сторінок. Близько 60% відвідувань становить саме зі смартфонів, і ця кількість
зростає із кожним роком. Багато в чому це пов'язано з тим, що сайти все більше
оптимізуються під маленькі екрани і користуватися комп'ютером стає все менш
зручно. На додаток до цього, мобільні пристої дозволяють користувачам
виконувати майже всі буденні операції у будь-який час, без прив'язки до місця та
наявності провідного інтернету.
Сьогодні користувачам доступно для завантаження більше 4 мільйонів
мобільних додатків та веб-сайтів у найрізноманітніших категоріях, і вони мають
право вибирати найбільш зручне для себе. Користувач мобільного пристрою
очікує, що додатки, які встановлюються, прості, інтуїтивно зрозумілі, працюють
завжди й всюди без збоїв. Якщо очікування не виправдовуються, то користувач
попросту видаляє додаток та встановлює аналогічний додаток від іншого
розробника, яких у сфері мобільних розробок завжди достатньо. Тому якість
програми є одним з головних факторів його популярності.
4
В умовах такої конкуренції, перед випуском власного програмного
продукту потрібно переконатися, що він не лише коректно працює, а й
перевершує очікування потенційних клієнтів. Саме тому, мобільне тестування —
одна з сфер IT-ринку, що найактивніше розвиваються, через бурхливий сплеск
популярності та розповсюдженості мобільних пристроїв.
Актуальність теми “Мобільне тестування” тісно пов’язана із саме із
швидкоплинним розповсюдження мобільних девайсів та їх кількісний приріст у
користувачів.
Метою аналітичної роботи є дослідження особливостей мобільного
тестування, його актуальність та перспектива розвитку у майбутніх роках.
5
РОЗДІЛ I. ПОНЯТТЯ МОБІЛЬНОГО ТЕСТУВАННЯ.
1. МОБІЛЬНЕ ТЕСТУВАННЯ ТА ЙОГО ЗНАЧЕННЯ У РОЗРОБЦІ
6
кількості пристроїв, щоб переконатися, що більшість користувачів залишаться
задоволеними.
За визначенням, тестування мобільних додатків – це процес, у якому
програми тестуються на необхідну якість, функціональність, сумісність, зручність
використання, продуктивність та інші характеристики.
Мобільне тестування складається з широкого спектру методів та оцінки
програм, які включають як стандартне тестування програмного забезпечення, так і
процедури тестування для конкретної мобільної платформи.
За статистикою, 80% задач, зроблених під час розробки, мають
невідповідності до поставленої задачі, тому, можна зробити висновок, що
тестування є важливим процесом у розробці програмного забезпечення, яке
гарантує правильну реалізацію задачі розробником.
7
1.2 ОСОБЛИВОСТІ МОБІЛЬНОГО ТЕСТУВАННЯ
8
ОС смартфонів часто оновлюється, і користувач не повинен відчувати
будь-яких складнощів після кожного такого апгрейду і, якщо він
відмовився від його установки.
Важливим моментом у мобільному тестуванні стає тестування поведінки
при різних умовах використання, оскільки мобільні пристрої мають більший
спектр умов застосування, на приклад, розмір екрана та touch-інтерфейс, ресурси
телефону, різні роздільні здатності екрану та версії ОС, реакція програми на
зовнішні переривання. Кожен із цих прикладів має свої властивості.
Для тестування touch-інтерфейсу необхідно дотримуватись правил та
виконувати тестування згідно зазначених пунктів :
перевірити розміри всіх елементів графічного інтерфейсу
користувача;
перевірити можливості використання усіх активних елементів
(кнопок, посилань та ін.);
перевірити швидкість відгуку активних елементів, вона повинна бути
досить високою, не більше, ніж 5 секунд;
перевірити, що багаторазове швидке натискання на кнопку не викличе
екстрене завершення програми або збій у роботі програми;
перевірити підтримку multitouch – одночасне натискання кількох
кнопок;
перевірити підтримку горизонтального (landscape) та вертикального
(portrait) положення;
перевірити використання в додатку спеціальних жестів (double tap,
swipe, pinch in/out та ін.).
Важливим пунктом, що відрізняє тестування на десктопі та мобільному
пристрої стає тестування ресурсів телефону:
необхідно проконтролювати можливі витоки пам'яті. Часто це
трапляється в додатках з вікнами, що містять велику кількість
9
інформації. Також витоки пам'яті можуть бути присутніми під час
тривалої роботи програми;
перевірити обробки ситуацій нестачі пам'яті для функціонування
операційної системи, під час роботи програми в активному та
фоновому режимах;
перевірити недоліки місця для установки або роботи програми;
перевірити ситуацію, коли застосунок встановлюється на SD-карту;
перевірити роботу батареї (акумулятора) пристрою при запущеному
додатку, роботи у фоновому режимі, при включеному Wi-Fi, 3G
Інтернеті, без підключення до мережі та ін.
Оскільки мобільний пристрій є багатофункціональним та має безліч
функцій, такі як : дзвінки, SMS, нагадування, будильник – то необхідним є
тестування реакції програми або веб-сайту на зовнішні переривання. Для
тестування реакції на зовнішні переривання використовують такі принципи:
необхідно провести тестування при вхідних та вихідних SMS та MMS;
провести тестування при вхідних та вихідних дзвінках;
провести тестування у випадку спрацьовування нагадування,
будильник та ін.;
якщо мобільний додаток не потребує інтернету або навпаки повнітю
залежить від нього, то необхідно провести тестування відключення та
підключення Wi-Fi. Наприклад, додаток може екстрено завершувати
свою роботу під час запуску авіарежиму при відключеному Wi-Fi.
При втраті сигналу та одночасному виконанні операції може
відображатися нескінченне завантаження програми, замість
коректного повідомлення про відсутність інтернет-підключення;
тестування роботи в фоновому (background) режимі також є важливим
пунктом. Для відправки у фоновий режим – запускається додаток, а
потім натискається кнопка home. В результаті при повторному
запуску програми бувають помилки, екстрені завершення роботи,
10
неправильне відображення останнього відкритого вікна. Також при
тривалій бездіяльності додатка виникає екстрене завершення роботи
або помилки;
при перевірці необхідно запевнитись, що додаток сумісний з іншими
додатками та не робить помилок у їх роботі.
Отже, можемо зробити висновок, що мобільне тестування є
великомасштабним процесом, який вимагає детальної підготовки та
фундаментальних знань у сфері програмного забезпечення.
11
РОЗДІЛ II. ІНСТРУМЕНТИ ТА ЕТАПИ МОБІЛЬНОГО
ТЕСТУВАННЯ
2.1 ІНСТРУМЕНТИ МОБІЛЬНОГО ТЕСТУВАННЯ
12
Інструменти тестування додатків різняться залежно від операційної
системи, тому ви можете використовувати різне програмне забезпечення для
тестування Android і iOS. Крім того, деякі універсальні інструменти дозволяють
проводити тести з різними типами мобільних додатків.
Для тестування додатків Android QA-спеціалісти часто використовують таке
програмне забезпечення, як TestComplete, Appium, Calabash, Robotium,
MonkeyRunner, Ranorex.
TestComplete – це комплексна платформа автоматизації мобільного
тестування, що дозволяє користувачам створювати та проводити тести інтерфейсу
користувача на будь-якому мобільному телефоні. Програма може запускати тести
на реальних або віртуальних пристроях та емуляторах. Це гнучкий інструмент,
який пропонує різні варіанти сценаріїв тестування, а також можливість тестувати
без сценаріїв. Інструмент цінний також тим, що не обов’язково мати досвід у
автоматизації, можна швидко створювати код або автоматизовані мобільні тести
без коду.
Appium – це інструмент з відкритим вихідним кодом для тестування
широкого спектру додатків, включаючи мобільні веб-додатки, нативні та гібридні
програми. Він підтримує багато мов програмування, таких як Java, Ruby, C# та
інші, які є в бібліотеці WebDriver та використовує інтерфейс WebDriver для
виконання тестів. Appium підтримує останні оновлення, оскільки покладається на
потужну спільноту активних користувачів на GitHub. Це повноцінне рішення для
автоматизованого тестування, але Appium громіздкий через його складний
інтерфейс користувача. Appium є одним із найпопулярніших інструментів
автоматизації для тестування мобільних додатків, що дозволяє тестувати як
додатки iOS, так і Android.
Для тестування iOS-додатків зазвичай використовують EarlGrey — це
платформа для тестування iOS, розроблена Google. QA-спеціалісти
використовують його для автоматизації тестування UI та функціонального
тестування. Окрім цього, популярними серед тестувальників є XCTest і XCUITest
13
— це фреймворки, створені Apple. Оскільки вони постачаються з Xcode, ці
фреймворки значно спрощують і прискорюють процес тестування.
Загалом, всі програми для тестування схожі на Appium та TestComplete,
тому у випадку опанування однієї із програм не буде виникати труднощів із
іншими
Для оркестрування численних інструментів для різних видів тестування та
автоматизації, часто використовують інструменти для тест-менеджменту або
інструменти ALM (Application Lifecycle Management). Одними з найпопулярніших
є aqua aqua ALM та Testmo.
14
2.2 ЕТАПИ МОБІЛЬНОГО ТЕСТУВАННЯ
15
безпека тощо. буд. На цьому етапі має сенс вибрати методи тестування
мобільного докладання.
16
Також необхідно визначити на які цільові пристрої спрямовано цю
програму, та які вимоги до функціонала слід перевірити. Обов’язковим є
визначення цільових пристроїв для тестування. Для цього необхідно виконати
наступні кроки:
з'ясувати, які пристрої підтримуватиме програма;
визначити, яка версія операційної системи буде ранньою з тих, що
підтримуються додатком;
виявити найпопулярніші моделі мобільних пристроїв у цільової
аудиторії;
визначити набір не основних (додаткових) пристроїв з екранами
різних розмірів, які потенційно підтримуються програмою;
вирішити, чи використовуватимете для тестування фізичні пристрої
або їх емулятори.
Третім етапом виступає підготовка тестової документації. Необхідним є
підготовка тестової документації, що описує тестові випадки для кожної функції
та функціональності, що тестується. Крім функціональних тестових випадків,
також повинні бути охоплені деякі окремі моменти. Також перед початком
тестування важливо визначитися, яке поєднання ручного та автоматичного
тестування ви застосовуватимете. При необхідності підготуйте окремі набори
ручних тестових випадків та сценаріїв для автоматичного тестування.
На четвертому етапі виконується запуск тестів для перевірки механізмів
основної функціональності, щоб переконатися у відсутності помилок.
На етапі тестування юзабіліті та бета-тестування. необхідно підтримувати
відповідність матриці кросплатформенності, щоб забезпечити охоплення
користувачів різних платформ, досягнутий бета-тестерами.
Після етапі тестування юзабіліті та бета-тестування наступним йде
тестування продуктивності. Мобільні пристрої надають для додатків менший
об'єм пам'яті та меншу доступну потужність процесора, ніж стаціонарні
17
комп'ютери та ноутбуки. З цієї причини в роботі мобільних додатків дуже
важлива ефективність використання ресурсів, що надаються.
На етапі атестаційного тестування та тестування безпеки необхідно
переконатись, що програма, яка тестується, надійно захищена. Виконується
перевірка на можливість впровадження SQL ін'єкцій, можливість перехоплення
сеансів, аналізу дампів даних, аналізу пакетів і SSL трафіку.
На етапі тестування пристрою виконується тестування за тими
алгоритмами, раніше прописали у тестових випадках та сценаріях тестування на
всіх визначених для тестування пристроях, у хмарі та/або на фізичних пристроях.
Останнім етапом проходить контроль та резюме. Цей етап включає
докладне і повне тестування. На цьому етапі тестування ви можете додати для
перевірки нові функції та змінити налаштування на ті, яких не буде у фінальній
версії.
18
РОЗДІЛ III. АКТУАЛЬНІСТЬ МОБІЛЬНОГО ТЕСТУВАННЯ
3.1 СТАТИСТИКА КІЛЬКОСТІ МОБІЛЬНИХ ЗАСТОСУНКІВ
19
Рис. 1 – Кількість мобільних нативних мобільних додатків у 2020 році.
20
Рис. 2 – Кількість веб-програм по рокам.
Оскільки відсутність багів та стабільна роботи одні із ключових факторів
для успіху застосунку, то можемо зробити висновок, що об’єктів для тестування у
сучасному світі налічується досить багато, що підтверджую актуальність розвитку
сфери мобільного тестування.
Як вже було зазначено, мобільне тестування має суттєві відмінності від
комп’ютерного тестування, тому також можна зробити висновок, що є велика
ймовірність того, що потреба у Mobile QA Engineer також буде зростати.
За кількістю зростання мобільних додатків можем зробити висновок, що
необхідність у мобільному тестуванні та тестувальниках, що спеціалізується на
мобільних пристроях, знаходиться на найвищій позиції за всі роки.
21
ВИСНОВОК
22
23
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ
24