introduction to mobile applications testing
DESCRIPTION
Видео презентации: http://www.youtube.com/watch?v=pdWYmxbTgYw Ссылка на iOS specifications map: https://www.dropbox.com/s/40eb09lvlsn8flm/ios_testing.pngTRANSCRIPT
Тестирование iOS и Android приложений
Практическое руководство
Кто о чем
Никифоров Олег в компании
• Особенности тестирования мобильных приложений
• Подготовка к процессу тестирования
• Виды тестирования в мобайл
• База для тестирования• Полезные тулзы
Android apps
iOS apps
http://stanfy.com
UX/UI Design
Особенности тестирования мобильных приложений
• Форм факторы• Управление жестами• Разные типы соединения• Взаимодействие с соц. сетями• Достижения (achievements)• Уведомления (push notifications)• Работа с медиа• Привязка к локальным настройкам• Упор на визуальную составляющую
Форм факторы
Smartphone:• Landscape• Portrait
Tablet:• 10 inch• 7 inch
Разный интерфейс, размер элементов, удобство их расположения
Жесты
• Стандартные действия к которым привыкли пользователи
• Кастомные действия на стандартные жесты
• Кастомные жесты• Несколько свайпов на одном
экране
Разные типы соединения
3G
• Переключение между 3g и wifi• Вес запросов/ответов• Upload/download - пауза, прерывание• Tайм ауты• Потеря связи
WiFiEdge
Взаимодействие с соц. сетями
• Авторизация через соц сети• Шаринг • Постинг сообщений: картинки,
ссылки • Комментарии• Login/logout -
апп/браузер/настройки девайса (iOS)
Achievements
• Привязанные к времени (пользовался 2 недели)• Привязанные к действиям - как срабатывают• Шаринг ачивок
Push notifications
• Получение• Открытие соответствующей страницы• Обработка ошибок (например объекта на который
ссылается уведомление больше не существует, пустое уведомление, etc.)
Работа с медиаРабота с медиа (фото, видео, звук) и внешней периферией:
• Использование фото из библиотеки/камеры использование панорам
• Работа с микрофоном (в том числе внешней гарнитурой)
• Воспроизведение аудио/видео (пауза, обработка входящих/исходящих звонков, сообщений).
• Привязка к времени/локализации/региону: • Язык приложения в зависимости от настроек
девайса • Время с привязкой к часовому поясу • Язык получаемого контента в зависимости от
настроек девайса• Формат даты/времени в зависимости от
региональных настроек • Меры веса/объема/температуры в зависимости от
региональных настроек
Привязка к локальным настройкам
Упор на визуальную составляющую
• Размеры кнопок в зависимости от локали• Шрифты• Размытые картинки• Ресурсы соответствующие разрешению экрана• Анимации
Начало процесса
• Работа с требованиями, прототипами,
первоначальным дизайном (mock-ups) - основной
смысл - понять flow приложения• Ознакомление с API документацией• Написание API тестов• Создание mind maps по приложению
Типы тестирования
• Manual• Automated ui:
o Calabasho Franko Robotiumo UI Automationo Appium
• Automated api: o Soapui o Loadui
База для тестирования
• Use cases которые относятся непосредственно к тестируемому приложению 30% - 50%
• Specifications общие для системы - iOS/Android 10% - 20%• Common cases - use cases которые общие для определенного
типа приложений, в том числе и для отдельных компонентов приложения в определенной системе (списки, scrollview, alerts, etc.) 5% - 15%
• Testing patterns - граничные значения, выборки, etc 5% - 10%• Чуйка ;) 20% - ∞
iOS testing mind map
Android
• Проверять на разных девайсах:o разный размер экранов > отображение контентаo разная плотность экранов (pixel density) > отображение графических
элементов (внешний вид иконок, кнопок, текста, etc.)• Проверять на разных прошивках:
o Проигрывание медиа файлов;o Action bar;o Кастомные анимации;o Web view.
• Проверка на работу приложения во время звонка:o Если в приложении есть сервисы, которые работают в фоне со звуком
(воспроизведение музыки в фоне) > надо проверять, как приложение себя ведет при поступлении звонка на девайс;
o Если в приложении нет сервисов, которые работают в фоне со звуком > можно ограничиться проверкой перевода аппа в background.
Тулзы которые помогают при тестировании мобильных приложений
• IDE: o Eclipse + DDMS + Simo Xcode + Organizer + Sim
• Visual:o Reflectoro Jingo DDMS - capture android
device
• Network:o Sniffers/proxy (Burp, tcp
catcher, charles, etc.)o Network Link Conditioner
• Location:o iOS Simo Fake Location (Android)o Eclipse
• Other:o iPhone Configuration Utility -
manage certso XMindo Crashlytics
IDE
• Android:o Eclipse https://www.eclipse.org
o DDMS http://developer.android.com/tools/debugging/ddms.html
o Simulator
• iOS:o Xcode https://developer.apple.com/xcode/
o AppCode http://www.jetbrains.com/objc/
o Simulator
Visual
• Reflector http://www.airsquirrels.com/reflector/• Jing http://www.techsmith.com/jing.html• DDMS - capture android device• Droid-at-Screen http://droid-at-screen.ribomation.com/
Network
• Sniffers/proxy:o Burp Suite http://portswigger.net/burp/
o Tcp Catcher http://www.tcpcatcher.org/download.php
o Charles proxy http://www.charlesproxy.com/
• Network Link Conditioner
Location• iOS Sim• Fake GPS location (Android)
https://play.google.com/store/apps/details?id=com.lexa.fakegps&hl=en
• Eclipse
Other
• iPhone Configuration Utility http://support.apple.com/downloads/#iphone configuration utility
• XMind http://www.xmind.net
• Crashlytics http://try.crashlytics.com
Tips and Tricks
• Апдейт приложения - сохранять данные (мигрирование БД)
• Пользовательские данные и iCloud• Crashlytics и смена бандла• Crashlytics и дебаг• Crashlytics и Hockeyapp• Флури• NSLog и время на обработку крэша• Пересоздание активности в android при смене
ориентации• Кэширование• Auth token• Обработка серверных ошибок• Server error vs. no connection
navisnobilite