android app testing tutorial
Збір базових знань перед тестуванням програм для Android:
Як випливає із самої назви, у цьому підручнику ми обговоримо більше про процес тестування Android.
Але перед тим, як вдаватися до різних деталей процесу тестування Android, я хотів би висловити пару запитань.
У вас є мобільний телефон?
А тепер, яке тупе питання! Звичайно, ми всі це робимо. У кожного є мобільний телефон. Сьогодні мобільні телефони стали основною необхідністю людського існування.
Чи можете ви сказати мені операційну систему, яка є на вашому телефоні?
Якщо ви придбали свій телефон у період між 2014-16 роками, то шанс, що ваш телефон працюватиме на Android, становить близько 80-85%.
Що ви дізнаєтесь:
- Зростання Android
- Вступ до програми Android
- Список „Завдання” перед початком процесу тестування
- Типи тестування для мобільних додатків
- Найкращі практики тестування додатків Android
- Структура тестування Android
- Висновок
- Рекомендована література
Зростання Android
Наведена нижче статистика описує більше про зростання Android у легко зрозумілій формі.
- Ще в 2009 році Android був новачком і становив лише 3,9% від усього ринку.
- Тоді основним внеском стала операційна система Symbian із колосальною кількістю 47% (Золоті дні Nokia).
- Ця тенденція почала змінюватися з роками, і Android зараз досягла 85,2% у 2016 році.
- Наведені вище номери призначені лише для мобільних телефонів. ОС Android також має великий вплив у галузі планшетів. Від 4,4% частки ринку в 2011 році до 35,7% у 2015 році говорить про інтерес, який люди розвивають до планшетних пристроїв на базі Android.
- У магазині Google Play також спостерігається швидке збільшення кількості завантажень. З 2010 по 2016 рік кількість зросла з 1 мільярда завантажень на місяць до 65 мільярдів завантажень на місяць.
- На завантаження додатків також сильно впливають низькі ціни (в середньому: 0,06 $ / додаток) програм для Android у порівнянні з програмами для iOS.
Чому я просто провів вас через усі ці цифри?
Це було лише для того, щоб ви усвідомили, наскільки величезним став Android, наскільки складною стала розробка додатків і скільки ринку ця ОС захопила за останнє десятиліття.
На кожному веб-сайті, у програмі для Windows та у програмі для Mac зараз є андроїд-брат. Усі хочуть розробити програму для Android, як тільки планують розробити програму для веб-сайтів / Windows. Зараз це стало необхідним, оскільки в останні роки клієнти також віддають перевагу мобільним програмам перед комп’ютерними програмами чи веб-сайтами.
Деякі програми, які дуже часто використовуються у нашій повсякденній діяльності, це Flipkart, Amazon, Zomato, DeliveryHero, Citi Bank, TrueCaller, Facebook, Gmail, Whatsapp тощо.
Причиною сплеску на ринку Android є те, що:
- Це відкрита система, отже її легко налаштувати, легко засвоїти і навіть розробку додатків простіше.
- Опублікувати програму в магазині Google Play досить просто порівняно з іншими ігровими магазинами.
- На ринку є кілька виробників телефонів Android, таких як Sony, HTC, Samsung, Motorola тощо.
- В Android є величезна кількість функцій, таких як DualSIM, microSD, знімна батарея тощо, що є додатковою перевагою.
- Ціни на телефони Android не надто високі, і вони доступні і т.д.
Поряд із вимогами щодо розробки програм для Android, також зросла потреба в тестерах, які добре обізнані в тестуванні Android.
Як тестувальник, перед тим, як розпочати тестування будь-якого вбудованого додатка для Android, вам потрібно виконати багато домашніх завдань. Перше, що потрібно зробити, це вивчити ОС та її історію. Якщо ви не знаєте ОС, ви не можете перевірити програму на різні версії. Основні функціональні можливості версії ОС, інтерфейс користувача, GPS, підтримка типу мережі, час автономної роботи тощо - ось деякі з важливих аспектів, які впливають на додаток.
В ОС Android не тільки ОС, але і безліч пристроїв також потребують дослідження.
На ринку доступна величезна кількість пристроїв, тому перед доопрацюванням та заморожуванням тестового стенду вам потрібно з’ясувати частку цільової аудиторії пристроїв. Різні пристрої, що пропонують різні функції, такі як DualSIM, подвійна камера, роздільна здатність екрану, теми тощо, впливають на додаток, і їх потрібно протестувати.
Отже, для контролю якості дуже важливо зібрати всебічні знання про повну екосистему Android.
Вступ до програми Android
Існують різні методи тестування, за якими успішно сертифікується програма для Android.
Типова архітектура програми для Android буде виглядати приблизно так, як показано на схемі нижче:
як запустити .swf
Виходячи з наведеного вище малюнка, існує 2 можливості для програми:
1) Мобільний додаток для веб-програми: Можливо, клієнт має веб-додаток і хоче створити мобільний додаток для нього. Amazon, Jabong, Myntra тощо зробили те саме, і в той момент, коли мобільні програми почали створювати бум на ринку, ці комерційні компанії зрозуміли, що незабаром люди перейдуть від веб-програм до мобільних.
2) Мобільний додаток як окремий суб’єкт господарювання: Я протестував подібний логістичний додаток, щоб збільшити бізнес, він створив окремий додаток для своїх водіїв, щоб полегшити безперебійну доставку та видалив документи.
Водії мали на своїх телефонах встановлену програму для переміщення вантажу на різні етапи доставки та відповідного статусу, а оновлення доставки відображались у їхній існуючій веб-програмі.
Інші такі Приклади де мобільний додаток - це окрема сутність, це WhatsApp, додатки для відстеження здоров’я, такі як S Health тощо.
Список „Завдання” перед початком процесу тестування
На відміну від звичайного циклу тестування, для самого першого випуску мобільного додатка є кілька елементів, які потребують додаткових досліджень та планування для успішної доставки програми.
Нижче наведено деякі заходи, важливі для здійснення контролю якості перед початком власне тестування:
# 1) Дослідження ОС та пристроїв:
Окрім розуміння вимог програми, вам також слід розуміти вплив різних версій ОС та моделей пристроїв. Вам потрібно створити тестові кейси або сценарії для Windows та моделей пристроїв.
# два) Тест:
На відміну від настільних, веб- та iOS-програм, створення тестового стенду для додатків для Android дуже складне через відкриту систему Android. Рішення слід прийняти після обговорення з BA, розробниками та власниками продуктів, щоб знайти цільову аудиторію.
# 3) План випробувань:
Оскільки це перший випуск, повинен бути затверджений план із затвердженим випробувальним стендом, видами випробувань тощо. Якщо для вивчення функціональних можливостей чи бізнес-правил потрібен окремий час, або якщо тестування буде хитрим і т. Д., Все має бути викладено в плані.
# 4) Інструменти автоматизації:
Засоби автоматизації, необхідні для мобільних додатків, сильно відрізняються від інструментів для настільних комп'ютерів або веб-програм. Отже, можливо, вам доведеться витратити зайвий час та зусилля на вивчення інструменту. Час і зусилля, необхідні для цього, повинні бути схвалені власником товару або замовником.
# 5) Методи або методи випробування:
На відміну від звичайних тестів, які ми зазвичай робимо, є мало тестів, які є дуже специфічними для мобільних додатків. А саме польові випробування, GPS-тест, тест на захоплення зображень тощо. Вони повинні бути задокументовані в тестових випадках разом із тим, як буде перевірятись цей тип.
Типи тестування для мобільних додатків
Для сертифікації програми Android проводяться такі типи тестування:
1) Функціональне тестування:
Тестування зазвичай здійснюється за допомогою тестових потоків, ініційованих користувальницьким інтерфейсом. Перевіряється не лише потік використання, але й різні бізнес-правила. Тестування проводиться шляхом засвідчення вимог. тобто чи працює додаток на основі вимог.
Давайте візьмемо Приклад програми Zomato.
Коли ви запускаєте програму, залежно від місцезнаходження з’являється список ресторанів. Тепер, як QA, вам доведеться перевірити список ресторанів.
Це тестування функціональності, і тут ви перевірите такі функції, як:
- Перевірте, чи не відображаються картки ресторану w.r.t місцезнаходження.
- Переконайтеся, що вказані ресторани знаходяться в заданому діапазоні (км).
- Переконайтеся, що кількість відгуків на кожній картці синхронізована з даними відгуками.
- Перевірте, чи не відображається в списку додавання нового ресторану для місця.
- Перевірте, чи перераховані ресторани на основі правила фільтрації Zomato тощо.
2) Тестування інтерфейсу Android:
Це орієнтоване на користувача тестування програми. На цьому етапі тестування під цим тестуються такі елементи, як видимість тексту на різних екранах програми, інтерактивні повідомлення, вирівнювання даних, зовнішній вигляд програми для різних екранів, розмір полів тощо.
Для того самого наведеного вище Прикладу Zomato тести інтерфейсу користувача будуть такими:
- Переконайтеся, що картки правильно відображаються відповідно до розміру екрана мобільного телефону.
- Переконайтеся, що зображення ресторану відображається належним чином.
- Перевірте, чи правильно вказані дані картки, рейтинг ресторану, тип кухні, адреса тощо.
- Переконайтеся, що прокрутка списку не містить збоїв, а карти не відображаються неправильно вирівняними, коли прокручується довгий список карт тощо.
3) Тестування сумісності:
Це тестування проводиться здебільшого у формі двох матриць додатків OS Vs та App Device Vs. Зазвичай список підтримуваних ОС (а іноді й пристроїв) надається власником продукту або замовником.
Потреба в цьому тестуванні:
- Якщо взяти до уваги таку ОС, як Android, виявлено 7 базових версій, які нехтують кількістю випусків патчів / EP.
- Чи можете ви здогадатися, які типи пристроїв Android працюють зараз по всьому світу? 1000? 2000? Неправильно! Правильна відповідь - 24000. У світі існує 24000 типів унікальних пристроїв Android.
- З такими варіантами тестування сумісності відіграє важливу роль у сертифікації програми для Android.
- Нам потрібно не тільки перевірити ОС та тип пристрою, але також перевірити кілька інших функцій, які підпадають під тестування сумісності. Особливості включають:
- Розмір екрану
- Розширення екрану
- Мережеве підключення
4) Тестування інтерфейсу:
Іншими словами, це також називається інтеграційним тестуванням. Це тестування проводиться після того, як всі модулі програми повністю розроблені, протестовані індивідуально і всі помилки виправлені.
Тестування інтерфейсу включає такі тести, як повне наскрізне тестування програми, взаємодія з іншими програмами, такими як Карти, соціальні програми тощо, використання мікрофона для введення тексту, використання камери для сканування штрих-коду чи фотографування тощо.
Знову розглядаючи Zomato, тести інтеграції мали б вигляд:
- Перевірте, чи може користувач замовити столик у ресторані.
- Перевірте, чи може користувач переглядати меню та замовляти їжу через Інтернет.
- Перевірте, чи може користувач скористатися купоном PayTM під час замовлення їжі.
- Перевірте, чи може користувач переглядати місце розташування ресторану на Картах Google.
- Перевірте, чи може користувач відкрити телефонний набір і зателефонувати у ресторан тощо.
5) Тестування мережі:
Ключові особливості мережевого тестування включають:
- Додаток повинен поговорити з проміжною службою, щоб здійснити процес.
- Під час цього тестування запит / відповідь до / від служби перевіряється на різні умови.
- Цей тест в основному проводиться для перевірки часу відгуку, за який виконується діяльність, як оновлення даних після синхронізації або завантаження даних після входу тощо.
- Це робиться як для надійного з’єднання Wi-Fi, так і для мобільної мережі передачі даних.
- Це внутрішнє тестування.
6) Тестування продуктивності:
Ефективність програми за певних особливих умов перевіряється.
Ці умови включають:
- Недостатня пам’ять у пристрої.
- Акумулятор дуже низький.
- Поганий / поганий прийом в мережі.
Продуктивність в основному перевіряється з двох кінців, кінця програми та кінця сервера додатків
7) Тестування встановлення:
На пристрої Android є два типи програм, тобто попередньо встановлені програми та програми, які користувач встановлює пізніше.
Для обох вищезазначених потрібно провести перевірку встановлення. Це для забезпечення плавної інсталяції програми без помилок, часткової інсталяції тощо.
Тестування на оновлення та видалення проводиться в рамках тестування на встановлення.
8) Тестування безпеки:
Конфіденційність та безпека - це дві основні вимоги програми. Однак у банківській діяльності, охороні здоров'я це стає першочерговою вимогою.
Тестування потоку даних для механізму шифрування та дешифрування має бути перевірено на цьому етапі. Доступ до збережених даних також перевіряється на цьому етапі.
9) Польові випробування:
Польові випробування проводяться спеціально для мобільної мережі передачі даних, а не власноруч, а шляхом виходу та використання програми як звичайного користувача. Це тестування проводиться 'лише' після розробки, тестування та регресії всього додатка (для помилок та тестових випадків).
Запитання щодо інтерв’ю веб-служб .net
В основному це робиться для перевірки поведінки програми, коли телефон має підключення 2G або 3G. Польове тестування перевіряє, чи додаток аварійно завершує роботу при повільному підключенні до мережі або завантаження інформації триває занадто довго.
Детальніше про польові випробування ви можете прочитати в нашій статті «Важливість та необхідність польових випробувань для мобільних додатків»
10) Тестування переривань:
Цей тип тестування також відомий як автономна перевірка сценарію. Умови, коли комунікація переривається посередині, називаються автономними умовами.
Деякі умови, за яких можна перевірити переривання мережі, такі:
- Видалення кабелю даних під час процесу передачі даних.
- Відключення мережі на етапі проводки транзакцій.
- Відновлення мережі після відключення.
- Виймання батареї або ввімкнення / вимкнення живлення, коли він перебуває у фазі транзакції.
Найкращі практики тестування додатків Android
Є певні фактори, які слід враховувати при розробці стратегії тестування мобільних додатків.
Вони є:
1) Вибір пристрою:
- Це один з найбільш важливих кроків перед початком процесу тестування додатків для Android.
- Вирішіть, які пристрої слід враховувати для процесу тестування.
- Вибір слід робити таким чином, щоб максимально збільшити кількість цільових клієнтів.
- Такі фактори, як версія ОС, роздільна здатність екрану та форм-фактори (планшетний ПК або смартфони) відіграють важливу роль на етапі вибору.
- При необхідності можна взяти до уваги навіть допомогу емуляторів.
- Але емулятори не повинні замінювати процес тестування фізичного пристрою.
- Емулятори пристроїв економічно вигідні, і вони стають в нагоді на початковій фазі розробки.
- Але для тестування реальних сценаріїв необхідні фізичні пристрої. І емулятори, і фізичні пристрої повинні використовуватися збалансовано для оптимізованого результату.
2) Бета-тестування програми:
- Бета-тестування є дуже ефективним при тестуванні з реальними користувачами, реальними пристроями, реальними мережами та програмами, встановленими в широкій географії.
- Це дає чітке уявлення про щільність мережі, варіації мережі (Wi-Fi, 4G, 3G та 2G) та вплив на програму.
- Бета-тестування в реальному світі є єдиним у своєму роді і не може бути відтворено в контрольованому середовищі.
3) Підключення:
- Зазвичай програми Android підключаються до Інтернету для різних вимог.
- Підключення на різних пристроях відіграє ключову роль у формуванні стратегії.
- В основному підключення контролюється програмним забезпеченням для моделювання, яке допомагає регулювати швидкість мережі, затримку та обмежені можливості підключення під час тестування.
- Кажуть, що тестування під реальними мережевими підключеннями завжди доцільне для результатів / даних у реальному часі.
4) Ручне або автоматизоване тестування:
- Хоча тестування автоматизації займає достатньо часу для першого запуску, воно стає в нагоді, коли тестування потрібно повторити. Це також зменшує загальний проміжок часу тестування на різних етапах розробки.
- Автоматизація Android повинна поєднуватися з ручним тестуванням, коли повторність регресійного тестування висока на етапі розробки додатків, тестування сумісності потрібно проводити для одного і того ж додатка в різних версіях ОС, контрольних точок зворотної сумісності тощо
Структура тестування Android
Доступно декілька фреймворків для тестування Android.
У цьому підручнику ми обговоримо 3 різні типи найбільш часто використовуваних фреймворків:
- Тест на робототій
- Робоелектрична контрольна система
- Структура тесту на аппіум
1) Структура випробувань на роботоцій:
- Цей фреймворк використовується для написання складних та надійних тестових кейсів для чорних ящиків для додатків Android.
- Він підтримує як власні, так і гібридні клієнти.
- Функції, тестові кейси системи та кейси для прийняття користувачем можуть бути написані за допомогою цього фреймворку.
- Robotium підтримує Android 1.6 і новіших версій, а також підтримує діалоги, меню, дії тощо.
- Цей фреймворк автоматично обробляє кілька дій Android.
- У складі Robotium представлено декілька методів взаємодії з різними графічними компонентами програми Android. Деякі з них наведені нижче:
- Повертайся();
- getButton ();
- isRadioButtonChecked ();
- searchText (“Користувач”);
- натисніть на кнопку (“Вийти”);
2) Робо-електрична система випробувань:
- Цей фреймворк допомагає у тестуванні додатків Android на JVM на основі фреймворку JUnit4.
- Він використовує Android API.
- Це допомагає писати тестові кейси та запускати їх на JVM.
- При цьому всі класи замінюються чимось, що називається тіньовими об'єктами.
- Щоразу, коли реалізується метод, Robo-electric внутрішньо надсилає виклик тіньовому об'єкту.
- На основі реалізації, якщо метод реалізований тіньовим об'єктом, повертається значення. В іншому випадку повертається NULL.
- Завдяки тіньовим об'єктам та JVM виконання стає швидшим.
3) Тестові рамкові епохи;
- Цей фреймворк працює для власних, гібридних та мобільних веб-додатків для пристроїв Android.
- Appium безкоштовно користується утилітою.
- Єдиний API працює як для Android, так і для платформи iOS. Це одна з платформ, яка підтримує міжплатформене тестування.
- Він використовує веб-драйвер Selenium для взаємодії з додатком Android.
- Appium підтримує написання сценаріїв з використанням багатьох мов програмування, таких як Java, C #, Python, PHP, Ruby тощо.
Висновок
Автоматизація додатків для Android може бути об'єднана вручну відповідно до потреби. Однак якщо до стратегії додати тестування Androind Automation, вибір правильного інструменту є великим завданням. При виборі факторів інструменту автоматизації, таких як підтримка мультиплатформи, тестовий робочий процес, ціна інструменту, послуга / підтримка тощо, слід враховувати.
У тестуванні додатків для Android існує кілька проблем. Перед тим, як процес тестування Android дійсно може бути реалізований, слід враховувати різні фактори, але після цього це стає дуже цікавим завданням.
Ознайомтеся з нашим майбутнім посібником, щоб дізнатися більше про це Виклики та рішення для мобільного тестування.
Рекомендована література
- 11 найкращих засобів автоматизації для тестування програм для Android (Інструменти для тестування додатків Android)
- Послуги бета-тестування мобільних додатків (Інструменти бета-тестування iOS та Android)
- Створіть тести Appium для програми для Android
- Функціональне тестування проти нефункціонального тестування
- Підручники з тестування мобільних додатків (Повний посібник із понад 30 навчальних посібників)
- Найкращі засоби тестування програмного забезпечення 2021 р. (Інструменти автоматизації тестування якості)
- Альфа-тестування та бета-тестування (повний посібник)
- Поглиблені підручники Eclipse для початківців