SlideShare una empresa de Scribd logo
1 de 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 ошибок в нём
нет.

Más contenido relacionado

La actualidad más candente

자동화된 Test Case의 효과
자동화된 Test Case의 효과자동화된 Test Case의 효과
자동화된 Test Case의 효과도형 임
 
Design Patterns - Aula 1
Design Patterns - Aula 1Design Patterns - Aula 1
Design Patterns - Aula 1Talita Pagani
 
JavaScriptでパワポを作ろう
JavaScriptでパワポを作ろうJavaScriptでパワポを作ろう
JavaScriptでパワポを作ろうSaki Homma
 
Test automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsTest automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsSteven Li
 
발표자료 1인qa로살아남는6가지방법
발표자료 1인qa로살아남는6가지방법발표자료 1인qa로살아남는6가지방법
발표자료 1인qa로살아남는6가지방법SangIn Choung
 
AUTOMATION FRAMEWORK USING SELENIUM & TESTNG ALONG WITH MAVEN
AUTOMATION FRAMEWORK USING SELENIUM & TESTNG ALONG WITH MAVENAUTOMATION FRAMEWORK USING SELENIUM & TESTNG ALONG WITH MAVEN
AUTOMATION FRAMEWORK USING SELENIUM & TESTNG ALONG WITH MAVENSHASHI JAISWAL
 
Appium を使って iOS / Android の UI テストを共通化
Appium を使って iOS / Android の UI テストを共通化Appium を使って iOS / Android の UI テストを共通化
Appium を使って iOS / Android の UI テストを共通化健一 辰濱
 
20180717 AWS Black Belt Online Seminar AWS大阪ローカルリージョンの活用とAWSで実現するDisaster Rec...
20180717 AWS Black Belt Online Seminar AWS大阪ローカルリージョンの活用とAWSで実現するDisaster Rec...20180717 AWS Black Belt Online Seminar AWS大阪ローカルリージョンの活用とAWSで実現するDisaster Rec...
20180717 AWS Black Belt Online Seminar AWS大阪ローカルリージョンの活用とAWSで実現するDisaster Rec...Amazon Web Services Japan
 
소프트웨어 테스팅
소프트웨어 테스팅소프트웨어 테스팅
소프트웨어 테스팅영기 김
 
Automation Test Framework
Automation Test FrameworkAutomation Test Framework
Automation Test FrameworkSachin-QA
 
Test Case, Use Case and Test Scenario
Test Case, Use Case and Test ScenarioTest Case, Use Case and Test Scenario
Test Case, Use Case and Test ScenarioLokesh Agrawal
 
Diagrama de Atividades - UML
Diagrama de Atividades - UMLDiagrama de Atividades - UML
Diagrama de Atividades - UMLVinícius Barros
 
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)SangIn Choung
 
ハイブリッド時代のID基盤構成の基礎
ハイブリッド時代のID基盤構成の基礎ハイブリッド時代のID基盤構成の基礎
ハイブリッド時代のID基盤構成の基礎Naohiro Fujie
 

La actualidad más candente (20)

자동화된 Test Case의 효과
자동화된 Test Case의 효과자동화된 Test Case의 효과
자동화된 Test Case의 효과
 
Design Patterns - Aula 1
Design Patterns - Aula 1Design Patterns - Aula 1
Design Patterns - Aula 1
 
Istqb lesson 2
Istqb lesson 2Istqb lesson 2
Istqb lesson 2
 
JavaScriptでパワポを作ろう
JavaScriptでパワポを作ろうJavaScriptでパワポを作ろう
JavaScriptでパワポを作ろう
 
Test automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsTest automation principles, terminologies and implementations
Test automation principles, terminologies and implementations
 
Agiles Testen - Überblick
Agiles Testen - ÜberblickAgiles Testen - Überblick
Agiles Testen - Überblick
 
발표자료 1인qa로살아남는6가지방법
발표자료 1인qa로살아남는6가지방법발표자료 1인qa로살아남는6가지방법
발표자료 1인qa로살아남는6가지방법
 
AUTOMATION FRAMEWORK USING SELENIUM & TESTNG ALONG WITH MAVEN
AUTOMATION FRAMEWORK USING SELENIUM & TESTNG ALONG WITH MAVENAUTOMATION FRAMEWORK USING SELENIUM & TESTNG ALONG WITH MAVEN
AUTOMATION FRAMEWORK USING SELENIUM & TESTNG ALONG WITH MAVEN
 
Appium を使って iOS / Android の UI テストを共通化
Appium を使って iOS / Android の UI テストを共通化Appium を使って iOS / Android の UI テストを共通化
Appium を使って iOS / Android の UI テストを共通化
 
20180717 AWS Black Belt Online Seminar AWS大阪ローカルリージョンの活用とAWSで実現するDisaster Rec...
20180717 AWS Black Belt Online Seminar AWS大阪ローカルリージョンの活用とAWSで実現するDisaster Rec...20180717 AWS Black Belt Online Seminar AWS大阪ローカルリージョンの活用とAWSで実現するDisaster Rec...
20180717 AWS Black Belt Online Seminar AWS大阪ローカルリージョンの活用とAWSで実現するDisaster Rec...
 
Istqb lesson 3
Istqb lesson 3Istqb lesson 3
Istqb lesson 3
 
소프트웨어 테스팅
소프트웨어 테스팅소프트웨어 테스팅
소프트웨어 테스팅
 
Automation Test Framework
Automation Test FrameworkAutomation Test Framework
Automation Test Framework
 
Selenium
SeleniumSelenium
Selenium
 
Test Case, Use Case and Test Scenario
Test Case, Use Case and Test ScenarioTest Case, Use Case and Test Scenario
Test Case, Use Case and Test Scenario
 
Diagrama de Atividades - UML
Diagrama de Atividades - UMLDiagrama de Atividades - UML
Diagrama de Atividades - UML
 
Selenium ide apresentação
Selenium ide   apresentaçãoSelenium ide   apresentação
Selenium ide apresentação
 
Istqb lesson 6
Istqb lesson 6Istqb lesson 6
Istqb lesson 6
 
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
 
ハイブリッド時代のID基盤構成の基礎
ハイブリッド時代のID基盤構成の基礎ハイブリッド時代のID基盤構成の基礎
ハイブリッド時代のID基盤構成の基礎
 

Similar a Тестирование 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-Доминанта
 

Similar a Тестирование 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 ошибок в нём нет.