SlideShare une entreprise Scribd logo
1  sur  43
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
  не должно быть.
Локализация - проблема нехватки
места
Проблемы UI на iOS=4.3.3, которых
нет в iOS=6.0.1
                               Фон поста должен быть не
Прогресс должен отображаться   чёрным, а белым. Кроме того в
«бегущей» серой строкой        контроле нет текста поста.
Альбомный vs портретный режимы
Альбомный vs портретный режимы
Вот так выглядит на iPad
приложение,
разработанное только для
iPhone.
По Apple Review
Guidelines ошибок в нём
нет.

Contenu connexe

Tendances

Agile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil KaradeAgile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil KaradeIndicThreads
 
Presentation On Software Testing Bug Life Cycle
Presentation On Software Testing Bug Life CyclePresentation On Software Testing Bug Life Cycle
Presentation On Software Testing Bug Life CycleRajon
 
Test Management & Automation with JIRA
Test Management & Automation with JIRATest Management & Automation with JIRA
Test Management & Automation with JIRAXpand IT
 
DevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilDevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilElias Nogueira
 
Teste Tradicional e Teste Ágil: de que lado você esta?
Teste Tradicional e Teste Ágil: de que lado você esta?Teste Tradicional e Teste Ágil: de que lado você esta?
Teste Tradicional e Teste Ágil: de que lado você esta?Danilo Sousa
 
What is eggPlant Functional?
What is eggPlant Functional?What is eggPlant Functional?
What is eggPlant Functional?Testplant
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application TestingNoor Orfahly
 
Test Execution
Test ExecutionTest Execution
Test ExecutionRajathi-QA
 
Тестирование требований и документации
Тестирование требований и документацииТестирование требований и документации
Тестирование требований и документацииUladzimir Kryvenka
 
Mobile testing practices
Mobile testing practicesMobile testing practices
Mobile testing practicesRakesh Jha
 
Chapter 9 Testing Strategies.ppt
Chapter 9 Testing Strategies.pptChapter 9 Testing Strategies.ppt
Chapter 9 Testing Strategies.pptVijayaPratapReddyM
 
사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)
사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)
사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)SangIn Choung
 

Tendances (20)

Software testing
Software testingSoftware testing
Software testing
 
Agile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil KaradeAgile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil Karade
 
Istqb lesson 2
Istqb lesson 2Istqb lesson 2
Istqb lesson 2
 
XRAY for Jira
XRAY for JiraXRAY for Jira
XRAY for Jira
 
Presentation On Software Testing Bug Life Cycle
Presentation On Software Testing Bug Life CyclePresentation On Software Testing Bug Life Cycle
Presentation On Software Testing Bug Life Cycle
 
Test Management & Automation with JIRA
Test Management & Automation with JIRATest Management & Automation with JIRA
Test Management & Automation with JIRA
 
Types of testing
Types of testingTypes of testing
Types of testing
 
Espresso
EspressoEspresso
Espresso
 
DevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilDevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágil
 
Teste Tradicional e Teste Ágil: de que lado você esta?
Teste Tradicional e Teste Ágil: de que lado você esta?Teste Tradicional e Teste Ágil: de que lado você esta?
Teste Tradicional e Teste Ágil: de que lado você esta?
 
Testing Tools
Testing ToolsTesting Tools
Testing Tools
 
What is eggPlant Functional?
What is eggPlant Functional?What is eggPlant Functional?
What is eggPlant Functional?
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
 
Test Execution
Test ExecutionTest Execution
Test Execution
 
Тестирование требований и документации
Тестирование требований и документацииТестирование требований и документации
Тестирование требований и документации
 
Mobile testing practices
Mobile testing practicesMobile testing practices
Mobile testing practices
 
ISTQB Test Process
ISTQB Test ProcessISTQB Test Process
ISTQB Test Process
 
Chapter 9 Testing Strategies.ppt
Chapter 9 Testing Strategies.pptChapter 9 Testing Strategies.ppt
Chapter 9 Testing Strategies.ppt
 
사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)
사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)
사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)
 
Software Testing
Software TestingSoftware Testing
Software Testing
 

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

тестирование снецифических областей
тестирование снецифических областейтестирование снецифических областей
тестирование снецифических областейDressTester
 
Introduction to Mobile applications testing
Introduction to Mobile applications testingIntroduction to Mobile applications testing
Introduction to Mobile applications testingOleg Nikiforov
 
тестирование ios как процесс
тестирование ios как процесстестирование ios как процесс
тестирование ios как процессtouchin
 
Особенности тестирования приложений на iOS
Особенности тестирования приложений на iOSОсобенности тестирования приложений на iOS
Особенности тестирования приложений на iOSHeads&Hands
 
Типовые ошибки в iOS приложениях. Классификация ошибок в iOS приложении. - Дм...
Типовые ошибки в iOS приложениях. Классификация ошибок в iOS приложении. - Дм...Типовые ошибки в iOS приложениях. Классификация ошибок в iOS приложении. - Дм...
Типовые ошибки в iOS приложениях. Классификация ошибок в iOS приложении. - Дм...Procontent.Ru Magazine
 
Выход новой iOS и Apple-устройства: что может тестировщик, кроме тестирования.
Выход новой iOS и Apple-устройства: что может тестировщик, кроме тестирования.Выход новой iOS и Apple-устройства: что может тестировщик, кроме тестирования.
Выход новой iOS и Apple-устройства: что может тестировщик, кроме тестирования.Victoria Kozlova
 
Виктория Козлова "Выход новой iOS и Apple-устройства: что может тестировщик, ...
Виктория Козлова "Выход новой iOS и Apple-устройства: что может тестировщик, ...Виктория Козлова "Выход новой iOS и Apple-устройства: что может тестировщик, ...
Виктория Козлова "Выход новой iOS и Apple-устройства: что может тестировщик, ...QA Club Minsk
 
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...SQALab
 
DS Activity Monitor
DS Activity MonitorDS Activity Monitor
DS Activity Monitormekhos
 
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...COMAQA.BY
 
Mobile testing: Android, iOS, BlackBerry
Mobile testing: Android, iOS, BlackBerryMobile testing: Android, iOS, BlackBerry
Mobile testing: Android, iOS, BlackBerryQA Club Kiev
 
Эвелина Тананаева -- Мобильные технологии: тестирование - с чего начать?
Эвелина Тананаева -- Мобильные технологии: тестирование - с чего начать?Эвелина Тананаева -- Мобильные технологии: тестирование - с чего начать?
Эвелина Тананаева -- Мобильные технологии: тестирование - с чего начать?sqadays8
 
Переводим без интернета: как мы делали Яндекс.Перевод для iOS, Иван Москалёв
Переводим без интернета: как мы делали Яндекс.Перевод для iOS, Иван  МоскалёвПереводим без интернета: как мы делали Яндекс.Перевод для iOS, Иван  Москалёв
Переводим без интернета: как мы делали Яндекс.Перевод для iOS, Иван МоскалёвYandex
 
Evelina Tananaeva
 Evelina Tananaeva Evelina Tananaeva
Evelina TananaevaAlexei Lupan
 
Эволюция интерфейса. Без магии и читерства
Эволюция интерфейса. Без магии и читерстваЭволюция интерфейса. Без магии и читерства
Эволюция интерфейса. Без магии и читерстваZotov Andrey
 
V Demin oracle mobile suite, soa 12c launch, 20.11.14 for publishing
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 publishingVasily Demin
 
Антон Семенченко, Никита Беликов "Инструменты автоматизации тестирования моби...
Антон Семенченко, Никита Беликов "Инструменты автоматизации тестирования моби...Антон Семенченко, Никита Беликов "Инструменты автоматизации тестирования моби...
Антон Семенченко, Никита Беликов "Инструменты автоматизации тестирования моби...QA Club Minsk
 
О тестирование софта: мир качества, жуков и информации.
О тестирование софта: мир качества, жуков и информации.О тестирование софта: мир качества, жуков и информации.
О тестирование софта: мир качества, жуков и информации.Sergey Atroschenkov
 
О тестирование софта: мир качества, жуков и информации. Атрощенков Сергей.
О тестирование софта: мир качества, жуков и информации.   Атрощенков Сергей.О тестирование софта: мир качества, жуков и информации.   Атрощенков Сергей.
О тестирование софта: мир качества, жуков и информации. Атрощенков Сергей.IT-Доминанта
 

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

тестирование снецифических областей
тестирование снецифических областейтестирование снецифических областей
тестирование снецифических областей
 
Introduction to Mobile applications testing
Introduction to Mobile applications testingIntroduction to Mobile applications testing
Introduction to Mobile applications testing
 
тестирование ios как процесс
тестирование ios как процесстестирование ios как процесс
тестирование ios как процесс
 
Особенности тестирования приложений на iOS
Особенности тестирования приложений на iOSОсобенности тестирования приложений на iOS
Особенности тестирования приложений на iOS
 
Типовые ошибки в iOS приложениях. Классификация ошибок в iOS приложении. - Дм...
Типовые ошибки в iOS приложениях. Классификация ошибок в iOS приложении. - Дм...Типовые ошибки в iOS приложениях. Классификация ошибок в iOS приложении. - Дм...
Типовые ошибки в iOS приложениях. Классификация ошибок в iOS приложении. - Дм...
 
Выход новой iOS и Apple-устройства: что может тестировщик, кроме тестирования.
Выход новой iOS и Apple-устройства: что может тестировщик, кроме тестирования.Выход новой iOS и Apple-устройства: что может тестировщик, кроме тестирования.
Выход новой iOS и Apple-устройства: что может тестировщик, кроме тестирования.
 
Виктория Козлова "Выход новой iOS и Apple-устройства: что может тестировщик, ...
Виктория Козлова "Выход новой iOS и Apple-устройства: что может тестировщик, ...Виктория Козлова "Выход новой iOS и Apple-устройства: что может тестировщик, ...
Виктория Козлова "Выход новой iOS и Apple-устройства: что может тестировщик, ...
 
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
 
DS Activity Monitor
DS Activity MonitorDS Activity Monitor
DS Activity Monitor
 
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...
 
Mobile testing: Android, iOS, BlackBerry
Mobile testing: Android, iOS, BlackBerryMobile testing: Android, iOS, BlackBerry
Mobile testing: Android, iOS, BlackBerry
 
iOS_Testing.pptx
iOS_Testing.pptxiOS_Testing.pptx
iOS_Testing.pptx
 
Эвелина Тананаева -- Мобильные технологии: тестирование - с чего начать?
Эвелина Тананаева -- Мобильные технологии: тестирование - с чего начать?Эвелина Тананаева -- Мобильные технологии: тестирование - с чего начать?
Эвелина Тананаева -- Мобильные технологии: тестирование - с чего начать?
 
Переводим без интернета: как мы делали Яндекс.Перевод для iOS, Иван Москалёв
Переводим без интернета: как мы делали Яндекс.Перевод для iOS, Иван  МоскалёвПереводим без интернета: как мы делали Яндекс.Перевод для iOS, Иван  Москалёв
Переводим без интернета: как мы делали Яндекс.Перевод для iOS, Иван Москалёв
 
Evelina Tananaeva
 Evelina Tananaeva Evelina Tananaeva
Evelina Tananaeva
 
Эволюция интерфейса. Без магии и читерства
Эволюция интерфейса. Без магии и читерстваЭволюция интерфейса. Без магии и читерства
Эволюция интерфейса. Без магии и читерства
 
V Demin oracle mobile suite, soa 12c launch, 20.11.14 for publishing
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
 
Антон Семенченко, Никита Беликов "Инструменты автоматизации тестирования моби...
Антон Семенченко, Никита Беликов "Инструменты автоматизации тестирования моби...Антон Семенченко, Никита Беликов "Инструменты автоматизации тестирования моби...
Антон Семенченко, Никита Беликов "Инструменты автоматизации тестирования моби...
 
О тестирование софта: мир качества, жуков и информации.
О тестирование софта: мир качества, жуков и информации.О тестирование софта: мир качества, жуков и информации.
О тестирование софта: мир качества, жуков и информации.
 
О тестирование софта: мир качества, жуков и информации. Атрощенков Сергей.
О тестирование софта: мир качества, жуков и информации.   Атрощенков Сергей.О тестирование софта: мир качества, жуков и информации.   Атрощенков Сергей.
О тестирование софта: мир качества, жуков и информации. Атрощенков Сергей.
 

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

  • 1. iOS. С чего начать?  Савастюк Наталья
  • 2.
  • 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 не должно быть.
  • 35.
  • 36.
  • 37. Локализация - проблема нехватки места
  • 38. Проблемы UI на iOS=4.3.3, которых нет в iOS=6.0.1 Фон поста должен быть не Прогресс должен отображаться чёрным, а белым. Кроме того в «бегущей» серой строкой контроле нет текста поста.
  • 39.
  • 40.
  • 43. Вот так выглядит на iPad приложение, разработанное только для iPhone. По Apple Review Guidelines ошибок в нём нет.