Урок за тестване на приложения за iOS: Ръчно & Автоматизация

Съдържание:

Anonim

Какво е тестване на приложения за iOS?

iOS App Testing е процес на тестване, при който приложение за iOS се тества на реални устройства на Apple, за да се провери дали работи според очакванията или не за конкретни потребителски действия като време за инсталиране, потребителски интерфейс, потребителски опит, външен вид, поведение, функционалност, време за зареждане, производителност, списък с App Store, поддръжка на версията на ОС и т.н.

Защо iOS App Testing?

iOS App Testing се изисква, тъй като 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 известие или не. Този сигнал също трябва да бъде подканен към потребителя само веднъж.
  • Стартирайте приложението, излезте от него и рестартирайте. Проверете дали приложението се държи както е проектирано / желано
  • Затворете приложението, като докоснете бутона Начало на устройството и отворете приложението отново. Проверете дали приложението работи както е проектирано / желано.
  • След като бъде инсталиран, проверете дали приложението е посочено в приложението за настройки на 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 Cons срещу професионалисти

Професионалисти Минуси
1. Добра поддръжка за жестове и ротация Това не е с отворен код, по-малко подкрепа от разработчика
2. Може да изпълнява UIAutomation тестове на устройството, а не единственият симулатор. Не мога да се интегрирам с други инструменти изключително добре
3. Разработен от JavaScript, той е популярен език за програмиране.

Горната фигура представлява някои често срещани класове в UIAutomation framework.

  • Класът UIAElement е супер клас за всички елементи на потребителския интерфейс в контекста на автоматизацията
  • Класът UIATarget представлява елементите на потребителския интерфейс на високо ниво на тестваната система
  • Класът UIALogger предоставя информация за тестване и грешки във функционалността за извличане
  • Класът UIAActivityView позволява достъп и изгледи на дейности във вашето приложение и контрол върху тях.
  • Класът UIAActionSheet позволява достъп до и контрол на листове за действие в приложението ви.
  • Действие на потребителско събитие
    • Клас UISlider
    • UIAButton class
    • Клас на 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 разпространение : Ad Hoc разпространението позволява на тестера да стартира приложението ви на устройството си, без да е необходим Xcode. Тази стъпка включва 2 под-стъпки

  • Създайте сертификати за разпространение
  • Създайте Ad-hoc профили за осигуряване

- Поискайте обратна връзка от тестера: Тестерът провежда тестване и ви изпраща съобщения за грешки. След като приложението ви бъде пуснато, можете да получавате отчетите от 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 ограничения
  • Някои рамки не се поддържат (Media Player, Store Kit, Message UI ...)

Всеки ще изтегли моите приложения в магазина за приложения, защото има много функции

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