iOS. С чего начать? Савастюк Наталья
Тестировать «мобилки»? Всё просто – всё как всегда! И вы это уже умеете. Будьте пользователем мобильного телефона и пом...
Apple и девайсы iPad iPhone iPod Touch Apple TV
AppStore Рынок по девайсам (iPad и iPhone) Рынок по категориям (игры, музыка, видео,  утилиты и т.п.) Рынок по аудитори...
Виды приложений iOS apps Web content   Web apps   Optimized webpages   Compatible webpages Hybrid apps
Стадии процесса разработки iOSApps                                                                                        ...
Особенности тестирования мобильных приложений (iOS)                                     WEB          Desktop              ...
Стресс тесты – это матрица:«Возможное неожиданное событие» x «Совершаемоедействие пользователя в приложении»
Совместимость по девайсам Retina vs не-Retina?    2048 х 1536 vs 1024 х 768 iPad vs iPhone? iPod vs iPhone? iPad 2 vs...
Совместимость по версии iOS
Чему нужно уделять внимание припереходе приложения на 4.x -> 5.x -> 6.xверсию iOS? iOS 4.3 to iOS 5.0 API Differences iO...
Какие девайсы выбрать?*                           DeviceOS          4.3.3      5.1.1    6.x                             iP...
Какие девайсы выбрать? Сравнивать характеристики можно прямо на сайте Apple:   Сравнение iPhones   Сравнение iPads   С...
Тестировать.. Как организоватьпроцесс? Зависит от процесса разработки на проекте Лично я не верю в нормальный Scrum на п...
Тестировать.. Как установить билд? Через программиста, но не вариант Приложение iTunes, нужно только, чтобы  компьютер б...
i-FunBox
Альфа тестирование                 Объем/что включать                            Как часто запускать?                  На ...
Бета тестирование Нельзя приложениям в AppStore давать имена  содержащие слова Beta, Trial и т.п. Нужны бета-тестировщик...
Тестирование.. Планирование   Подводные камни при тестировании приложений под iOS     Не~ или тяжелая воспроизводимость ...
Тестовая документация. Сами какдумаете? Быть ей или не быть? Если быть, то тест кейсы или чеклисты? Хранить ли результа...
Тестовая документация Быть ей или не быть?   Быть , иначе будет голова как на картинке Если быть, то тест кейсы или чек...
Пример Мы храним и обновляем чеклисты по уровням  (installation, smoke, acceptance) Чеклисты для стресс тестирования Че...
Баги   Каких багов больше - UI или функционала?       Usability =)   Критерии определения критичности бага в мобильном ...
Crash/Low Memory report и devicelog
Инструменты   AICharger – заряжаем iPad от компьютера   Как сделать скриншот?   Как записать видео? - DispRecorder   Л...
Автоматизация UI Automation (Apple Tool) Fone Monkey Squish Test Studio (прямо на девайсе) http://habrahabr.ru/post/1...
Как быть "в тренде"? AppStore и отзывы пользователей (баг  репорты/предложения). Дайте пользователям  возможность сообщит...
Flurry.com
Путь от падавана к гуру.. Как его пройти правильно, с мин. кол-вом  шишек (что и в какой последовательности  изучать, рек...
Так с чего же начать?    Просто про iOS   Просмотреть стандартный приложение и начать использовать девайс, в особенност...
Вопросы? Спасибо Вам за Ваши вопросы!                        n.savastiuk@gmail.com                                  www...
Скриншоты с примерами баговИз реальных проектов
Руководствуясь UI Element UsageGuideline:• На iPhone в ActionSheet кнопка  Cancel должна быть всегда нижней.• На iPad в Ac...
Локализация - проблема нехваткиместа
Проблемы UI на iOS=4.3.3, которыхнет в iOS=6.0.1                               Фон поста должен быть неПрогресс должен ото...
Альбомный vs портретный режимы
Альбомный vs портретный режимы
Вот так выглядит на iPadприложение,разработанное только дляiPhone.По Apple ReviewGuidelines ошибок в нёмнет.
Тестирование iOS приложений. С чего начать?
Тестирование iOS приложений. С чего начать?
Тестирование iOS приложений. С чего начать?
Тестирование iOS приложений. С чего начать?
Тестирование iOS приложений. С чего начать?
Upcoming SlideShare
Loading in...5
×

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

15,788

Published on

Презентация со встречи QA Club Minsk, посвящённой тестированию iOS приложений.

0 Comments
39 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
15,788
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
0
Comments
0
Likes
39
Embeds 0
No embeds

No notes for slide

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

  1. 1. iOS. С чего начать? Савастюк Наталья
  2. 2. Тестировать «мобилки»? Всё просто – всё как всегда! И вы это уже умеете. Будьте пользователем мобильного телефона и помните про usability.
  3. 3. Apple и девайсы iPad iPhone iPod Touch Apple TV
  4. 4. AppStore Рынок по девайсам (iPad и iPhone) Рынок по категориям (игры, музыка, видео, утилиты и т.п.) Рынок по аудитории (страны)
  5. 5. Виды приложений iOS apps Web content  Web apps  Optimized webpages  Compatible webpages Hybrid apps
  6. 6. Стадии процесса разработки iOSApps В 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) компании-паблишера •.. •Заключение договора •Получение лицензии на разработку
  7. 7. Особенности тестирования мобильных приложений (iOS) WEB Desktop Mobile (iOS)Функциональное +Жесты Для аудио и видео: lock screen, работа в background, управление из панели мультизадачностиИнтерфейса/UI Альбомный и портретный режимы Retina и не retina display Внешние сообщения (алерты)Удобства использования/Usability Element Usage Guideline + ЖестыЛокализационное Есть такие же настройки по языку, региону. Очень важен размер текста и место под негоПроизводительности Нагрузочное 10000 объектов на экран? (по юзабилити вообще не желательно, но если надо по требованиям, то тестируем) Важно то, что мы не сервер здесь тестируем, а функции клиентского приложения Стресс Пропал интернет Позвонили Села батарейка Залочили девайс/ Ушли в другое приложение и т.п. Стабильности Тестируем на самом не производительном девайсе Следим за памятью /Simulate Memory WarningSecurity 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 и т.д.
  8. 8. Стресс тесты – это матрица:«Возможное неожиданное событие» x «Совершаемоедействие пользователя в приложении»
  9. 9. Совместимость по девайсам 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 устройство?  Устройство и только!
  10. 10. Совместимость по версии iOS
  11. 11. Чему нужно уделять внимание припереходе приложения на 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 Вывод: уточняйте у программистов.
  12. 12. Какие девайсы выбрать?* 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.
  13. 13. Какие девайсы выбрать? Сравнивать характеристики можно прямо на сайте Apple:  Сравнение iPhones  Сравнение iPads  Сравнение iPods Но мне нравится wiki:  Список iOS девайсов и их сравнительная характеристика Можно прочитать ещё здесь мнение:  о том, какие девайсы выбрать для своего "зоопарка"
  14. 14. Тестировать.. Как организоватьпроцесс? Зависит от процесса разработки на проекте Лично я не верю в нормальный Scrum на проектах для AppStore при разработке своих собственных продуктов
  15. 15. Тестировать.. Как установить билд? Через программиста, но не вариант Приложение iTunes, нужно только, чтобы компьютер был авторизирован и *.ipa файл i-FunBox TestFlight либо подобный ему ресурс (HockeyApp)
  16. 16. i-FunBox
  17. 17. Альфа тестирование Объем/что включать Как часто запускать? На каких девайсах?Smoke Как и для остальных проектов, только Каждый билд/раз в неделю или Меняем девайс, язык, операционку при помним, что функционал уже будет работать две/автоматизированно если у вас новом запуске (выбираем из не только по нажатию на кнопочки, но и по CI.. В общем, по обстоятельствам на поддерживаемых) жестам вашем проекте. Соц. Сети!New Features Вспоминаем все виды тестирования и если В зависимости от того как идет Основное тестирование на самой уместно, то проверяем именно их. Особенно процесс на проекте последней операционке важно учесть особенности OS или типа девайсаRegression Testing Как и для других типов проектов - Как всегда, за несколько дней до На тех, что могли быть задеты анализируйте, что изменено и планируйте, релиза старайтесь выделить дни на изменениями что регрессить. регресионное тестированиеAcceptance Функциональные, UI, стресс.. любые другие Один раз перед релизом/заливкой Уровень acceptance - на основном тесты, которые важны именно вашему девайсе. бизнесу. Их прогоняем на основном девайсе. Не забываем включить взаимодействие с Уровень installation - желательно на внешними устройствами, если есть. каждом из тех, что есть в наличии In-app purchases! (минимум - пройти все поддерживаемые ОС) Важно иметь в наличии набор тестов (installation), которые акцентированы на Update testing - на всех особенностях ОС или девайса и можно быстро поддерживаемых ОС (минимум на пройти, на каждом из самых важных самой приоритетной) девайсов. Инфраструктура - чаще всего Update testing - проверка обновления версии достаточно одного девайса с любой ОС. (здесь стоит обсудить с командой сколько Но может быть особенность проекта. старых версий вы поддерживаете) К этому всему добавляем проверку инфраструктуры - ссылки на appstore, социальные сети, логику попапов на ревью, help/faq, flurry и др. библиотеки
  18. 18. Бета тестирование Нельзя приложениям в AppStore давать имена содержащие слова Beta, Trial и т.п. Нужны бета-тестировщики – ищите тех, что с iPhone/iPad/iPod, узнавайте UDID, добавляйте его в провижн файл, заливайте билд на TestFlight (либо аналог) и приглашайте тестировать..
  19. 19. Тестирование.. Планирование Подводные камни при тестировании приложений под iOS  Не~ или тяжелая воспроизводимость багов  Зависимость сроков от настроения пользователей и Apple ревьюверов  Competition Время  Acceptance test последнего нашего релиза (один проект для iPhone и iPad) без тестирования новых фич/регрессии занял ~8 часов. Это:  Acceptance level на основном девайсе (самом приоритетном)  Install level на всех поддерживаемых ОС и первоприоритетных девайсах (3 девайса)  Update testing на всех поддерживаемых ОС  Проверка инфраструктуры Люди  0-1-4 человека в зависимости от ситуации и сроков Метрики. У нас никаких особых правил:  Smoke по модулям. Зафейлился модуль – для него тестирование не продолжаем.  Acceptance начинаем, когда есть релиз кандидат, и в нём нет критических ошибок  Есть критические ошибки – не релизимся  Можем залить раньше, чем завершили тесты, если риск ошибки небольшой, но тестирование запланированное продолжаем
  20. 20. Тестовая документация. Сами какдумаете? Быть ей или не быть? Если быть, то тест кейсы или чеклисты? Хранить ли результаты тестирования?
  21. 21. Тестовая документация Быть ей или не быть?  Быть , иначе будет голова как на картинке Если быть, то тест кейсы или чеклисты?  Чеклисты, если у вас клиенты не требуют тест-кейсов, а ещё потому что:  Слишком много ресурсов на тест-кейсы будет потрачено, а проекты слишком короткие  Слишком быстро всё может измениться  Всё равно все варианты не сможете описать, слишком их много Хранить ли результаты тестирования?  Если очень много проектов, то хранить хотя бы частично (например, acceptance), иначе будет голова как на картинке
  22. 22. Пример Мы храним и обновляем чеклисты по уровням (installation, smoke, acceptance) Чеклисты для стресс тестирования Чеклисты для тестирования накатов (обновления версии) Кое-какие функциональные тесты (от специфики приложения)
  23. 23. Баги Каких багов больше - UI или функционала?  Usability =) Критерии определения критичности бага в мобильном приложении?  Вот точно как в книжках пишут Какие основные причины падений приложений?  Некорректно реализованная логика  Социальные сети! Особенно facebook.  Не достаточно оперативной памяти  Нет интернета, если приложение с интернетом работает  Закончилось место на девайсе  Работа с внешними устройствами (AirPlay, TVOut, Bluetooth,…)  Позвонили.. Как описывать?  Как всегда – подробно.  Там, где был креш, – атачьте креш репорт, он хранится на девайсе (Settings > General > About > Diagnostic & Usage > Data ). Чтобы его достать с девайса нужно через iTunes синхронизироваться с компьютером и зайти в нужную папочку - C:Users<USERNAME>AppDataRoamingApple computerLogsCrashReporter/MobileDevice/<DEVICE_NAME>.  А еще можно делать вырезку из Debug Console  Там, где ошибка по UI – атачьте скриншот  Там, где ошибка по локализации (тексту) – атачьте скриншот
  24. 24. Crash/Low Memory report и devicelog
  25. 25. Инструменты 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
  26. 26. Автоматизация UI Automation (Apple Tool) Fone Monkey Squish Test Studio (прямо на девайсе) http://habrahabr.ru/post/123026/
  27. 27. Как быть "в тренде"? AppStore и отзывы пользователей (баг репорты/предложения). Дайте пользователям возможность сообщить об ошибке прямо из вашего приложения. Flurry.com – огромная машина по сбору статистики конкретно по вашим приложениям – языки, возраст, какие фичи используют, сколько крешей, какая длительность сессии и т.п. Appannie.com – статистика по продвижению в AppStore Вас и Ваших конкурентов.
  28. 28. Flurry.com
  29. 29. Путь от падавана к гуру.. Как его пройти правильно, с мин. кол-вом шишек (что и в какой последовательности изучать, рекомендуемые источники и материалы) Хочу стать тестировщиком "мобилок", куда пойти, куда податься? ;) Люди, что тестируют у вас, каким был их путь?
  30. 30. Так с чего же начать?  Просто про iOS Просмотреть стандартный приложение и начать использовать девайс, в особенности разобраться в AppStore Пока изучаем - следим за консолью Выбрать любое приложение и изучить из “чего оно состоит” через iFunBox или iExplorer или аналог Изучите настройки девайса и чем они отличаются переходя от ОС к ОС UI Element Usage Guidelines – изучите как называть элементы, какие бывают жесты, ожидания пользователя о том, как определенные контролы будут себя вести. User Experience Guidelines Чего-нибудь протестировать (функционально с учётом жестов, UI+Usability, составить матрицу по стресс тестам и пройти их, проверить локализацию). Словить креш, найти креш-репорт, записать баг.. Дальше всё пойдет по накатанной. Только не забудьте изучить чем отличаются девайсы Ну а потом уж как карты вашего проекта лягут:  iCloud  AirPlay  Bluetooth  TV-Out  Утечки памяти  Скорость работы приложения (время отклика на действия, нагрузка на процессор и т.п.)  Автоматизация
  31. 31. Вопросы? Спасибо Вам за Ваши вопросы!  n.savastiuk@gmail.com  www.qaclub.by
  32. 32. Скриншоты с примерами баговИз реальных проектов
  33. 33. Руководствуясь UI Element UsageGuideline:• На iPhone в ActionSheet кнопка Cancel должна быть всегда нижней.• На iPad в ActionSheet кнопки Cancel не должно быть.
  34. 34. Локализация - проблема нехваткиместа
  35. 35. Проблемы UI на iOS=4.3.3, которыхнет в iOS=6.0.1 Фон поста должен быть неПрогресс должен отображаться чёрным, а белым. Кроме того в«бегущей» серой строкой контроле нет текста поста.
  36. 36. Альбомный vs портретный режимы
  37. 37. Альбомный vs портретный режимы
  38. 38. Вот так выглядит на iPadприложение,разработанное только дляiPhone.По Apple ReviewGuidelines ошибок в нёмнет.

×