top of page

Уровень 14

Web тестирование на мобильных устройствах

+ Apple устройства
Какие бывают apple устройства?
  • Персоональные компьютеры MacBook и PC

  • Apple TV

  • iPod плееры старого поколения без iOS

Но нас сейчас интересуют:

  • iPhone/iPod смартфон и смарт-плеер (отличается тем что в нем нет GSM модуля)

  • iPad/iPad mini/iPad pro планшеты, с ретина и не-ретина дисплеями

  • Watch - умные часы на базе iOS

Подвиды мобильного тестирования

 iOS apps, приложения для apple устройств имеют свои особенности в тестировании по сравнению с android и windows приложениями. Об этом подробнее в этом уровне.

Hybrid apps. Гибридные приложения - содержат web и стационарную составляющую. Хороший пример - приложение dropbox (сетевой диск). Работает без интернета, но при появлении доступа в к сети синхронизируется с сервером и обновляет списки файлов.

• Web content. Адаптированный мобильный контент под кнопочные телефоны, обычно размещается на специальных мобильных сайтах (устар.—WAP-сайтах). На данный момент данных сегмент практически вымер.

Web apps. Интернет приложения. Являются заменой мобильных веб сайтов на приложение и являются адаптацие под конкретную модель. Впринципе не работают без подключения к Интернету. По сути, представляют собой мини-браузер заточенный только под один сайт.

Optimized webpages. Оптимизированые веб страницы. Верстка сайта специально адаптирвоана под размер экрана смартфона и drag&drop действия.

Compatible webpages. Совместимые веб страницы. Яркий пример наш сайт qaacademy.net.

На экране смартфона контент будет масштабироватся под его экран, но верстка и дизайн останется аналогичным desktop версии.

Виды тестирования
Стадии процесса разработки iOS Apps
Стадии процесса разработки iOS Apps
Приложение появится в iTunes
Особенности тестирования мобильных приложений  (iOS)
Стресс тесты

Стресс тесты - это матрица :

"Возможное, неожиданое событие" Х "Совершаемое  действие пользователя в приложении"

Особенности тестирования
Стресс тесты
Совместимость по девайсам

Retina vs не-Retina?

 

  • 2048 х 1536 vs 1024 х 768

 

iPad vs iPhone

Не совместим - необходимо проверять на каждом устрйостве

 

iPod vs iPhone

Совместим для приложений не требующих Интернет соеденения по мобильой сети

iPad 2 vs iPad 3

Различный экран и процессор, версия iOS. Устройства совместимы, но все равно необходимо выполнять проверки для разных дисплеев и версий iOS

iPad 3 vs iPad 4 vs iPad pro

Не совместимо только разрешение экрана. Процессор, камера, связь (LTE). Устройства совместимы, обратите внимание на сеть. 

 

iPad Mini

  • Процессор и экран из iPad 2

  • Камера и связь из iPad 4

iPhone 3gs vs iPhone 4/5/6

Совсем разные, нужно иметь каждый экземпляр

 

Эмулятор vs устройство?

  • Устройство и только!

Совместимость устройств
История версий iOS
 
Подробнее о выходе  прошивок iOS

29 июня 2007 Apple выпустила первую версию iPhone OS одновременно с первой моделью iPhone. Финальной версией серии 1.x была 1.1.5, выпущенная вскоре после версии 2.0.

11 июля 2008 увидела свет версия iPhone OS 2.0, которая обновлялась вплоть до версии 2.2.1.

 

17 июня 2009 была выпущена iPhone OS 3.0. ОС обновлялось до версии 3.1.1 (дата выпуска 2 февраля 2010). Для первого поколения iPhone и iPod touch версия 3.1.3 является последней доступной. iPad был представлен вместе с версией iPhone OS 3.2, которая обновлялась вплоть до 3.2.2. Версии 3.2.x предназначались только для iPad.

 

21 июня 2010 была выпущена iOS 4.0 для iPhone и iPod touch. В iOS 4.0 было анонсировано около 1500 новых API для разработчиков, а также долгожданная функциямногозадачность. Для iPod touch (2-го поколения) и iPhone 3G версия 4.2.1 является последней доступной. Однако некоторые функции остались недоступны (в том числе многозадачность и смена фона домашнего экрана). iOS 4.2 стала первой версией, уравнявшая iPhone и iPad в доступных функциях. Выпуск CDMA-версии iPhone для Verizon Wireless вызвал ответвление iOS. Выпуск 4.2.x для CDMA продолжался, в то время как для GSM-версии iPhone, iPad и iPod touch уже выпускалась iOS 4.3.

 

6 июня 2011 Apple представила iOS 5, бета-версию Apple TV 4.4, бета-версию SDK для iOS 5, а также бета-версию iCloud. iOS 5 включает iMessage (система обмена сообщениями между устройствами на iOS 5), новую систему push-уведомлений, Киоск, интеграцию с Twitter, приложение «Напоминания», улучшения для AirPlay (в том числе дублирование изображения на экране), полную интеграцию с iCloud и ещё более 200 новых функций. iOS 5 поддерживает все модели iPad, iPhone 4 (версии GSM и CDMA) и iPod touch (3-е и 4-е поколение).

 

Apple обеспечивает одну и ту же версию iOS для моделей iPhone и iPod touch, выпущенных в один год. Пользователи iPhone получали обновления бесплатно, в то время как владельцы iPod touch были вынуждены платить за обновления до iPhone OS 2 и 3. Начиная с версии 4, iOS стала бесплатной для всех устройств.

История версий iOS
Какие девайсы выбрать?*

*Только если поддерживаете - устйроство необходимо только при условии, что вам критичны специфичные характеристики девайса (процесор, тип сети, тип экрана, прошивка). Также некоторые устройства типа iPad/iPad2/iPhone 3 не актуальны в виду устарелости.

 

**Из iPod 4 и iPod 3 в нашем варианте был выбран iPod 4 специально, т.к. процент наших пользователей с iPod 4 намного больше iPod 3.

Какие девайсы выбрать

Я знаю что от такого, увлекательного рассказа про iOS версии невозможно устать, но давай на минутку отвлекемся и посмтрим, какого это черта вытворяет Дарт Вейдер?!

Как установить билд на тестовое усройство?
  • Через програмиста, если у вас общие тестовые устройства. Он может залить приложение с помощью своей программы для разработки Xcode

 

  • C помощью iTunes, нужно только, чтобы компьютер был авторизирован и *.ipa файл был взломан

 

  • Через вспомогательно приложение i-FunBox. Позволяет переносить файлы и приложения на iOS гаджеты

 

  • TestFlight (приложение позволяет тестировщикам устанавливать бета версии приложений)  либо подобный ему ресурс (HockeyApp)

Альфа тестирование
Альфа и бета тестирования
Бета тестирование
  • Нельзя приложениям в AppStore давать имена содержащие слова Beta, Trial и т.п.

 

  • Нужны бета-тестировщики - ищите тех, что с iPhone/iPad/iPod, узнавайте UDID, добавляйте его в провижн файл, заливайте билд на TestFlight (либо аналог) и приглашайте тестировать...

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

Подводные камни при тестировании приложений под iOS

  • Не~ или тяжолая воспроизводимость багов

  • Зависимость сроков от настроения пользователей и Apple ревьюверов

  • Высокая конкуренция среди разработчиков приложений, выиграет саоме качественное приложение

 

Большая длительность тестирования

  • Acceptance test последнего нашего релиза (один проект для iPhone и iPad) без тестирования новых фич/регресии занял ~8 часов.

 

Минимальный комплект тестов:

  • Acceptance level на основном девайсе (самом приоритетном)

  • Install level на всех поддерживаемых ОС и первопиоритетных девайсах (3 девайса)

  • Update testing на всех поддерживаемых ОС

  • Проверка инфраструктуры

 

Команда:

  • 1-4 человека в зависимости от ситуации и сроков

 

Метрики выполнения тестов. Никаких особых правил:

  • Smoke по модулям. Зафейлился модуль - для него тестирование не продолжается

  • Acceptance начинаем, когда есть релиз кандидат, и в нём нет критических ошибок

  • Есть критические ошибки - не релизимся

  • Можно залить версию раньше, чем завершили тесты, если риск ошибки небольшой, а нужно отдать версию на модерацию AppStore, при этом запланированные тесты все равно нужн одовести до конца

Планирование
Тестовая документация

У меня возникли некоторые вопросы, после прочтения материала, давай подумаем вместе на ними:

При работе в компании wix.com:​

  • Мы храним и обновляем чеклисты по уровням (installation, smoke, acceptance)

 

  • Xраним чеклисты для стресс тестирования

 

  • Поддерживаем чеклисты для тестирования регресионного функционала, необходимых при обновлении версии

  • Кое-какие функциональные тесты (зависит от специфики приложения)

Пример использования документации
Баги

Хан Соло, все знают что ты лучший специалист по iOS тестированию,

поделись пожалуйста своим бесценным опытом с молодыми джедаями.

Расскажи нам про свой опыт в тестировании яблокофонов.

Каких багов больше - UI или функционала?

  • Usability =)

 

Критерии определения критичности бага в мобильном приложении?

  • Все очно так, как в пятом уровне про баги описано

 

Какие основные причины падений приложений?

  • Некорректно реализованная логика работы с ОС устройства.

  • Социальные сети! Особенно facebook.

  • Не достаточно оперативной памяти.

  • Нет интернета, если приложение с интернетом работает.

  • Закончилось место на девайсе.

  • Работа с внешним устройством (AirPlay, TVOut, Bluetooth,...)

  • Позвонили..

 

Как описывать?

  • Как всегда - подробно, согласно струкутере: Summary/Preliminaries/Actual Result/Expected result

 

Это понятно, это для любого, а что то собенной яблочное?

  • Там, гдебыл креш, - добавляйте креш репорт, он хранится на девайсе (Setting > General > About > Diagnostic & User > Data ).  Чтобы его достать с девайса нужно через iTunes синхронизироваться с компьютером и зайти в нужную папочку - C:\User\<USERNAME>\AppData\Roaming\Apple иди для mac -computer\Logs\CrashReporter/MobileDevice/<DEVICE_NAME>.

  • А еще можно делать вырезку из Debug Console

  • Там, где ошибка по UI - аттачьте скриншот

  • Там, где ошибка по локализации (тексту) - аттачьте скриншот

Баги
Инструменты мобильного тестировщика

AlCharger - заряжаем iPad от компьютера

 

Как сделать скриншот? "Home" + "sound down"

 

Как записать видео? - Vidyo приложение для записи

 

Лог приложения (console)

 

App/ File Manager для девайсов:

 

Следим за памятью и запущенными процессами:

 

Загрузка процессора на девайсе - тоже куча приложений в AppStore (ищем "CPU")

Инструменты

AppStore и отзывы пользователей (баг репорты/предложения). Давайте пользователям возможность сообщить о ошибке прямо из вашего приложения.

 

Flurry.com - огромная машина по сбору статистики конкретно по вашим приложениям - языки, возраст, какие фичи используют, сколько крешей, какая длительность сессии и т.п.

 

Appannie.com - статистика по продвижению в AppStore Вас и Ваших конкурентов.

Как быть "в тренде"?

Просто про iOS

  • Просмотреть стандартный приложение и начать использовать девайс, в особенности разобраться в AppStore

  • Пока изучаем приложения - следим за консолью

  • Выбрать любое приложение и изучить из "чего оно состоит" через iFunBox или iExplorer или аналог 

  • Изучите настройки девайса и чем они отличаются переходя от ОС к ОС

 

UI Element Usage Guidelines - изучите как называть элементы, какие бывают жесты, ожидания пользователя о том, как определенные контролы будут себя вести.

 

User Experience Guidelines

Чего-нибуть протестировать - функционально с учетом жестов, UI+Usability,  взять матрицу по стрес тестам и пройти их, проверить локализацию.

 

Словить креш, найти креш-репорт, записать баг.. Дальше всё пойдет по накаттанной.

 

Только не забудьте изучить чем отличаются девайсы

 

Ну а потом уже изучить технологии в зависимости от того, как карты вашего проекта лягут:

 

Примеры багов
Так с чего же начать?
С чего начинать

В галерее собраны примеры багов задокументированных при тестировани iOS приложений

Примеры багов
Практическое задание

Поздравляю тебя. Ты дошел до конца этого уровня, и я знаю, что ты сможешь теперь свернуть горы на практике.

Дам тебе два сайта я, протестируй их на мобильном устрйостве, как учили мы тебя. В этом задании разрешается тестировать только с помощью браузера на смартфоне (с компьютером можно только сравнивать). Начнем по порядку:

1. Оптимизированный мобильный сайт. Внимание, задание усложнено тем, что сайт не на русском, вам нужно научиться абстрагироваться от текста и тестировать только функционал. Кроме того сравнивайте компоненты в мобильной и десктопной версий сайта.

2. Не оптимизированный сайт магистра Кенноби. Задание - протестировать и сравнить отображение сайта на компьютере и мобильном устройстве.

 

3. Вы свихнетесь без этого , говорил магистр Виндоу, установите QR Android для быстрой передачи ссылок на смартфон.

 

Когда все выполнишь - отправь задание в совет магистров через форму. Магистры отметили тебя как выдающегося ученика. Порадуй их хорошей работой.

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

Для перехода на уровень 15, необходимо набрать минимум 18 баллов (60%)  за задания уровня 14.

Уровень 15

Практика уровня
bottom of page