Top Banner
Тестирование iOS и Android приложений Практическое руководство
27

Introduction to Mobile applications testing

Jan 14, 2015

Download

Education

Oleg Nikiforov

Видео презентации: http://www.youtube.com/watch?v=pdWYmxbTgYw

Ссылка на iOS specifications map: https://www.dropbox.com/s/40eb09lvlsn8flm/ios_testing.png
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Introduction to Mobile applications testing

Тестирование iOS и Android приложений

Практическое руководство

Page 2: Introduction to Mobile applications testing

Кто о чем

Никифоров Олег в компании

• Особенности тестирования мобильных приложений

• Подготовка к процессу тестирования

• Виды тестирования в мобайл

• База для тестирования• Полезные тулзы

Android apps

iOS apps

http://stanfy.com

UX/UI Design

Page 3: Introduction to Mobile applications testing

Особенности тестирования мобильных приложений

• Форм факторы• Управление жестами• Разные типы соединения• Взаимодействие с соц. сетями• Достижения (achievements)• Уведомления (push notifications)• Работа с медиа• Привязка к локальным настройкам• Упор на визуальную составляющую

Page 4: Introduction to Mobile applications testing

Форм факторы

Smartphone:• Landscape• Portrait

Tablet:• 10 inch• 7 inch

Разный интерфейс, размер элементов, удобство их расположения

Page 5: Introduction to Mobile applications testing

Жесты

• Стандартные действия к которым привыкли пользователи

• Кастомные действия на стандартные жесты

• Кастомные жесты• Несколько свайпов на одном

экране

Page 6: Introduction to Mobile applications testing

Разные типы соединения

3G

• Переключение между 3g и wifi• Вес запросов/ответов• Upload/download - пауза, прерывание• Tайм ауты• Потеря связи

WiFiEdge

Page 7: Introduction to Mobile applications testing

Взаимодействие с соц. сетями

• Авторизация через соц сети• Шаринг • Постинг сообщений: картинки,

ссылки • Комментарии• Login/logout -

апп/браузер/настройки девайса (iOS)

Page 8: Introduction to Mobile applications testing

Achievements

• Привязанные к времени (пользовался 2 недели)• Привязанные к действиям - как срабатывают• Шаринг ачивок

Page 9: Introduction to Mobile applications testing

Push notifications

• Получение• Открытие соответствующей страницы• Обработка ошибок (например объекта на который

ссылается уведомление больше не существует, пустое уведомление, etc.)

Page 10: Introduction to Mobile applications testing

Работа с медиаРабота с медиа (фото, видео, звук) и внешней периферией:

• Использование фото из библиотеки/камеры использование панорам

• Работа с микрофоном (в том числе внешней гарнитурой)

• Воспроизведение аудио/видео (пауза, обработка входящих/исходящих звонков, сообщений).

Page 11: Introduction to Mobile applications testing

• Привязка к времени/локализации/региону: • Язык приложения в зависимости от настроек

девайса • Время с привязкой к часовому поясу • Язык получаемого контента в зависимости от

настроек девайса• Формат даты/времени в зависимости от

региональных настроек • Меры веса/объема/температуры в зависимости от

региональных настроек

Привязка к локальным настройкам

Page 12: Introduction to Mobile applications testing

Упор на визуальную составляющую

• Размеры кнопок в зависимости от локали• Шрифты• Размытые картинки• Ресурсы соответствующие разрешению экрана• Анимации

Page 13: Introduction to Mobile applications testing

Начало процесса

• Работа с требованиями, прототипами,

первоначальным дизайном (mock-ups) - основной

смысл - понять flow приложения• Ознакомление с API документацией• Написание API тестов• Создание mind maps по приложению

Page 14: Introduction to Mobile applications testing

Типы тестирования

• Manual• Automated ui:

o Calabasho Franko Robotiumo UI Automationo Appium

• Automated api: o Soapui o Loadui

Page 15: Introduction to Mobile applications testing

База для тестирования

• Use cases которые относятся непосредственно к тестируемому приложению 30% - 50%

• Specifications общие для системы - iOS/Android 10% - 20%• Common cases - use cases которые общие для определенного

типа приложений, в том числе и для отдельных компонентов приложения в определенной системе (списки, scrollview, alerts, etc.) 5% - 15%

• Testing patterns - граничные значения, выборки, etc 5% - 10%• Чуйка ;) 20% - ∞

Page 16: Introduction to Mobile applications testing

iOS testing mind map

Page 17: Introduction to Mobile applications testing

Android

• Проверять на разных девайсах:o разный размер экранов > отображение контентаo разная плотность экранов (pixel density) > отображение графических

элементов (внешний вид иконок, кнопок, текста, etc.)• Проверять на разных прошивках:

o Проигрывание медиа файлов;o Action bar;o Кастомные анимации;o Web view.

• Проверка на работу приложения во время звонка:o Если в приложении есть сервисы, которые работают в фоне со звуком

(воспроизведение музыки в фоне) > надо проверять, как приложение себя ведет при поступлении звонка на девайс;

o Если в приложении нет сервисов, которые работают в фоне со звуком > можно ограничиться проверкой перевода аппа в background.

Page 18: Introduction to Mobile applications testing

Тулзы которые помогают при тестировании мобильных приложений

• 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

Page 19: Introduction to Mobile applications testing

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

Page 20: Introduction to Mobile applications testing

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/

Page 21: Introduction to Mobile applications testing

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

Page 22: Introduction to Mobile applications testing

Location• iOS Sim• Fake GPS location (Android)

https://play.google.com/store/apps/details?id=com.lexa.fakegps&hl=en

• Eclipse

Page 23: Introduction to Mobile applications testing

Other

• iPhone Configuration Utility http://support.apple.com/downloads/#iphone configuration utility

• XMind http://www.xmind.net

• Crashlytics http://try.crashlytics.com

Page 24: Introduction to Mobile applications testing
Page 25: Introduction to Mobile applications testing
Page 26: Introduction to Mobile applications testing

Tips and Tricks

• Апдейт приложения - сохранять данные (мигрирование БД)

• Пользовательские данные и iCloud• Crashlytics и смена бандла• Crashlytics и дебаг• Crashlytics и Hockeyapp• Флури• NSLog и время на обработку крэша• Пересоздание активности в android при смене

ориентации• Кэширование• Auth token• Обработка серверных ошибок• Server error vs. no connection

Page 27: Introduction to Mobile applications testing

[email protected]

navisnobilite