Тестирование iOS приложений. С чего начать?

Natalia Savastiuk
Natalia SavastiukProfessional Solutions
iOS. С чего начать?
 Савастюк Наталья
Тестирование iOS приложений. С чего начать?
Тестировать «мобилки»?
 Всё просто – всё как всегда!
 И вы это уже умеете.


 Будьте пользователем мобильного телефона и
 помните про usability.
Apple и девайсы
 iPad
 iPhone
 iPod Touch
 Apple TV
AppStore
 Рынок по девайсам (iPad и iPhone)
 Рынок по категориям (игры, музыка, видео,
  утилиты и т.п.)
 Рынок по аудитории (страны)
Виды приложений
 iOS apps
 Web content
   Web apps
   Optimized webpages
   Compatible webpages
 Hybrid apps
Стадии процесса разработки iOS
Apps


                                                                                           В AppStore
                                                                До                         • In Sale

                                                                AppStore..
                                          Релиз=Заливк          • Waiting for Review (5-
                                                                  14 дней)
                                          ав                    • In Review (от 30
                                          iTunesConnect           минут до недель)
                                                                • Metadata Rejected
                          Разработка      •Бинарники            • Rejected
                                          •Описание версии -
                          нам              метаданные (What’s
                                                                • Approved
                          привычная        New, какие языки и   • Waiting for Developer
                                           версии                 Release
                          •Анализ
                                           поддерживаются,
                          •Дизайн          какая категория и
   Заключение             •Кодирование     т.п.)
   договора с Apple:      •Тестирование   •Иконки приложения
                          •…               и скриншоты (для
   •Регистрация                            iPad, iPhone)
    компании-паблишера
                                          •..
   •Заключение договора
   •Получение лицензии
    на разработку
Особенности тестирования мобильных приложений (iOS)
                                     WEB          Desktop                                      Mobile (iOS)
Функциональное                                                                                    +Жесты
                                                                   Для аудио и видео: lock screen, работа в background, управление из
                                                                                        панели мультизадачности
Интерфейса/UI                                                                     Альбомный и портретный режимы
                                                                                          Retina и не retina display
                                                                                       Внешние сообщения (алерты)
Удобства использования/Usability                                                   Element Usage Guideline + Жесты
Локализационное                                                                  Есть такие же настройки по языку, региону.
                                                                                Очень важен размер текста и место под него
Производительности
 Нагрузочное                                                       10000 объектов на экран? (по юзабилити вообще не желательно, но если
                                                                                     надо по требованиям, то тестируем)
                                                                     Важно то, что мы не сервер здесь тестируем, а функции клиентского
                                                                                                 приложения
 Стресс                                                                                       Пропал интернет
                                                                                                  Позвонили
                                                                                                Села батарейка
                                                                             Залочили девайс/ Ушли в другое приложение и т.п.
 Стабильности                                                               Тестируем на самом не производительном девайсе
                                                                              Следим за памятью /Simulate Memory Warning
Security                                                                                       Privacy settings
                                                                                             Passwords storage
                                                                           Если есть пароль, то как приходим в приложение (жесты
                                                                         мультизадачности/Notification center/панель мультизидачн.)
Совместимости                                                                                  По версиям iOS
                                                                                                 По девайсам
                                                                                 С внешними устройствами и их версиями
Инталяции и обновления               1:1             1:n                            Инсталяция на разных ОС и девайсах
(Installation/Update)                      + сам процесс установки                 Обновление: 1 новая версия на n старых
                                              (функц/ui,local etc)             Процесса установки с множеством настроек нет.
Тестирование документации
Platform Features
 Тестирование покупок (In-App        n/a            n/a                                  Нет реальных платежей
 Purchase)
 Тестирование целостности данных     n/a            n/a               Два варианта использования iCloud: для синхронизации и для
 (iCloud storage)                                                                      создания бэкапа данных
 Взаимодействие с AirPlay Rcvr/Tv-   n/a            n/a
 Out/Bluetooth и т.д.
Стресс тесты – это матрица:
«Возможное неожиданное событие» x «Совершаемое
действие пользователя в приложении»
Совместимость по девайсам
 Retina vs не-Retina?
    2048 х 1536 vs 1024 х 768
 iPad vs iPhone?
 iPod vs iPhone?
 iPad 2 vs iPad 3?
    Экран и процессор
 iPad 3 vs iPad 4?
    Процессор, камера, связь (LTE)
 iPad Mini?
    Процессор и экран из iPad 2
    Камера и связь из iPad 4
 iPhone 3gs vs iPhone 4/4s?
    Совсем разные..
 Эмулятор vs устройство?
    Устройство и только!
Совместимость по версии iOS
Чему нужно уделять внимание при
переходе приложения на 4.x -> 5.x -> 6.x
версию iOS?
 iOS 4.3 to iOS 5.0 API Differences
 iOS 5.1 to iOS 6.0 API Differences
 iOS Release Notes




 Вывод: уточняйте у программистов.
Какие девайсы выбрать?*
                           DeviceOS          4.3.3      5.1.1    6.x

                             iPad 1

                             iPad 2

                        iPad 3 или iPad 4

                           iPad mini

                          iPhone 3gs

                        iPhone 4 или 4s

                      iPhone 5 или iPod5

                             iPod 4



                                            must have

                                            желательно



*При условии, что вам не критичны специфические характеристики девайса (процессор, тип
сети, …)
** Из iPod 4 и iPod 3 в нашем варианте был выбран iPod 4 специально, т.к. процент наших
пользователей с iPod 4 намного больше iPod 3.
Какие девайсы выбрать?
 Сравнивать характеристики можно прямо на
 сайте Apple:
   Сравнение iPhones
   Сравнение iPads
   Сравнение iPods
 Но мне нравится wiki:
   Список iOS девайсов и их сравнительная
   характеристика
 Можно прочитать ещё здесь мнение:
   о том, какие девайсы выбрать для своего
   "зоопарка"
Тестировать.. Как организовать
процесс?
 Зависит от процесса разработки на проекте
 Лично я не верю в нормальный Scrum на
 проектах для AppStore при разработке своих
 собственных продуктов
Тестировать.. Как установить билд?
 Через программиста, но не вариант
 Приложение iTunes, нужно только, чтобы
  компьютер был авторизирован и *.ipa файл
 i-FunBox
 TestFlight либо подобный ему ресурс
  (HockeyApp)
i-FunBox
Альфа тестирование
                 Объем/что включать                            Как часто запускать?                  На каких девайсах?
Smoke            Как и для остальных проектов, только          Каждый билд/раз в неделю или          Меняем девайс, язык, операционку при
                 помним, что функционал уже будет работать     две/автоматизированно если у вас      новом запуске (выбираем из
                 не только по нажатию на кнопочки, но и по     CI.. В общем, по обстоятельствам на   поддерживаемых)
                 жестам                                        вашем проекте.
                 Соц. Сети!
New Features       Вспоминаем все виды тестирования и если     В зависимости от того как идет        Основное тестирование на самой
                   уместно, то проверяем именно их. Особенно   процесс на проекте                    последней операционке
                   важно учесть особенности OS или типа
                   девайса
Regression Testing Как и для других типов проектов -           Как всегда, за несколько дней до  На тех, что могли быть задеты
                   анализируйте, что изменено и планируйте,    релиза старайтесь выделить дни на изменениями
                   что регрессить.                             регресионное тестирование
Acceptance       Функциональные, UI, стресс.. любые другие     Один раз перед релизом/заливкой       Уровень acceptance - на основном
                 тесты, которые важны именно вашему                                                  девайсе.
                 бизнесу. Их прогоняем на основном девайсе.
                 Не забываем включить взаимодействие с                                               Уровень installation - желательно на
                 внешними устройствами, если есть.                                                   каждом из тех, что есть в наличии
                 In-app purchases!                                                                   (минимум - пройти все
                                                                                                     поддерживаемые ОС)
                 Важно иметь в наличии набор тестов
                 (installation), которые акцентированы на                                            Update testing - на всех
                 особенностях ОС или девайса и можно быстро                                          поддерживаемых ОС (минимум на
                 пройти, на каждом из самых важных                                                   самой приоритетной)
                 девайсов.
                                                                                                     Инфраструктура - чаще всего
                 Update testing - проверка обновления версии                                         достаточно одного девайса с любой ОС.
                 (здесь стоит обсудить с командой сколько                                            Но может быть особенность проекта.
                 старых версий вы поддерживаете)

                 К этому всему добавляем проверку
                 инфраструктуры - ссылки на appstore,
                 социальные сети, логику попапов на ревью,
                 help/faq, flurry и др. библиотеки
Бета тестирование
 Нельзя приложениям в AppStore давать имена
  содержащие слова Beta, Trial и т.п.
 Нужны бета-тестировщики – ищите тех, что с
  iPhone/iPad/iPod, узнавайте UDID, добавляйте
  его в провижн файл, заливайте билд на
  TestFlight (либо аналог) и приглашайте
  тестировать..
Тестирование.. Планирование
   Подводные камни при тестировании приложений под iOS
     Не~ или тяжелая воспроизводимость багов
     Зависимость сроков от настроения пользователей и Apple ревьюверов
     Competition
   Время
     Acceptance test последнего нашего релиза (один проект для iPhone и iPad) без
      тестирования новых фич/регрессии занял ~8 часов. Это:
          Acceptance level на основном девайсе (самом приоритетном)
          Install level на всех поддерживаемых ОС и первоприоритетных девайсах (3 девайса)
          Update testing на всех поддерживаемых ОС
          Проверка инфраструктуры
   Люди
     0-1-4 человека в зависимости от ситуации и сроков
   Метрики. У нас никаких особых правил:
     Smoke по модулям. Зафейлился модуль – для него тестирование не продолжаем.
     Acceptance начинаем, когда есть релиз кандидат, и в нём нет критических
      ошибок
     Есть критические ошибки – не релизимся
     Можем залить раньше, чем завершили тесты, если риск ошибки небольшой, но
      тестирование запланированное продолжаем
Тестовая документация. Сами как
думаете?
 Быть ей или не быть?
 Если быть, то тест кейсы или чеклисты?
 Хранить ли результаты тестирования?
Тестовая документация
 Быть ей или не быть?
   Быть , иначе будет голова как на картинке
 Если быть, то тест кейсы или чеклисты?
   Чеклисты, если у вас клиенты не требуют тест-кейсов,
   а ещё потому что:
     Слишком много ресурсов на тест-кейсы будет потрачено, а
      проекты слишком короткие
     Слишком быстро всё может измениться
     Всё равно все варианты не сможете описать, слишком их
      много
 Хранить ли результаты тестирования?
   Если очень много проектов, то хранить хотя бы
   частично (например, acceptance), иначе будет голова
   как на картинке
Пример
 Мы храним и обновляем чеклисты по уровням
  (installation, smoke, acceptance)
 Чеклисты для стресс тестирования
 Чеклисты для тестирования накатов
  (обновления версии)

 Кое-какие функциональные тесты (от
 специфики приложения)
Баги
   Каких багов больше - UI или функционала?
       Usability =)
   Критерии определения критичности бага в мобильном приложении?
       Вот точно как в книжках пишут
   Какие основные причины падений приложений?
     Некорректно реализованная логика
     Социальные сети! Особенно facebook.
     Не достаточно оперативной памяти
     Нет интернета, если приложение с интернетом работает
     Закончилось место на девайсе
     Работа с внешними устройствами (AirPlay, TVOut, Bluetooth,…)
     Позвонили..
   Как описывать?
     Как всегда – подробно.
     Там, где был креш, – атачьте креш репорт, он хранится на девайсе (Settings > General > About
      > Diagnostic & Usage > Data ). Чтобы его достать с девайса нужно через iTunes
      синхронизироваться с компьютером и зайти в нужную папочку -
      C:Users<USERNAME>AppDataRoamingApple
      computerLogsCrashReporter/MobileDevice/<DEVICE_NAME>.
     А еще можно делать вырезку из Debug Console
     Там, где ошибка по UI – атачьте скриншот
     Там, где ошибка по локализации (тексту) – атачьте скриншот
Crash/Low Memory report и device
log
Инструменты
   AICharger – заряжаем iPad от компьютера
   Как сделать скриншот?
   Как записать видео? - DispRecorder
   Лог приложения (console)
       Win XP – iPhone Configuration Utility
       Mac OS – iPhone Confuguration Utlity, xCode
       iPhone/iPad/iPod – куча программ по запросу в AppStore “console”. Например, Console ,
        iConsole, Debug Assist, Log Police etc.)
   App/File Manager для девайсов:
       i-FunBox
       iExplorer
       iTunes, но в нём отображается только папка Documents.
   Следим за памятью и запущенными процессами:
       Sys Activity Manager (платный)
   CPU на девайсе – тоже куча приложений в AppStore (ищем по “CPU”)
       Как пример - iPhoneOptimizer
  Есть лишь Win7 и только, спасает ли какая VMware? Другими
словами - Windows или Mac OS?
       Ответьте сначала на вопрос - зачем вам Mac OS?
   XCode
Автоматизация
 UI Automation (Apple Tool)
 Fone Monkey
 Squish


 Test Studio (прямо на девайсе)




 http://habrahabr.ru/post/123026/
Как быть "в тренде"?
 AppStore и отзывы пользователей (баг
  репорты/предложения). Дайте пользователям
  возможность сообщить об ошибке прямо из
  вашего приложения.
 Flurry.com – огромная машина по сбору
  статистики конкретно по вашим приложениям
  – языки, возраст, какие фичи используют,
  сколько крешей, какая длительность сессии и
  т.п.
 Appannie.com – статистика по продвижению в
  AppStore Вас и Ваших конкурентов.
Flurry.com
Путь от падавана к гуру..
 Как его пройти правильно, с мин. кол-вом
  шишек (что и в какой последовательности
  изучать, рекомендуемые источники и
  материалы)
 Хочу стать тестировщиком "мобилок", куда
  пойти, куда податься? ;)
 Люди, что тестируют у вас, каким был их путь?
Так с чего же начать? 
   Просто про iOS
   Просмотреть стандартный приложение и начать использовать девайс, в особенности разобраться в
    AppStore
   Пока изучаем - следим за консолью
   Выбрать любое приложение и изучить из “чего оно состоит” через iFunBox или iExplorer или аналог
   Изучите настройки девайса и чем они отличаются переходя от ОС к ОС
   UI Element Usage Guidelines – изучите как называть элементы, какие бывают жесты, ожидания
    пользователя о том, как определенные контролы будут себя вести.
   User Experience Guidelines
   Чего-нибудь протестировать (функционально с учётом жестов, UI+Usability, составить матрицу по стресс
    тестам и пройти их, проверить локализацию).
   Словить креш, найти креш-репорт, записать баг.. Дальше всё пойдет по накатанной.
   Только не забудьте изучить чем отличаются девайсы
   Ну а потом уж как карты вашего проекта лягут:
       iCloud
       AirPlay
       Bluetooth
       TV-Out
       Утечки памяти
       Скорость работы приложения (время отклика на действия, нагрузка на процессор и т.п.)
       Автоматизация
Вопросы?

 Спасибо Вам за Ваши вопросы!




                        n.savastiuk@gmail.com
                                  www.qaclub.by
Скриншоты с примерами багов
Из реальных проектов
Руководствуясь UI Element Usage
Guideline:
• На iPhone в ActionSheet кнопка
  Cancel должна быть всегда нижней.
• На iPad в ActionSheet кнопки Cancel
  не должно быть.
Тестирование iOS приложений. С чего начать?
Тестирование iOS приложений. С чего начать?
Локализация - проблема нехватки
места
Проблемы UI на iOS=4.3.3, которых
нет в iOS=6.0.1
                               Фон поста должен быть не
Прогресс должен отображаться   чёрным, а белым. Кроме того в
«бегущей» серой строкой        контроле нет текста поста.
Тестирование iOS приложений. С чего начать?
Тестирование iOS приложений. С чего начать?
Альбомный vs портретный режимы
Альбомный vs портретный режимы
Вот так выглядит на iPad
приложение,
разработанное только для
iPhone.
По Apple Review
Guidelines ошибок в нём
нет.
1 of 43

Recommended

Особенности тестирования мобильных приложений (Android, iOS) by
Особенности тестирования мобильных приложений (Android, iOS)Особенности тестирования мобильных приложений (Android, iOS)
Особенности тестирования мобильных приложений (Android, iOS)Эльвина Сакаева
43.4K views29 slides
Тестирование требований и документации by
Тестирование требований и документацииТестирование требований и документации
Тестирование требований и документацииUladzimir Kryvenka
14.1K views25 slides
QA methodology by Quality Tech by
QA methodology  by Quality TechQA methodology  by Quality Tech
QA methodology by Quality TechIvet Prokopova
214 views21 slides
Introduction of android treble by
Introduction of android trebleIntroduction of android treble
Introduction of android trebleBin Yang
2K views27 slides
Mobile Automation with Appium by
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with AppiumManoj Kumar Kumar
2.8K views43 slides
Automation Testing With Appium by
Automation Testing With AppiumAutomation Testing With Appium
Automation Testing With AppiumKnoldus Inc.
5.3K views19 slides

More Related Content

What's hot

Тестирование требований by
Тестирование требованийТестирование требований
Тестирование требованийNickola14
1.5K views22 slides
Basic interview questions for manual testing by
Basic interview questions for manual testingBasic interview questions for manual testing
Basic interview questions for manual testingJYOTI RANJAN PAL
1.1K views33 slides
Appium: Automation for Mobile Apps by
Appium: Automation for Mobile AppsAppium: Automation for Mobile Apps
Appium: Automation for Mobile AppsSauce Labs
27.8K views39 slides
Code Coverage Revised : EclEmma on JaCoCo by
Code Coverage Revised : EclEmma on JaCoCoCode Coverage Revised : EclEmma on JaCoCo
Code Coverage Revised : EclEmma on JaCoCoEvgeny Mandrikov
6K views21 slides
Software testing by
Software testingSoftware testing
Software testingBhagyashree pathak
2K views29 slides
Appium by
AppiumAppium
AppiumDeepshikha Singh
764 views29 slides

What's hot(20)

Тестирование требований by Nickola14
Тестирование требованийТестирование требований
Тестирование требований
Nickola141.5K views
Basic interview questions for manual testing by JYOTI RANJAN PAL
Basic interview questions for manual testingBasic interview questions for manual testing
Basic interview questions for manual testing
JYOTI RANJAN PAL1.1K views
Appium: Automation for Mobile Apps by Sauce Labs
Appium: Automation for Mobile AppsAppium: Automation for Mobile Apps
Appium: Automation for Mobile Apps
Sauce Labs27.8K views
Code Coverage Revised : EclEmma on JaCoCo by Evgeny Mandrikov
Code Coverage Revised : EclEmma on JaCoCoCode Coverage Revised : EclEmma on JaCoCo
Code Coverage Revised : EclEmma on JaCoCo
Evgeny Mandrikov6K views
Testing Checklist for Mobile Applications-By Anurag Khode by Anurag Khode
Testing Checklist for Mobile Applications-By Anurag KhodeTesting Checklist for Mobile Applications-By Anurag Khode
Testing Checklist for Mobile Applications-By Anurag Khode
Anurag Khode19K views
Pipeline based deployments on Jenkins by Knoldus Inc.
Pipeline based deployments  on JenkinsPipeline based deployments  on Jenkins
Pipeline based deployments on Jenkins
Knoldus Inc.440 views
Colorful world-of-visual-automation-testing-latest by Onur Baskirt
Colorful world-of-visual-automation-testing-latestColorful world-of-visual-automation-testing-latest
Colorful world-of-visual-automation-testing-latest
Onur Baskirt2.1K views
ISTQB - Software development life cycle by HoangThiHien1
ISTQB - Software development life cycleISTQB - Software development life cycle
ISTQB - Software development life cycle
HoangThiHien14.4K views
Android bootup process by Sanjay Kumar
Android bootup processAndroid bootup process
Android bootup process
Sanjay Kumar442 views
Intro to Manual Testing by Ayah Soufan
Intro to Manual TestingIntro to Manual Testing
Intro to Manual Testing
Ayah Soufan639 views
Perofrmance testing and apache jmeter by lethibichhoa
Perofrmance testing and apache jmeterPerofrmance testing and apache jmeter
Perofrmance testing and apache jmeter
lethibichhoa280 views
Mobile Application Testing by SWAAM Tech
Mobile Application TestingMobile Application Testing
Mobile Application Testing
SWAAM Tech24.5K views
Git the fast version control system by Jeroen Rosenberg
Git the fast version control systemGit the fast version control system
Git the fast version control system
Jeroen Rosenberg1.7K views
Mobile Application Testing Strategy by ankitQA
Mobile Application Testing StrategyMobile Application Testing Strategy
Mobile Application Testing Strategy
ankitQA2K views
Android OTA updates by Gary Bisson
Android OTA updatesAndroid OTA updates
Android OTA updates
Gary Bisson10.5K views

Similar to Тестирование iOS приложений. С чего начать?

тестирование снецифических областей by
тестирование снецифических областейтестирование снецифических областей
тестирование снецифических областейDressTester
8.1K views46 slides
Introduction to Mobile applications testing by
Introduction to Mobile applications testingIntroduction to Mobile applications testing
Introduction to Mobile applications testingOleg Nikiforov
1.4K views27 slides
тестирование ios как процесс by
тестирование ios как процесстестирование ios как процесс
тестирование ios как процессtouchin
478 views18 slides
Особенности тестирования приложений на iOS by
Особенности тестирования приложений на iOSОсобенности тестирования приложений на iOS
Особенности тестирования приложений на iOSHeads&Hands
340 views22 slides
Типовые ошибки в iOS приложениях. Классификация ошибок в iOS приложении. - Дм... by
Типовые ошибки в iOS приложениях. Классификация ошибок в iOS приложении. - Дм...Типовые ошибки в iOS приложениях. Классификация ошибок в iOS приложении. - Дм...
Типовые ошибки в iOS приложениях. Классификация ошибок в iOS приложении. - Дм...Procontent.Ru Magazine
3.2K views14 slides
Выход новой iOS и Apple-устройства: что может тестировщик, кроме тестирования. by
Выход новой iOS и Apple-устройства: что может тестировщик, кроме тестирования.Выход новой iOS и Apple-устройства: что может тестировщик, кроме тестирования.
Выход новой iOS и Apple-устройства: что может тестировщик, кроме тестирования.Victoria Kozlova
251 views10 slides

Similar to Тестирование iOS приложений. С чего начать?(20)

тестирование снецифических областей by DressTester
тестирование снецифических областейтестирование снецифических областей
тестирование снецифических областей
DressTester8.1K views
Introduction to Mobile applications testing by Oleg Nikiforov
Introduction to Mobile applications testingIntroduction to Mobile applications testing
Introduction to Mobile applications testing
Oleg Nikiforov1.4K views
тестирование ios как процесс by touchin
тестирование ios как процесстестирование ios как процесс
тестирование ios как процесс
touchin478 views
Особенности тестирования приложений на iOS by Heads&Hands
Особенности тестирования приложений на iOSОсобенности тестирования приложений на iOS
Особенности тестирования приложений на iOS
Heads&Hands340 views
Типовые ошибки в iOS приложениях. Классификация ошибок в iOS приложении. - Дм... by Procontent.Ru Magazine
Типовые ошибки в iOS приложениях. Классификация ошибок в iOS приложении. - Дм...Типовые ошибки в iOS приложениях. Классификация ошибок в iOS приложении. - Дм...
Типовые ошибки в iOS приложениях. Классификация ошибок в iOS приложении. - Дм...
Выход новой iOS и Apple-устройства: что может тестировщик, кроме тестирования. by Victoria Kozlova
Выход новой iOS и Apple-устройства: что может тестировщик, кроме тестирования.Выход новой iOS и Apple-устройства: что может тестировщик, кроме тестирования.
Выход новой iOS и Apple-устройства: что может тестировщик, кроме тестирования.
Victoria Kozlova251 views
Виктория Козлова "Выход новой iOS и Apple-устройства: что может тестировщик, ... by QA Club Minsk
Виктория Козлова "Выход новой iOS и Apple-устройства: что может тестировщик, ...Виктория Козлова "Выход новой iOS и Apple-устройства: что может тестировщик, ...
Виктория Козлова "Выход новой iOS и Apple-устройства: что может тестировщик, ...
QA Club Minsk775 views
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн... by SQALab
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
SQALab5.2K views
DS Activity Monitor by mekhos
DS Activity MonitorDS Activity Monitor
DS Activity Monitor
mekhos215 views
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те... by COMAQA.BY
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...
COMAQA.BY 406 views
Mobile testing: Android, iOS, BlackBerry by QA Club Kiev
Mobile testing: Android, iOS, BlackBerryMobile testing: Android, iOS, BlackBerry
Mobile testing: Android, iOS, BlackBerry
QA Club Kiev2.6K views
Эвелина Тананаева -- Мобильные технологии: тестирование - с чего начать? by sqadays8
Эвелина Тананаева -- Мобильные технологии: тестирование - с чего начать?Эвелина Тананаева -- Мобильные технологии: тестирование - с чего начать?
Эвелина Тананаева -- Мобильные технологии: тестирование - с чего начать?
sqadays8425 views
Переводим без интернета: как мы делали Яндекс.Перевод для iOS, Иван Москалёв by Yandex
Переводим без интернета: как мы делали Яндекс.Перевод для iOS, Иван  МоскалёвПереводим без интернета: как мы делали Яндекс.Перевод для iOS, Иван  Москалёв
Переводим без интернета: как мы делали Яндекс.Перевод для iOS, Иван Москалёв
Yandex626 views
Эволюция интерфейса. Без магии и читерства by Zotov Andrey
Эволюция интерфейса. Без магии и читерстваЭволюция интерфейса. Без магии и читерства
Эволюция интерфейса. Без магии и читерства
Zotov Andrey361 views
V Demin oracle mobile suite, soa 12c launch, 20.11.14 for publishing by Vasily Demin
V Demin oracle mobile suite, soa 12c launch, 20.11.14 for publishingV Demin oracle mobile suite, soa 12c launch, 20.11.14 for publishing
V Demin oracle mobile suite, soa 12c launch, 20.11.14 for publishing
Vasily Demin441 views
Антон Семенченко, Никита Беликов "Инструменты автоматизации тестирования моби... by QA Club Minsk
Антон Семенченко, Никита Беликов "Инструменты автоматизации тестирования моби...Антон Семенченко, Никита Беликов "Инструменты автоматизации тестирования моби...
Антон Семенченко, Никита Беликов "Инструменты автоматизации тестирования моби...
QA Club Minsk1.6K views
О тестирование софта: мир качества, жуков и информации. by Sergey Atroschenkov
О тестирование софта: мир качества, жуков и информации.О тестирование софта: мир качества, жуков и информации.
О тестирование софта: мир качества, жуков и информации.
Sergey Atroschenkov1.6K views
О тестирование софта: мир качества, жуков и информации. Атрощенков Сергей. by IT-Доминанта
О тестирование софта: мир качества, жуков и информации.   Атрощенков Сергей.О тестирование софта: мир качества, жуков и информации.   Атрощенков Сергей.
О тестирование софта: мир качества, жуков и информации. Атрощенков Сергей.
IT-Доминанта11.4K views

Тестирование iOS приложений. С чего начать?

  • 1. iOS. С чего начать?  Савастюк Наталья
  • 3. Тестировать «мобилки»?  Всё просто – всё как всегда!  И вы это уже умеете.  Будьте пользователем мобильного телефона и помните про usability.
  • 4. Apple и девайсы  iPad  iPhone  iPod Touch  Apple TV
  • 5. AppStore  Рынок по девайсам (iPad и iPhone)  Рынок по категориям (игры, музыка, видео, утилиты и т.п.)  Рынок по аудитории (страны)
  • 6. Виды приложений  iOS apps  Web content  Web apps  Optimized webpages  Compatible webpages  Hybrid apps
  • 7. Стадии процесса разработки iOS Apps В AppStore До • In Sale AppStore.. Релиз=Заливк • Waiting for Review (5- 14 дней) ав • In Review (от 30 iTunesConnect минут до недель) • Metadata Rejected Разработка •Бинарники • Rejected •Описание версии - нам метаданные (What’s • Approved привычная New, какие языки и • Waiting for Developer версии Release •Анализ поддерживаются, •Дизайн какая категория и Заключение •Кодирование т.п.) договора с Apple: •Тестирование •Иконки приложения •… и скриншоты (для •Регистрация iPad, iPhone) компании-паблишера •.. •Заключение договора •Получение лицензии на разработку
  • 8. Особенности тестирования мобильных приложений (iOS) WEB Desktop Mobile (iOS) Функциональное +Жесты Для аудио и видео: lock screen, работа в background, управление из панели мультизадачности Интерфейса/UI Альбомный и портретный режимы Retina и не retina display Внешние сообщения (алерты) Удобства использования/Usability Element Usage Guideline + Жесты Локализационное Есть такие же настройки по языку, региону. Очень важен размер текста и место под него Производительности Нагрузочное 10000 объектов на экран? (по юзабилити вообще не желательно, но если надо по требованиям, то тестируем) Важно то, что мы не сервер здесь тестируем, а функции клиентского приложения Стресс Пропал интернет Позвонили Села батарейка Залочили девайс/ Ушли в другое приложение и т.п. Стабильности Тестируем на самом не производительном девайсе Следим за памятью /Simulate Memory Warning Security Privacy settings Passwords storage Если есть пароль, то как приходим в приложение (жесты мультизадачности/Notification center/панель мультизидачн.) Совместимости По версиям iOS По девайсам С внешними устройствами и их версиями Инталяции и обновления 1:1 1:n Инсталяция на разных ОС и девайсах (Installation/Update) + сам процесс установки Обновление: 1 новая версия на n старых (функц/ui,local etc) Процесса установки с множеством настроек нет. Тестирование документации Platform Features Тестирование покупок (In-App n/a n/a Нет реальных платежей Purchase) Тестирование целостности данных n/a n/a Два варианта использования iCloud: для синхронизации и для (iCloud storage) создания бэкапа данных Взаимодействие с AirPlay Rcvr/Tv- n/a n/a Out/Bluetooth и т.д.
  • 9. Стресс тесты – это матрица: «Возможное неожиданное событие» x «Совершаемое действие пользователя в приложении»
  • 10. Совместимость по девайсам  Retina vs не-Retina?  2048 х 1536 vs 1024 х 768  iPad vs iPhone?  iPod vs iPhone?  iPad 2 vs iPad 3?  Экран и процессор  iPad 3 vs iPad 4?  Процессор, камера, связь (LTE)  iPad Mini?  Процессор и экран из iPad 2  Камера и связь из iPad 4  iPhone 3gs vs iPhone 4/4s?  Совсем разные..  Эмулятор vs устройство?  Устройство и только!
  • 12. Чему нужно уделять внимание при переходе приложения на 4.x -> 5.x -> 6.x версию iOS?  iOS 4.3 to iOS 5.0 API Differences  iOS 5.1 to iOS 6.0 API Differences  iOS Release Notes  Вывод: уточняйте у программистов.
  • 13. Какие девайсы выбрать?* DeviceOS 4.3.3 5.1.1 6.x iPad 1 iPad 2 iPad 3 или iPad 4 iPad mini iPhone 3gs iPhone 4 или 4s iPhone 5 или iPod5 iPod 4 must have желательно *При условии, что вам не критичны специфические характеристики девайса (процессор, тип сети, …) ** Из iPod 4 и iPod 3 в нашем варианте был выбран iPod 4 специально, т.к. процент наших пользователей с iPod 4 намного больше iPod 3.
  • 14. Какие девайсы выбрать?  Сравнивать характеристики можно прямо на сайте Apple:  Сравнение iPhones  Сравнение iPads  Сравнение iPods  Но мне нравится wiki:  Список iOS девайсов и их сравнительная характеристика  Можно прочитать ещё здесь мнение:  о том, какие девайсы выбрать для своего "зоопарка"
  • 15. Тестировать.. Как организовать процесс?  Зависит от процесса разработки на проекте  Лично я не верю в нормальный Scrum на проектах для AppStore при разработке своих собственных продуктов
  • 16. Тестировать.. Как установить билд?  Через программиста, но не вариант  Приложение iTunes, нужно только, чтобы компьютер был авторизирован и *.ipa файл  i-FunBox  TestFlight либо подобный ему ресурс (HockeyApp)
  • 18. Альфа тестирование Объем/что включать Как часто запускать? На каких девайсах? Smoke Как и для остальных проектов, только Каждый билд/раз в неделю или Меняем девайс, язык, операционку при помним, что функционал уже будет работать две/автоматизированно если у вас новом запуске (выбираем из не только по нажатию на кнопочки, но и по CI.. В общем, по обстоятельствам на поддерживаемых) жестам вашем проекте. Соц. Сети! New Features Вспоминаем все виды тестирования и если В зависимости от того как идет Основное тестирование на самой уместно, то проверяем именно их. Особенно процесс на проекте последней операционке важно учесть особенности OS или типа девайса Regression Testing Как и для других типов проектов - Как всегда, за несколько дней до На тех, что могли быть задеты анализируйте, что изменено и планируйте, релиза старайтесь выделить дни на изменениями что регрессить. регресионное тестирование Acceptance Функциональные, UI, стресс.. любые другие Один раз перед релизом/заливкой Уровень acceptance - на основном тесты, которые важны именно вашему девайсе. бизнесу. Их прогоняем на основном девайсе. Не забываем включить взаимодействие с Уровень installation - желательно на внешними устройствами, если есть. каждом из тех, что есть в наличии In-app purchases! (минимум - пройти все поддерживаемые ОС) Важно иметь в наличии набор тестов (installation), которые акцентированы на Update testing - на всех особенностях ОС или девайса и можно быстро поддерживаемых ОС (минимум на пройти, на каждом из самых важных самой приоритетной) девайсов. Инфраструктура - чаще всего Update testing - проверка обновления версии достаточно одного девайса с любой ОС. (здесь стоит обсудить с командой сколько Но может быть особенность проекта. старых версий вы поддерживаете) К этому всему добавляем проверку инфраструктуры - ссылки на appstore, социальные сети, логику попапов на ревью, help/faq, flurry и др. библиотеки
  • 19. Бета тестирование  Нельзя приложениям в AppStore давать имена содержащие слова Beta, Trial и т.п.  Нужны бета-тестировщики – ищите тех, что с iPhone/iPad/iPod, узнавайте UDID, добавляйте его в провижн файл, заливайте билд на TestFlight (либо аналог) и приглашайте тестировать..
  • 20. Тестирование.. Планирование  Подводные камни при тестировании приложений под iOS  Не~ или тяжелая воспроизводимость багов  Зависимость сроков от настроения пользователей и Apple ревьюверов  Competition  Время  Acceptance test последнего нашего релиза (один проект для iPhone и iPad) без тестирования новых фич/регрессии занял ~8 часов. Это:  Acceptance level на основном девайсе (самом приоритетном)  Install level на всех поддерживаемых ОС и первоприоритетных девайсах (3 девайса)  Update testing на всех поддерживаемых ОС  Проверка инфраструктуры  Люди  0-1-4 человека в зависимости от ситуации и сроков  Метрики. У нас никаких особых правил:  Smoke по модулям. Зафейлился модуль – для него тестирование не продолжаем.  Acceptance начинаем, когда есть релиз кандидат, и в нём нет критических ошибок  Есть критические ошибки – не релизимся  Можем залить раньше, чем завершили тесты, если риск ошибки небольшой, но тестирование запланированное продолжаем
  • 21. Тестовая документация. Сами как думаете?  Быть ей или не быть?  Если быть, то тест кейсы или чеклисты?  Хранить ли результаты тестирования?
  • 22. Тестовая документация  Быть ей или не быть?  Быть , иначе будет голова как на картинке  Если быть, то тест кейсы или чеклисты?  Чеклисты, если у вас клиенты не требуют тест-кейсов, а ещё потому что:  Слишком много ресурсов на тест-кейсы будет потрачено, а проекты слишком короткие  Слишком быстро всё может измениться  Всё равно все варианты не сможете описать, слишком их много  Хранить ли результаты тестирования?  Если очень много проектов, то хранить хотя бы частично (например, acceptance), иначе будет голова как на картинке
  • 23. Пример  Мы храним и обновляем чеклисты по уровням (installation, smoke, acceptance)  Чеклисты для стресс тестирования  Чеклисты для тестирования накатов (обновления версии)  Кое-какие функциональные тесты (от специфики приложения)
  • 24. Баги  Каких багов больше - UI или функционала?  Usability =)  Критерии определения критичности бага в мобильном приложении?  Вот точно как в книжках пишут  Какие основные причины падений приложений?  Некорректно реализованная логика  Социальные сети! Особенно facebook.  Не достаточно оперативной памяти  Нет интернета, если приложение с интернетом работает  Закончилось место на девайсе  Работа с внешними устройствами (AirPlay, TVOut, Bluetooth,…)  Позвонили..  Как описывать?  Как всегда – подробно.  Там, где был креш, – атачьте креш репорт, он хранится на девайсе (Settings > General > About > Diagnostic & Usage > Data ). Чтобы его достать с девайса нужно через iTunes синхронизироваться с компьютером и зайти в нужную папочку - C:Users<USERNAME>AppDataRoamingApple computerLogsCrashReporter/MobileDevice/<DEVICE_NAME>.  А еще можно делать вырезку из Debug Console  Там, где ошибка по UI – атачьте скриншот  Там, где ошибка по локализации (тексту) – атачьте скриншот
  • 25. Crash/Low Memory report и device log
  • 26. Инструменты  AICharger – заряжаем iPad от компьютера  Как сделать скриншот?  Как записать видео? - DispRecorder  Лог приложения (console)  Win XP – iPhone Configuration Utility  Mac OS – iPhone Confuguration Utlity, xCode  iPhone/iPad/iPod – куча программ по запросу в AppStore “console”. Например, Console , iConsole, Debug Assist, Log Police etc.)  App/File Manager для девайсов:  i-FunBox  iExplorer  iTunes, но в нём отображается только папка Documents.  Следим за памятью и запущенными процессами:  Sys Activity Manager (платный)  CPU на девайсе – тоже куча приложений в AppStore (ищем по “CPU”)  Как пример - iPhoneOptimizer  Есть лишь Win7 и только, спасает ли какая VMware? Другими словами - Windows или Mac OS?  Ответьте сначала на вопрос - зачем вам Mac OS?  XCode
  • 27. Автоматизация  UI Automation (Apple Tool)  Fone Monkey  Squish  Test Studio (прямо на девайсе)  http://habrahabr.ru/post/123026/
  • 28. Как быть "в тренде"?  AppStore и отзывы пользователей (баг репорты/предложения). Дайте пользователям возможность сообщить об ошибке прямо из вашего приложения.  Flurry.com – огромная машина по сбору статистики конкретно по вашим приложениям – языки, возраст, какие фичи используют, сколько крешей, какая длительность сессии и т.п.  Appannie.com – статистика по продвижению в AppStore Вас и Ваших конкурентов.
  • 30. Путь от падавана к гуру..  Как его пройти правильно, с мин. кол-вом шишек (что и в какой последовательности изучать, рекомендуемые источники и материалы)  Хочу стать тестировщиком "мобилок", куда пойти, куда податься? ;)  Люди, что тестируют у вас, каким был их путь?
  • 31. Так с чего же начать?   Просто про iOS  Просмотреть стандартный приложение и начать использовать девайс, в особенности разобраться в AppStore  Пока изучаем - следим за консолью  Выбрать любое приложение и изучить из “чего оно состоит” через iFunBox или iExplorer или аналог  Изучите настройки девайса и чем они отличаются переходя от ОС к ОС  UI Element Usage Guidelines – изучите как называть элементы, какие бывают жесты, ожидания пользователя о том, как определенные контролы будут себя вести.  User Experience Guidelines  Чего-нибудь протестировать (функционально с учётом жестов, UI+Usability, составить матрицу по стресс тестам и пройти их, проверить локализацию).  Словить креш, найти креш-репорт, записать баг.. Дальше всё пойдет по накатанной.  Только не забудьте изучить чем отличаются девайсы  Ну а потом уж как карты вашего проекта лягут:  iCloud  AirPlay  Bluetooth  TV-Out  Утечки памяти  Скорость работы приложения (время отклика на действия, нагрузка на процессор и т.п.)  Автоматизация
  • 32. Вопросы?  Спасибо Вам за Ваши вопросы!  n.savastiuk@gmail.com  www.qaclub.by
  • 33. Скриншоты с примерами багов Из реальных проектов
  • 34. Руководствуясь UI Element Usage Guideline: • На iPhone в ActionSheet кнопка Cancel должна быть всегда нижней. • На iPad в ActionSheet кнопки Cancel не должно быть.
  • 37. Локализация - проблема нехватки места
  • 38. Проблемы UI на iOS=4.3.3, которых нет в iOS=6.0.1 Фон поста должен быть не Прогресс должен отображаться чёрным, а белым. Кроме того в «бегущей» серой строкой контроле нет текста поста.
  • 43. Вот так выглядит на iPad приложение, разработанное только для iPhone. По Apple Review Guidelines ошибок в нём нет.