Appium is an open-source tool for automating native, mobile web, and hybrid applications on iOS mobile, Android mobile, and Windows desktop platforms. Native apps are those written using iOS, Android, or Windows SDKs. Mobile web apps are web apps accessed using a mobile browser (Appium supports Safari on iOS and Chrome or the built-in 'Browser' app on Android). Hybrid apps have a wrapper around a "webview" -- a native control that enables interaction with web content. Projects like Apache Cordova or Phonegap make it easy to build apps using web technologies that are then bundled into a native wrapper, creating a hybrid app.
Importantly, Appium is "cross-platform": it allows you to write tests against multiple platforms (iOS, Android, Windows), using the same API. This enables code reuse between iOS, Android, and Windows testsuites.
Appium is an open-source tool for automating native, mobile web, and hybrid applications on iOS mobile, Android mobile, and Windows desktop platforms. Native apps are those written using iOS, Android, or Windows SDKs. Mobile web apps are web apps accessed using a mobile browser (Appium supports Safari on iOS and Chrome or the built-in 'Browser' app on Android). Hybrid apps have a wrapper around a "webview" -- a native control that enables interaction with web content. Projects like Apache Cordova or Phonegap make it easy to build apps using web technologies that are then bundled into a native wrapper, creating a hybrid app.
Importantly, Appium is "cross-platform": it allows you to write tests against multiple platforms (iOS, Android, Windows), using the same API. This enables code reuse between iOS, Android, and Windows testsuites.
Different testing requirements that mobile applications have, challenges and solutions Challenges 1. Complex mobile testing matrix, Expensive test environment 2. Repetitive testing 3. Mobile testing for devices located at various locations Solutions: • Risk Based Testing approach • Using Mobile device emulators • Use of Automation tools • Leveraging external services
"Learn All Aspects Of Appium step by step, Enhance your skills & Launch Your Career, On-Demand Course affordable price & classes on virtually every topic.Try Before You Buy
for maven online training visit: https://goo.gl/YKsHBZ"
Join Matt Netkow for a walkthrough of Capacitor 2.0. During this webinar, he’ll show off all the new features and capabilities of the latest version, along with the core feature set from previous versions. Watch the live presentation here: https://bit.ly/2TomZqV
Introduction
Mobile Trends
Mobile Evolution
Top Ten Trends
Mobile Ecosystem
Smartphone Trends
Mobile Application Testing
Application Option
Approach to QA
Challenges
Implementation
Discover Android TV and its promising ecosystem.
See how you can easily adapt your apps and games to bring these to TV and distribute them through the Play Store.
Learn how to take advantage of TV-specific features from your apps, like live channels, global search and recommendations.
Also, the Nexus Player being based on an Intel SOC; discover what it implies for existing apps and libs, like with any other Intel-based Android devices.
This talk will give you a broad overview of all you can do with Android TV and your apps/games.
Software Assurance, LLC a Dallas-based Testing-centric Company offers specialized Mobile App Testing - We define your Mobile Apps Strategy - Faster, Better & Economically.
Introduction to Mobile applications testingOleg Nikiforov
Видео презентации: http://www.youtube.com/watch?v=pdWYmxbTgYw
Ссылка на iOS specifications map: https://www.dropbox.com/s/40eb09lvlsn8flm/ios_testing.png
Different testing requirements that mobile applications have, challenges and solutions Challenges 1. Complex mobile testing matrix, Expensive test environment 2. Repetitive testing 3. Mobile testing for devices located at various locations Solutions: • Risk Based Testing approach • Using Mobile device emulators • Use of Automation tools • Leveraging external services
"Learn All Aspects Of Appium step by step, Enhance your skills & Launch Your Career, On-Demand Course affordable price & classes on virtually every topic.Try Before You Buy
for maven online training visit: https://goo.gl/YKsHBZ"
Join Matt Netkow for a walkthrough of Capacitor 2.0. During this webinar, he’ll show off all the new features and capabilities of the latest version, along with the core feature set from previous versions. Watch the live presentation here: https://bit.ly/2TomZqV
Introduction
Mobile Trends
Mobile Evolution
Top Ten Trends
Mobile Ecosystem
Smartphone Trends
Mobile Application Testing
Application Option
Approach to QA
Challenges
Implementation
Discover Android TV and its promising ecosystem.
See how you can easily adapt your apps and games to bring these to TV and distribute them through the Play Store.
Learn how to take advantage of TV-specific features from your apps, like live channels, global search and recommendations.
Also, the Nexus Player being based on an Intel SOC; discover what it implies for existing apps and libs, like with any other Intel-based Android devices.
This talk will give you a broad overview of all you can do with Android TV and your apps/games.
Software Assurance, LLC a Dallas-based Testing-centric Company offers specialized Mobile App Testing - We define your Mobile Apps Strategy - Faster, Better & Economically.
Introduction to Mobile applications testingOleg Nikiforov
Видео презентации: http://www.youtube.com/watch?v=pdWYmxbTgYw
Ссылка на iOS specifications map: https://www.dropbox.com/s/40eb09lvlsn8flm/ios_testing.png
Переводим без интернета: как мы делали Яндекс.Перевод для iOS, Иван МоскалёвYandex
Рассказ о том, как удалось портировать сервис машинного перевода на мобильное устройство, какие сопутствующие задачи пришлось решить и какие грабли поджидали на пути. Обсудим также, насколько современные мобильные приложения зависимы от наличия сети и как проектировать архитектуру так, чтобы в будущем не набить шишек при добавлении офлайн-режима.
О тестировании для HR-менеджеров. Школы тестирования, виды тестирования, инструменты, роли. Об этом в презентации Сергея Атрощенкова, сделанной для мероприятия "7-я международная IT HR конференция «нАйТи ответ!»"
Similar to Тестирование iOS приложений. С чего начать? (20)
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 – атачьте скриншот
Там, где ошибка по локализации (тексту) – атачьте скриншот
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
Утечки памяти
Скорость работы приложения (время отклика на действия, нагрузка на процессор и т.п.)
Автоматизация
34. Руководствуясь UI Element Usage
Guideline:
• На iPhone в ActionSheet кнопка
Cancel должна быть всегда нижней.
• На iPad в ActionSheet кнопки Cancel
не должно быть.
38. Проблемы UI на iOS=4.3.3, которых
нет в iOS=6.0.1
Фон поста должен быть не
Прогресс должен отображаться чёрным, а белым. Кроме того в
«бегущей» серой строкой контроле нет текста поста.