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

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

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

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

Тестване на приложения за iOS се изисква, защото iOS е платформата на Apple за мобилни приложения, пусната на 29 юни 2007 г. За разлика от Android, Apple не лицензира iOS за инсталиране на хардуер, който не е на Apple. Приложенията за iOS и iOS могат да се инсталират само на устройства на Apple, следователно вашето приложение за iOS трябва да е съвместимо с версии на iOS и устройства с iOS.

Тестване на приложения за IOS

Това е често срещаният въпрос, когато програмист създава приложение за iOS.

Тестване на приложения за IOS

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

Тестване на приложения за IOS

Приложението се срива

Един от най-разочароващите проблеми при използване на устройства на Apple е, че приложението може да се срине често по време на изпълнение. Много пъти приложението се срива, защото има грешки или изтичане на памет в приложенията.

Несъвместимост на приложения

Приложението ви за iOS може да работи перфектно на текущата версия на iOS, но ако iOS бъде надстроено, може да не работи поради проблеми с несъвместимостта.

Уязвимост на сигурността

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

Изтичане на памет

Изтичането на памет е блокове от разпределена памет, които програмата вече не използва. Изтичането на памет води до срив на приложението ви за iOS.
Те са грешки и винаги трябва да бъдат коригирани.

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

Тестване на IOS MindMap

Както е показано на фигурата по-горе, iOS Тестване MindMap показва всички елементи, които тестерът трябва да вземе предвид, когато провежда тестване на iOS.

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

Този контролен списък е специално предназначен за тестване на характеристиките на мобилните приложения за iOS. Очевидно той тества само общите характеристики на приложението, а не функционалността му.

  • Проверете времето за инсталиране на приложението на устройството. Уверете се, че приложението е инсталирано в рамките на приемливо време.
  • След като приложението е инсталирано, проверете дали приложението има икона и име на приложението. Също така се уверете, че както иконата, така и името са разбираеми, отразявайки основното намерение на приложението.
  • Стартирайте приложението и проверете дали се показва начален екран.
  • Проверете времето за изчакване на началния екран и времето, необходимо за зареждане на началния екран. Началният екран на приложението трябва да се зареди в рамките на приемливо време. Ако началният екран отнема само повече време за зареждане, тогава има по-голям шанс потребителят да излезе или дори да деинсталира самото приложение. Също така проверете как се зарежда съдържанието на началния екран.
  • Основната функция на приложението трябва да бъде очевидна веднага. То трябва да говори само за себе си.
  • Проверете дали приложението поддържа както пейзажна, така и портретна ориентация. Ако е така, проверете приложението и в двете ориентации. Потребителският интерфейс на приложението трябва да се настрои съответно.
  • Без интернет връзка, стартирайте приложението. Уверете се, че приложението работи както е проектирано/желано. Има вероятност приложението да се срине при стартирането му или просто да покаже празен екран.
  • Ако приложението използва услуги за местоположение, проверете дали предупреждението за разрешение за местоположение се показва или не. Това предупреждение трябва да бъде подканено към потребителя само веднъж.
  • Ако приложението изпраща насочени известия, проверете дали предупреждението за разрешение за насочено известие се показва или не. Това предупреждение също трябва да бъде подканено към потребителя само веднъж.
  • Стартирайте приложението, затворете го и стартирайте отново. Проверете дали приложението се държи както е проектирано/желано
  • Затворете приложението, като докоснете бутона Начало на устройството и отворете приложението отново. Проверете дали приложението работи както е проектирано/желано.
  • След като го инсталирате, проверете дали приложението е посочено в приложението за настройки на iPhone.
  • След като приложението стане активно, проверете дали приложението може да бъде намерено в „App Store“. Ще има поддържана версия на ОС за приложението. Така че, уверете се, че приложението може да бъде намерено в „App Store“ на тези поддържани версии на операционната система. Освен това приложението не трябва да бъде посочено в „App Store“ на устройство с версия на неподдържана операционна система.
  • Проверете дали приложението преминава в режим на заспиване, когато работи във фонов режим, за да предотвратите изтощаването на батерията.
  • Ако производителността на приложението е бавна или когато съдържанието се зарежда, проверете дали има икона за състояние на напредъка („Зарежда се...“), за предпочитане със специално съобщение.
  • Търсете приложението с името му в лентата за търсене на устройството. Проверете дали приложението е в списъка
  • Проверете дали външният вид на бутоните, които изпълняват стандартни действия, не е променен в приложението (например: опресняване, организиране, кошче, отговор, връщане и т.н.)
  • Проверете дали стандартните бутони не се използват за други функции, освен за които обикновено се използват

Стратегия за тестване на iOS

Фигурата по-долу представя някои често срещани типове стратегии за тестване на iOS.

Стратегия за тестване на IOS

Автоматизирано тестване

Автоматичното тестване е най-голямото предимство на тестването на iOS. Позволява ви бързо да откриете грешките и проблемите с производителността. Ползите от автоматизираното тестване, както е показано по-долу:

  • Автоматичното тестване може да се изпълнява на множество устройства, спестявайки вашето време
  • Автоматичното тестване може да е насочено към SDK. Можете да стартирате тест на различни версии на SDK
  • Автоматизираното тестване увеличава вашата производителност на тестване, спестява разходите ви за разработка на софтуер
  • Има много рамки за тестване с отворен код, поддържащи автоматизирано тестване на iOS

Единично тестване с OCUnit

Когато беше пуснат оригиналният iOS SDK, липсваше Единично тестване възможности. Така Apple върнаха OCUnit решение за единица тест в iOS SDK версия 2.2.

OCUnit е тестова рамка за C-Objective в Mac OS. Най-големите предимства на рамката на OCUnit са тясната интеграция в XCode среда за разработка, както е показано по-долу.

Тестване на единици с OCUnit

Някои от предимствата на OCUnit са показани на фигурата по-долу.

Тестване на единици с OCUnit

Тестване на UI с UIAutomation

Тестване на UI с UIAutomation

Автоматизация на потребителския интерфейс е JavaСценарий библиотека, предоставена от Apple Inc, която може да се използва за извършване на автоматизиран тест на реални устройства и на iOS Simulator. Тази рамка е добавена към iOS SDK4.0. С помощта на UI Automation можете да автоматизирате тестването на приложението не само на симулатора, но и на реалното устройство.

UIAutomation ви носи следните предимства:

  • Намалете усилията върху Ръчно тестване
  • Използвайте по-малко паметта си, за да изпълните всичките си тестове
  • Опростете процедурата си за тестване на потребителския интерфейс (просто натиснете един или три бутона и стартирайте пълните си тестови пакети)

Инструментът UIAutomation работи от скриптове, които са написани JavaСкрипт. Той симулира потребителски събития в целево приложение за iOS.

Минуси срещу плюсове на UIAutomation

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

Тестване на UI с UIAutomation

Фигурата по-горе представя някои общи класове в рамката на UIAutomation.

  • - UIAElement клас е супер класът за всички елементи на потребителския интерфейс в контекста на автоматизацията
  • - МАУTarget класът представлява елементите на потребителския интерфейс от високо ниво на тестваната система
  • - UIALogger предоставя информация за тестове и грешки относно функционалността за извличане
  • - UIAActivityViewклас позволява достъп до и контрол на изгледи на дейност във вашето приложение.
  • - UIAActionSheet клас позволява достъп до и контрол на листове с действия във вашето приложение.
  • Потребител Събитие Действие
  • UISlider клас
  • Клас UIAButton
  • Клас UIAKey
  • Клас на UIAKeyboard

Други рамки за автоматизирано тестване

  • Откровен: Автоматизирано Тест за приемане рамка за iPhone и iPad
  • KIF : е iOS интеграционен тест рамка. Позволява лесна автоматизация на приложенията за iOS чрез използване на атрибутите за достъпност, които операционната система предоставя за хора със зрителни увреждания.

Ръчно тестване

Проучвателно тестване

Това е тестване без официален тестов план. Проучвателното тестване е евтин метод за тестване, но може да пропусне потенциалните грешки във вашето приложение за iOS.

Проучвателно тестване Минуси срещу плюсове

Професионалисти Против
1. Less необходима е подготовка, ранно откриване на сериозни грешки. Изисква високо умение на тестера
2. Не е нужно План за тестване ускорете откриването на грешки. Тестовото покритие е ниско. Това не гарантира, че всички ваши изисквания са тествани.
3. Повечето грешки се откриват рано чрез някакъв вид проучвателно тестване Липса на документация за изпитване

Тестване от потребители

Потребителското тестване е вид ръчно тестване на iOS. Целта на това тестване е не само създаването на по-добри приложения без грешки приложения. Фигурата по-долу показва четири типа потребителско тестване

Тестване от потребители

Тестване на концепцията

Оценете отговора на потребителите на идея за приложение, преди да я пуснете на пазара. Процедурите за тестване на концепция на iOS са описани по-долу

Тестване на концепцията

Тестване за ползваемост

Тестване за ползваемост е тест колко лесно е да използвате приложението си за iOS. При тестването на iOS тестът за използваемост може да бъде записано да запомните или да споделите с другите.

Има някои инструменти, които поддържат тестване на използваемостта на iOS.

TryMyUI приложения за тестване на мобилни потребители Android и iOS.

Delight.io, този инструмент може да улови реално потребителско взаимодействие с вашите iOS приложения.

Бета тестване

Бета тестването е интеграционно тестване с реални данни, за да получите окончателна обратна връзка от потребителите. За да разпространявате вашите приложения за бета тестване, трябва да следвате стъпките по-долу.

Бета тестване

-Предварителната подготовка: Ако тествате бета версия на окончателен кандидат за версия, не забравяйте да потвърдите приложението, преди да го разпространите на тестери.

-Намерете тестер чрез сервиз: събирате идентификатори на устройства от тестери и ги добавяте към Членски център

-Създаване на ad hoc разпространение: Разпределението Ad Hoc позволява на тестера да стартира приложението ви на своето устройство без нужда Xcode. Тази стъпка включва 2 подстъпки

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

-Поискайте обратна връзка от тестер: Тестерът провежда тестове и ви изпраща доклади за грешки. След като приложението ви бъде пуснато, можете да получите отчетите от iTunes Connect.

A / B тестване

A / B тестване е един от най-мощните начини за оценете ефективността на вашето iOS приложение, Той използва рандомизирани експерименти с две устройства, A и B.

A / B Тестване

A/B тестването включва три основни стъпки

  • Конфигурирайте тест: Подготвени 2 версии на вашето приложение за iOS (A & B) и тестова метрика
  • тест: Тествайте 2 версии на iOS приложения по-горе на устройства едновременно.
  • Анализирам: Измерете и изберете по-добра версия за пускане

Следните инструменти поддържат A/B тестване на iOS.

  • Стани: A/B тестване както за iOS, така и за Android. Може да се интегрира във вашето приложение за iOS и да направи процеса на тестване по-бърз.

Най-добри практики за A/B тестване

  • Определете цел от вашия тест. Всеки тест е безполезен без цел.
  • Гледам крайните потребители използват вашето приложение за първи път
  • бягане един тествайте само на актуализация. Спестява ви време, когато провеждате тестване
  • Монитор вашия тест внимателно. Можете да научите опит от вашия тест, като го наблюдавате.

Най-добра практика за тестване на iOS

Ето някои съвети, които трябва да знаете, когато организирате тестването на вашето iOS приложение

  1. Тествайте приложението на a истинско устройство за да разберете реално за ефективността
  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..)

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

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