ios app testing beginners guide with practical approach
Збір базових знань для тестування додатків iOS:
“Ви знаєте, у всіх є мобільний телефон, але я не знаю жодної людини, якій подобається їх мобільний телефон. Я хочу зробити телефон, який люблять люди ». - Стів Джобс.
Це було про iPhone Стіва Джобса. Стів справді змусив Apple працювати над тим, щоб зробити їх мобільний пристрій улюбленим у всі часи для всіх.
Користувачі завжди любили мобільні пристрої Apple, будь то iPhone, iPod Touch або iPad. Поточні дані свідчать про те, що у світі працює майже 1 мільярд пристроїв Apple, які працюють на iOS.
Це цілий мільярд з них.
Нижче наводиться аналіз частки ринку iPhone у 2016 році:
(зображення джерело )
Що ви дізнаєтесь:
- ios
- Тестування iOS
- Види тестування додатків iOS
- Тестування вручну - використання пристрою
- Тестування вручну - використання емулятора
- Автоматизація iOS
- Найкращі практики тестування програм для iOS
- Фреймворки автоматизації iOS
- Висновок
- Рекомендована література
ios
iOS - це мобільна операційна система, розроблена Apple саме для своїх пристроїв, яку часто називають iDevices. Починаючи з 2007 року, коли iOS була створена лише для iPhone, операційна система розвивалася для підтримки сенсорних пристроїв та iPad.
Поточні дослідження повідомляють, що iOS є другою за популярністю мобільною операційною системою на ринку. Android працює на пристроях, побудованих різними виробниками, але краса iOS полягає в тому, що він обмежений лише обладнанням Apple, що чітко заявляє про популярність операційної системи.
Протягом багатьох років iOS побачила 10 основних версій і пропонувала помітні оновлення функцій у кожному своєму випуску.
Ця операційна система iOS славиться своєю зручністю для користування, плавністю в операціях, програмами, що не спрацьовують без збоїв і т. Д. Під час обговорення додатків, магазин додатків Apple iTunes для iOS є надто багатим, оскільки кількість додатків розгортається до 2,2 мільйона. Завантаження програм швидко зросло до колосальних 130 мільярдів.
iOS - це операційна система, яка не обмежена жодним зональним чи мовним бар’єром. Це один з основних факторів цієї операційної системи, яка стає настільки відомою лише за 10 років свого розвитку. Він підтримує 40 різних мов.
Не лише мови, навіть користувальницький інтерфейс пристроїв iOS дуже привабливий і стильний, а також порівняно з пристроями Android.
Детально розповідаючи про Програми, нижче наведено деякі статистичні дані щодо них:
- Магазин додатків Apple iTunes щодня отримує майже 1000 нових заявок.
- Близько 1/3рдіз загальної кількості програм у магазині додатків Apple iTunes можна завантажити безкоштовно.
- Плата за платну програму iOS становить у середньому від 1,10 до 1,30 доларів.
- Середня ціна на гру для iOS коливається від 0,55 до 0,65 $.
Скільки програм ви використовували на своєму iPhone, iPod Touch або iPad?
Досить жменька! Правда? Починаючи від Gmail та Facebook до Clash of Clans and Asphalts. Цей тип програм, кількість і різноманітність користувачів приносять тестерам програмного забезпечення серйозний бізнес. Хіба не ??
Як тестувальник, для перевірки програми на iPhone, iPod та iPad також потрібно зробити не лише функціональність, але й поглиблене тестування інтерфейсу через різницю в їх розмірах.
Тестування iOS
Як вже обговорювалося раніше, iOS обмежується лише обладнанням Apple або пристроями Apple. Це справді величезне полегшення. Однак існує безліч пристроїв Apple та їх версій, які підтримують iOS.
Підсумок полягає в тому, що Apple має закриту систему, на відміну від Android, яка є відкритою. Випуски ОС або пристроїв добре сплановані.
Це додаткова перевага, оскільки:
- Розмір пристроїв, які доступні або будуть випущені, є фіксованим, і в якості контролю якості ми повинні мати чітке уявлення про те, які всі пристрої відсутні на ринку. Орган контролю якості стає легким прийняти рішення про тестування
- Як і пристроям, нам не потрібно проводити глибокий аналіз для ОС, оскільки це закрита система, і на це потрібно менше часу (і зусиль), щоб прийняти рішення щодо тестового стенду для тестування ОС.
- Apple має безліч різноманітних власних засобів автоматизації, хоча їм трохи складно вчитися.
- Я пам’ятаю, що для тестування GPS для Android мені довелося витратити 2-3 дні, щоб дізнатись, як створити фіктивні сценарії для надсилання фальшивого розташування. Але в iOS це було дуже просто і просто, оскільки він має вбудовану функціональність для надсилання підробленого GPS для ходьби, бігу, їзди на велосипеді тощо.
- Для первинного тестування не рекомендується тестувати GPS за допомогою польових випробувань, бажано надсилати фіктивні дані GPS, що також економить час.
- Apple має чіткі вказівки щодо подання заявки, це велика допомога, а не отримання відхилення після подання та хороший шанс на успіх, на відміну від інших ОС, де немає суворих вказівок.
- Функціональність самого пристрою та самої ОС є фіксованою та простою, отже, вона зменшує шанси втратити способи роботи додатка. У iOS немає способу примусово зупинити програму, тоді як ми можемо вбивати та змушувати зупиняти програми на android. Таким чином, складність для тестування тут зменшується.
Це деякі переваги, які ми отримуємо від продуктів Apple, але не обов'язково, що це переваги кожного продукту чи програми. У той час як для програм, які розроблені в крос-платформі, iOS важко обробляти.
високий рівень класифікація наведена нижче:
Першим кроком у тестуванні додатків iOS є розгляд типу впровадження.
Реалізація програми може бути будь-яким із наведених нижче 3 типів:
1) Веб-програми: Це програми, які ведуть себе подібно до побудови в додатках iOS. Це звичайні веб-сайти, до яких користувач переходить у браузері Safari на iPhone.
2) Рідне застосування: Додаток, розроблений за допомогою iOS SDK (Software Development Kit), працює власним чином на підтримуваних пристроях iOS, таких як VLC, Flipboard, Uber тощо.
3) Гібридне застосування: Це суміш або гібрид обох типів, згаданих вище. Це дає доступ до веб-вмісту через область перегляду веб-вмісту, а також містить деякі елементи інтерфейсу користувача для iOS. Напр. Zomato, Twitter, Gmail тощо
Види тестування додатків iOS
Різні типи тестування додатків iOS (як це робиться в типових умовах) можуть бути такими:
- Тестування вручну - використання пристрою
- Тестування системи
- Тестування UI / UX
- Тестування безпеки
- Польові випробування
- Тестування вручну - використання емулятора
- Одиничне тестування
- Інтеграційне тестування
- Тестування інтерфейсу користувача
- Тестування автоматизації
- Регресійне тестування
- Тестування BVT
- Тестування сумісності
- Тестування продуктивності
Приклад заявки:
Перш ніж переходити до різних аспектів процесів тестування iOS, візьмемо приклад типового додатка iOS.
Давайте врахуємо заявку на збір коштів для спортивної команди. Додаток матиме логін соціального облікового запису (Google / Facebook) та сторінку оплати.
Перш ніж переходити на сторінку платежів, має бути можливість вибрати визначені системою суми або спеціальне поле для введення суми. Після завершення платежу на екрані повинен відображатися PDF із сертифікатом, і в той же час PDF також повинен бути надісланий електронною поштою на електронну адресу користувача, який наразі ввійшов до системи.
Тестування вручну - використання пристрою
а) Тестування системи:
Цей тип тестування iOS проводиться в системі, щоб перевірити, чи працюють різні компоненти системи разом.
У цьому процесі тестування додаток iOS запускається на реальному пристрої Apple з подальшою взаємодією з користувальницьким інтерфейсом для ініціювання певного набору або наборів дій користувача. Типовими діями користувача можуть бути операція дотику або проведення пальцем по екрану.
Нарешті, результат перевіряється щодо очікуваного результату.
Для нашихПрикладнаведений вище, типовий системний тест може включати такі етапи:
- Увійдіть до спортивної команди iOS та програми збору коштів за допомогою входу в обліковий запис Facebook, використовуючи відкриту автентифікацію.
- Виберіть із заданих параметрів заздалегідь визначену системну суму 10 доларів.
- Перейдіть до платіжного шлюзу.
- Виберіть опцію мобільного гаманця PayTm для процесу оплати.
Системні тести - це операції, які здебільшого охоплюють різні наскрізні потоки в системі. Кожен тест повинен виконуватися з різними доступними конфігураціями. І це також залежить від пристрою та версії iOS, на якій встановлено додаток.
б) Тестування інтерфейсу користувача iOS
UI / UX пристроїв iOS був ключовим елементом їх історії успіху.
Тестування UI / UX на пристроях iOS можна класифікувати на такі категорії:
- Входи: До цієї категорії належать тестування функціональності сенсорного екрану (наприклад, довгий / короткий дотик, 3D дотик, прокрутка), розміри кнопок, розташування кнопок, колір шрифтів та їх розмір тощо.
- Жорсткі клавіші: Власні програми безперебійно функціонують із вбудованими апаратними клавішами / жорсткими клавішами, присутніми на пристрої, такими як клавіша Home, кнопки звуку тощо. Досліджувана програма також повинна взаємодіяти з клавішами аналогічним чином.
- М'які клавіші / м'яка клавіатура: Як прикро, коли клавіатура не відображається, коли ви знаходитесь на своїй сторінці повідомлень Whatsapp? Необхідний зовнішній вигляд клавіатури, пристосування, яке вам потрібно, підтримка смайлів, символів, усіх символів / символів тощо.
- В нашому Приклад , клавіатура може потрапляти в зображення в декількох місцях, наприклад, вводити спеціальну суму, вводити дані облікових даних / дані картки в шлюзі платежів тощо.
- Екран: Якщо додаток підтримується на кількох пристроях, його слід перевірити на його орієнтацію на всіх пристроях. Можуть відбуватися деякі зміни роздільної здатності залежно від пристрою, який обраний для процесу тестування. У той же час тестування також слід проводити для портретного / альбомного режимів та використання клавіатури в кожному з випадків.
Якщо ваш додаток створений не лише для iOS, то є декілька покажчиків, які потрібно спеціально протестувати для iOS, наприклад:
- Списки: У iOS, коли є список для відображення, він завжди відображає зовсім новий екран, на відміну від Android, де з’являється спливаюче вікно.
Нижче наведено приклад того ж:
( джерело )
- Повідомлення: Коли програма аварійно завершує роботу, повідомлення, яке відображається в iOS, відрізняється від повідомлення в Android. Крім того, якщо ви спостерігали, маленькі повідомлення спалахують на телефонах Android, коли ви звільняєте пам'ять, наприклад, '# Гб звільненої пам'яті' тощо, але ми ніколи не бачимо флеш-повідомлень в iOS.
Ось приклад:
( джерело )
- Видалити підтвердження: Якщо ви уважно спостерігаєте за додатком iOS, у спливаючому вікні підтвердження видалення дія Скасувати знаходиться ліворуч від опції Видалити. У той час як в Android або інших ОС це навпаки.
Це деякі приклади, які потребують окремих тестових випадків та тестування, оскільки iOS має інтерфейс користувача, повідомлення тощо тощо, які неможливо змінити.
в) Тестування безпеки:
В нашому приклад , ми маємо додаток із платіжним шлюзом та сторінкою входу, що підтримується інтеграцією соціальних сторінок.
Наприклад , припустимо, що у вас на телефоні є програма ICICI, і коли ви входите в систему, а не інформація про ваш рахунок, якщо відображається чужа інформація або якщо ви здійснюєте грошовий переказ, а програма надсилає OTP на інший номер телефону, який не є вашим , Ви можете собі уявити, що буде. Таким чином, перевірка безпеки є обов’язковою.
Дані з точки зору входу в соціальні мережі та платіжного шлюзу повинні бути зашифровані або захищені, щоб зробити додаток захищеним від злому.
г) Польові випробування:
Польовий тест проводиться, щоб перевірити поведінку програми в мережі передачі даних телефону.
Цей тест зазвичай виконується, коли додаток досягає стабільної стадії і не дає збою при власному тестуванні, і всі проблеми з функціональністю були виправлені. Це в основному робиться для перевірки продуктивності програми в повільній мережі передачі даних.
Тестування вручну - використання емулятора
а) Одиничне тестування:
Це в основному робить команда розробників / окремий розробник. Це тестування перевіряє, чи працює певний модуль вихідного коду належним чином чи ні.
Розробники розробляють модульні тестові кейси для одного компонента, тобто ізольованого модуля, над яким вони працюють. Цей тест доводить, що окремий модуль функціонує, після чого його вводять у вихідний код для роботи як елемент інтегрованої архітектури. Як зазначено в заголовку, це переважно ручний тестовий запуск, виконаний із використанням емуляції тесту.
б) Інтеграційне тестування:
На попередніх кроках ми обговорювали більше про модульне тестування. Тепер, коли ми впевнені у функціональності окремих блоків / модулів, стає необхідним перевірити також інтеграцію. Це тестування проводиться для з’ясування проблем, пов’язаних з різними точками інтеграції.
В нашому Приклади , ми можемо назвати логін одним модулем, а платіжний шлюз - іншим модулем.
Блокове тестування охоплюватиме тестування обох окремо. Однак інтеграційне тестування перевірить цілісність обох модулів.
в) Тестування інтерфейсу користувача:
Як пояснювалося вище, для програми потрібно провести тестування інтерфейсу користувача, оскільки це є ключовим фактором успіху програми.
Придбати всі моделі телефонів для тестування практично неможливо, оскільки це коштувало б багато. Отже, використання емулятора - найкращий варіант, оскільки він безкоштовний, а також очевидні помилки інтерфейсу легко виявляються на емуляторах.
Автоматизація iOS
а) Регресійне тестування:
У постійно мінливому середовищі постійно вносяться зміни для вдосконалення програми або виправлення проблем, виявлених у попередній версії. Під час впровадження змін існує ймовірність того, що зміни, внесені в додаток, можуть змінити існуючу функціональність.
Простіше кажучи, внесені зміни можуть внести новий набір проблем у програму.
Щоб перевірити, чи працює програма однаково навіть після внесення змін, необхідно провести тестування на регресію. І оскільки це повторювана діяльність, автоматизація стане в нагоді для такого типу тестового запуску.
b) Тестування BVT:
Хорошим звичаєм є автоматизований запуск нової збірки, випущений для тестування, оскільки це економить багато часу, і якщо основні функціональні можливості виходять з ладу, про це негайно повідомляється. Якщо порівнювати з ручним зусиллям, результати автоматизованих базових перевірочних тестів для прийняття або відхилення збірки можуть бути взяті за лічені хвилини.
в) Тестування на сумісність:
Як вже було сказано, існує безліч пристроїв / типів, випущених Apple. Точніше, на ринку представлено 15 різних типів iPhone, 6 моделей iPod Touch, 10 моделей iPad і 2 моделі iPad Pro.
Тепер, коли розробляється така програма, як наша (Додаток для збору коштів для спортивної команди), вона повинна підтримуватися усіма вищезазначеними пристроями. Це означає одне: усі тестові випадки повинні працювати на всіх цих пристроях.
Зараз ручні зусилля неможливі, коли кількість таких пристроїв величезна. Для сумісності переважно тестування автоматизації.
d) Тестування продуктивності:
Деякі з тих, які перевіряються під час тестування продуктивності:
- Як поводиться програма, коли вона працює або працює дуже довго. Протягом періоду роботи змушуйте програму спілкуватися / взаємодіяти / залишатися без роботи.
- Кожну операцію доводиться виконувати з різною кількістю навантажень.
- Як поводиться система, коли передача даних справді величезна.
Ці випадки повторюються за своєю суттю і в основному виконуються з використанням автоматики.
Найкращі практики тестування програм для iOS
Тестування програм iOS може бути складним, складним, складним, якщо це не зроблено правильно.
Щоб рухати тестування додатків iOS у правильному напрямку, можна застосувати наступні практики:
# 1) Забудьте про емулятори: У більшості випадків емулятори віддають перевагу реальним пристроям. Але це не ідеальний випадок. Такі речі, як взаємодія користувачів, споживання батареї, доступність мережі, ефективність використання, розподіл пам'яті не можна перевірити на емуляторах. Отже, намагайтеся постійно тестувати на реальних пристроях.
# 2) Автоматизуйте речі, а не робіть вручну: Наскільки швидко ви виконуєте конкретне завдання? У сучасному світі всіх в основному турбує витрачений час. Автоматизація не тільки скорочує час виконання, але також підвищує ефективність, ефективність та охоплення тестування програмного забезпечення.
# 3) Поділіться роботою: Поділіться тестуванням між командами, включаючи команду розробників. Ми можемо отримати допомогу щодо ручного виконання тестових кейсів, а також допомогу від команди розробників щодо автоматизації ручних тестових кейсів.
# 4) Ловіть журнали збоїв: Додаток для iOS може замерзати або збій за певних обставин. Щоб вирішити проблему, журнали збоїв відіграють важливу роль.
приклад для абстрактного інтерфейсу в Java
Для захоплення журналів збоїв можна виконати наступні дії:
- Для MacOS:
- Синхронізуйте пристрій iOS із комп’ютером (Mac).
- У Mac OS утримуйте клавішу Option, щоб відкрити панель меню.
- Перейдіть до меню Go і натисніть Бібліотека.
- Перейдіть до ~ / Бібліотека / Журнали / CrashReporter / MobileDevice //.
- Ім'я файлу журналу повинно починатися з імені програми.
- Для ОС Windows:
- Синхронізуйте пристрій iOS із комп’ютером (Windows).
- Перейдіть до C: Users AppData Roaming Applecomputer Logs CrashReporter MobileDevice \
- Ім'я файлу журналу повинно починатися з імені програми.
# 5) Захоплення журналів консолі:
Журнали консолі дають загальну інформацію про програми на пристрої iOS.
Це можна зробити за допомогою таких інструментів, як iTools. У програмі iTools натисніть на піктограму «Панель інструментів», коли пристрій iOS підключено до системи, на якій запущено iTools. Клацання на “Журнал реального часу” дає журнал консолі реального часу.
# 6) Захоплення екрану: Зрозуміти проблему стає легко, а отже, її легко виправити, якщо кроки є наочними.
Бажано записати екран або зробити скріншоти проблем, щоб команда розробників краще їх зрозуміла. Знімок екрана можна зробити за допомогою вбудованої функції, одночасно натиснувши кнопку живлення та головну.
Запис екрану можна здійснити за допомогою швидкого запису програвача часу, коли пристрій iOS підключено до Mac за допомогою блискавковідводу.
Фреймворки автоматизації iOS
Нижче перелічені деякі найбільш часто використовувані системи автоматизації:
# 1) епохи;
Appium використовує веб-драйвер Selenium для автоматизації тестування додатків iOS.
Ця платформа є незалежною і може використовуватися як в Інтернеті, так і на мобільних пристроях (як Android, так і iOS). Це з відкритим вихідним кодом і не обмежується мовою. Зміни додатків або доступ до вихідного коду не потрібні для автоматизації використання Appium.
Appium працює незалежно від типу програми: будь то нативна, гібридна або веб.
# 2) Кальян:
Calabash - це платформа з відкритим кодом, яка підтримує тестування автоматизації Android та iOS.
Калабаш-тести написані огірком, який схожий на специфікацію та є простим для розуміння. Калабаш складається з бібліотек, які дозволяють користувачеві взаємодіяти як із власними, так і з гібридними програмами. Він підтримує такі взаємодії, як жести, твердження, знімок екрана тощо.
# 3) Ерл Грей:
Earl Gray - це власна внутрішня система тестування інтерфейсу користувача. Це було використано для тестування YouTube, Google Фото, Google Play Музики, Google Календаря тощо.
Earl Gray нещодавно зроблено з відкритим кодом. Одними з головних переваг Earl Gray є вбудована синхронізація, перевірка видимості перед взаємодією, справжня взаємодія з користувачем (натискання, проведення пальцем тощо). Це дуже схоже на еспресо від Google, яке використовується для автоматизації інтерфейсу Android.
# 4) Автоматизація інтерфейсу користувача:
UI Automation розроблена Apple і дуже схожа на UI Automator для Android. API визначаються Apple, а тести написані на JAVA.
# 5) ЯК:
KIF розшифровується як “Зберігайте його функціонально”. Це сторонній фреймворк з відкритим кодом.
Це тестова система інтеграції iOS, яка тісно пов’язана та використовується для тестових цілей XCTest. KIF легко налаштувати або інтегрувати з проектом Xcode, тому додатковий веб-сервер або додаткові пакети не потрібні. KIF має широке охоплення щодо версій iOS.
Висновок
Тестування додатків iOS може бути найскладнішим завданням. Сподіваюся, ви добре розуміли тестування додатків iOS через цю статтю.
Однак вибір правильного підходу, найкращого можливого процесу тестування, методологій, інструментів, емуляторів / пристроїв тощо зробить тестування додатків iOS дуже успішним.
У нашому підручнику ви знайдете всі основні поняття, про які йде мова Підручник з тестування додатків Android .
Рекомендована література
- Найкращі засоби тестування програмного забезпечення 2021 р. (Інструменти автоматизації тестування якості)
- Посібник із тестування на портативність із практичними прикладами
- Альфа-тестування та бета-тестування (повний посібник)
- Функціональне тестування проти нефункціонального тестування
- Створіть тест Appium для додатка iOS
- Завантажити тестувальник електронної книги
- Що таке раннє тестування: Тестуйте достроково, часто тестуйте, АЛЕ як? (Практичний посібник)
- Підручники з тестування мобільних додатків (Повний посібник із понад 30 навчальних посібників)