Посібник із тестування додатків для iOS: керівництво та підсилювач Автоматизація

Зміст:

Anonim

Що таке тестування додатків iOS?

Тестування додатків iOS - це процес тестування, в якому додаток iOS тестується на реальних пристроях Apple, щоб перевірити, чи працює воно, як очікується, для певних дій користувача, таких як час встановлення, інтерфейс користувача, досвід користувача, зовнішній вигляд, поведінка, функціональність, час завантаження, продуктивність, список App Store, підтримка версії ОС тощо.

Чому тестування додатків iOS?

Тестування додатків iOS необхідне, оскільки iOS - це платформа Apple для мобільних додатків, випущена 29 червня 2007 року. На відміну від Android, Apple не ліцензує iOS для встановлення на апаратне обладнання, яке не стосується Apple. Програми iOS та iOS можна встановлювати лише на пристроях Apple, отже, ваш додаток iOS повинен бути сумісним з версіями iOS та пристроями iOS.

Це загальне питання, коли розробник створює додаток для iOS.

Не має значення, скільки часу ви витрачаєте на розробку та впровадження, помилки неминучі, і з’являться помилки. У програмі iOS є кілька типових помилок. Як показано на малюнку нижче.

  1. Збій програми

Однією з найбільш неприємних проблем при використанні пристроїв Apple є те, що програма може часто виходити з ладу під час виконання. Багато разів програма аварійно завершує роботу, оскільки в програмах є деякі помилки або витоки пам'яті.

  1. Несумісність додатків

Ваш додаток iOS може чудово працювати на поточній версії iOS, але якщо iOS оновлено, він може не працювати через проблеми несумісності.

  1. Вразливість системи безпеки

Уразливість системи безпеки в iOS дозволяє хакеру атакувати ваші пристрої iOS, викрадати вашу приватну інформацію. До цього часу серйозні уразливості безпеки iPhone виявляються в різних версіях iOS.

  1. Витік пам'яті

Витоки пам'яті - це блоки виділеної пам'яті, які програма більше не використовує. Витік пам’яті спричиняє збій програми iOS. Вони є помилками і завжди повинні бути виправлені.

У цьому підручнику ви дізнаєтесь-

  • Чому тестування iOS?
  • Тестування iOS MindMap
  • Контрольний список тестування iOS
  • Стратегія тестування iOS
  • Автоматизоване тестування
    • Модульне тестування за допомогою OCUnit
    • Тестування інтерфейсу користувача з UIAutomation
  • Тестування вручну
    • Пошукове тестування
    • Тестування користувача
      • Концепція тестування
      • Тестування юзабіліті
      • Бета-тестування
      • A / B тестування
  • Перевірка практики тестування iOS
  • МІФИ про тестування iOS

Тестування iOS MindMap

Як показано на малюнку вище, iOS Testing MindMap показує всі елементи, які тестер повинен враховувати при проведенні тестування на iOS.

Контрольний список тестування додатків iOS

Цей контрольний список спеціально розроблений для перевірки характеристик мобільних додатків iOS. Очевидно, що він перевіряє лише загальні характеристики програми, а не їх функціональність.

  • Перевірте час встановлення додатка на пристрій. Переконайтеся, що програма встановлена ​​протягом прийнятного часу.
  • Після встановлення програми перевірте, чи має програма піктограму та назву програми. Крім того, переконайтеся, що і піктограма, і ім’я самі собою пояснюють основний намір програми.
  • Запустіть програму та перевірте, чи відображається заставний екран.
  • Перевірте час очікування заставки та час, необхідний для завантаження головного екрана. Головний екран програми повинен завантажитися протягом прийнятного часу. Якщо для завантаження головного екрану потрібно лише більше часу, тоді користувач має більше шансів вийти або навіть видалити саму програму. Також перевірте, як вміст завантажується на головний екран.
  • Основна функція програми повинна бути очевидною негайно. Він повинен говорити сам за себе.
  • Перевірте, чи підтримує програма як альбомну, так і портретну орієнтацію. Якщо так, перевірте додаток в обох напрямках. Інтерфейс користувача програми повинен бути встановлений відповідно.
  • Без підключення до Інтернету запустіть програму. Переконайтеся, що програма поводиться так, як задумано / бажано. Існує ймовірність того, що програма може вийти з ладу при її запуску або просто відобразити порожній екран.
  • Якщо програма використовує служби локації, перевірте, чи відображається сповіщення про дозвіл на місцезнаходження. Це попередження повинно бути запропоновано користувачеві лише один раз.
  • Якщо програма надсилає push-сповіщення, перевірте, відображається чи ні сповіщення про дозвіл push-сповіщень. Це попередження також повинно бути запропоновано користувачеві лише один раз.
  • Запустіть програму, закрийте її та перезапустіть. Перевірте, чи поводиться програма, як задумано / бажано
  • Закрийте програму, натиснувши кнопку Home на пристрої, і відкрийте програму знову. Перевірте, чи працює програма за задумом / за бажанням.
  • Після встановлення перевірте, чи додаток вказаний у програмі налаштувань iPhone.
  • Після запуску програми перевірте, чи можна знайти програму в «App Store». Буде підтримувана версія ОС для програми. Отже, переконайтеся, що програму можна знайти в підтримуваному пристрої версії ОС «App Store». Крім того, додаток не повинно бути в списку в непідтримуваному пристрої версії ОС "App Store".
  • Перевірте, чи переходить програма в режим сну, коли працює у фоновому режимі, щоб запобігти розряду батареї.
  • Якщо продуктивність програми повільна або коли вміст завантажується, перевірте, чи є значок стану виконання ("Завантаження…"), бажано із певним повідомленням.
  • Шукайте програму з її назвою в рядку пошуку пристрою. Перевірте, чи додаток вказаний у списку
  • Перевірте, чи не змінено зовнішній вигляд кнопок, які виконують стандартні дії (наприклад: оновлення, упорядкування, сміття, відповідь, повернення тощо)
  • Перевірте, чи не використовуються стандартні кнопки для інших функцій, тоді як вони зазвичай використовуються

Стратегія тестування iOS

Нижче наведено деякі загальні типи стратегій тестування iOS.

Автоматизоване тестування

Автоматизоване тестування - це найбільша перевага тестування iOS. Це дозволяє швидко виявити помилки та проблеми з продуктивністю. Переваги автоматизованого тестування, як показано нижче:

  • Автоматизоване тестування може працювати на декількох пристроях, що економить ваш час
  • Автоматизоване тестування може націлювати SDK. Ви можете запустити тест на різних версіях SDK
  • Автоматизоване тестування збільшує вашу продуктивність тестування, економить ваші витрати на розробку програмного забезпечення
  • Існує багато платформ тестування з відкритим кодом, що підтримують автоматичне тестування на iOS

Модульне тестування за допомогою OCUnit

Коли вийшов оригінальний iOS SDK, йому не вистачало можливостей модульного тестування. Тож Apple повернула рішення для тестування OCUnit в iOS SDK версії 2.2.

OCUnit - це тестова основа для C-Objective в Mac OS. Найбільшими перевагами фреймворку OCUnit є тісна інтеграція в середовище розробки XCode, як показано нижче.

Деякі переваги OCUnit показані на малюнку нижче.

Тестування інтерфейсу користувача з UIAutomation

UI Automation - це бібліотека JavaScript, надана Apple Inc, яка може бути використана для проведення автоматизованого тесту на реальних пристроях та в iOS Simulator. Цей фреймворк додано до iOS SDK4.0. Використовуючи UI Automation, ви можете автоматизувати тестування програми не тільки на тренажері, але й на реальному пристрої.

UIAutomation приносить вам такі переваги:

  • Скоротіть зусилля при ручному тестуванні
  • Використовуйте менше своєї пам’яті для виконання всіх своїх тестів
  • Спростіть процедуру тестування інтерфейсу користувача (просто натисніть одну або три кнопки та запустіть всі свої тестові набори)

Інструмент UIAutomation працює на основі сценаріїв, які написані на JavaScript. Він імітує події користувачів у цільовій програмі iOS.

UIAutomation мінуси проти плюсів

Плюси Мінуси
1. Хороша підтримка жестів та обертання Це не відкритий код, менше підтримки розробника
2. Може запускати тести UIAutomation на пристрої, не єдиному симуляторі. Не вдається дуже добре інтегрувати з іншими інструментами
3. Розроблений JavaScript, це популярна мова програмування.

Наведений малюнок представляє деякі загальні класи в рамках UIAutomation.

  • Клас UIAElement - це супер клас для всіх елементів інтерфейсу користувача в контексті автоматизації
  • Клас UIATarget представляє елементи інтерфейсу користувача рівня випробовуваної системи
  • Клас UIALogger надає інформацію про тестування та помилки щодо функціональності пошуку
  • Клас UIAActivityView дозволяє отримувати доступ до переглядів активності у вашому додатку та керувати ними.
  • Клас UIAActionSheet дозволяє отримати доступ до аркушів дій у вашій програмі та керувати ними.
  • Дія події користувача
    • Клас UISlider
    • Клас UIAButton
    • Клас UIAKey
    • Клас UIAKeyboard

Інші автоматизовані основи тестування

  • MonkeyTalk: інструмент для автоматизованого тестування додатків iOS, Android, HTML5 та Adobe. Це інтегроване середовище для управління та запуску тестових наборів
  • Френк: Система автоматизованого приймального тесту для iPhone та iPad
  • KIF: це тестова платформа для інтеграції iOS . Це дозволяє легко автоматизувати програми iOS, використовуючи атрибути доступності, які ОС робить доступними для людей із вадами зору.

Тестування вручну

Пошукове тестування

Це тестування без офіційного плану тестування. Дослідницьке тестування - це недорогий метод тестування, але він може пропустити потенційні помилки у вашому додатку iOS.

Мінуси для пошукового тестування проти плюсів

Плюси Мінуси
1. Потрібна менша підготовка, раннє виявлення серйозних помилок. Потрібна висока майстерність тестувальника
2. Не потрібно План тесту прискорити виявлення помилок. Покриття тесту низьке. Це не гарантує, що всі ваші вимоги перевірені.
3. Більшість помилок виявляються рано за допомогою якогось пошукового тестування Відсутність документації для тестування

Тестування користувача

Тестування користувачів - це різновид ручного тестування на iOS. Метою цього тестування є створення кращих програм, а не лише програм без помилок . Нижче на малюнку показано чотири типи тестування користувачів

Тестування концепції

Оцініть реакцію користувача на ідею програми перед виходом на ринок. Процедури тестування концепцій на iOS описані нижче

Тестування юзабіліті

Тестування зручності використання - це перевірка того, наскільки просто користуватися вашим додатком iOS. У тестуванні iOS тест юзабіліті можна записати, щоб запам'ятати або поділитися з іншими.

Існує кілька інструментів, що підтримують тестування юзабіліті на iOS.

Magitest - просте тестування юзабіліті iOS для веб-сайтів та додатків.

Delight.io, цей інструмент може зафіксувати реальну взаємодію користувачів із вашими додатками iOS.

Бета-тестування

Бета-тестування - це інтеграційне тестування з реальними даними для отримання остаточного відгуку від користувачів. Щоб розповсюджувати свої програми для бета-тестування, потрібно виконати кроки нижче.

- Попередня умова : якщо ви бета-тестуєте остаточного кандидата на випуск, не забудьте перевірити додаток, перш ніж розповсюджувати його тестувальникам.

- Знайдіть тестера через сервіс : ви збираєте ідентифікатори пристроїв у тестувальників і додаєте їх до Центру учасників

- Створення спеціального розподілу : Ad Hoc розподіл дозволяє тестувальнику запускати ваш додаток на своєму пристрої без необхідності Xcode. Цей крок включає 2 підкроки

  • Створіть сертифікати розповсюдження
  • Створіть спеціальні профілі забезпечення

- Запросити відгук тестера: Проведіть тестування та надішліть вам повідомлення про помилки. Після випуску програми ви зможете отримувати звіти з iTunes connect.

A / B тестування

A / B тестування - це один із найпотужніших способів оцінити ефективність вашого додатка iOS . Він використовує рандомізовані експерименти з двома пристроями, A та B.

Тестування A / B включає три основні етапи

  • Налаштування тесту : Підготовлено 2 версії вашого додатка для iOS (A & B) та метрику тесту
  • Тест : Тестуйте 2 версії додатків iOS вище на пристроях одночасно.
  • Аналіз : Виміряйте та виберіть кращу версію для випуску

Наступні інструменти підтримують A / B тестування на iOS.

  • Arise: A / B тестування як для iOS, так і для Android. Його можна інтегрувати у ваш додаток для iOS і зробити процес тестування більш швидким.

Кращі практики тестування A / B

  • Визначте ціль тесту. Будь-який тест марний без мішені.
  • Дивіться, як кінцеві користувачі вперше використовують вашу програму
  • Запускайте лише один тест для кожного оновлення. Це економить ваш час при проведенні тестування
  • Уважно стежте за своїм тестом. Ви можете вивчити досвід свого тесту, контролюючи його.

Перевірка практики тестування iOS

Ось декілька порад, які ви повинні знати під час організації тестування вашого додатка iOS

  1. Перевірте додаток на реальному пристрої, щоб дізнатися про продуктивність
  2. Удосконалюйте свої методи тестування, оскільки традиційних методів тестування вже недостатньо, щоб охопити всі тести на тестуванні iOS
  3. Використання журналу консолі для тестування програми iOS. Ця функція iOS включає інформацію з усіх додатків на пристрої.
  4. Документи програмних помилок використовують вбудовану коротку команду екрана . Це допомагає розробнику зрозуміти, як виникають помилки.
  5. Звітування про аварійне завершення роботи є корисними інструментами при тестуванні програми. Вони можуть виявляти збої та деталізувати журнал, щоб ви могли легко дослідити помилки.

МІФИ про тестування iOS

У цьому розділі розглядаються кілька популярних міфів та реалій тестування iOS

Тестування додатків на iOS та Android - це одне і те ж.

iOS та Android - це дві платформи, розроблені Apple Inc та Google. Вони абсолютно різні. Тестові середовища тощо, тестові рамки, мови програмування.

Досить тестового додатка на iOS Simulator.

iOS Simulator недостатньо сильний для тестування програми. Оскільки iOS Simulator має деякі обмеження:

  • Апаратні обмеження (камера, вхід для мікрофона, датчик)
  • Може здаватися, що інтерфейс вашого додатка працює швидше та плавніше, ніж на пристрої
  • Обмеження API
  • Деякі фреймворки не підтримуються (Медіаплеєр, Магазин, Інтерфейс повідомлення…)

Усі завантажать мої програми в магазин додатків, оскільки він має багато функцій

Чим більше функцій має ваш додаток, тим більше помилок ви можете отримати. Жоден користувач не завантажить вашу програму, якщо вона все ще має багато дефектів.