59
Швейцарский нож Швейцарский нож для Android для Android http://www.flickr.com/photos/31607658@N00/4527169403/

Швейцарский нож для Android

Embed Size (px)

DESCRIPTION

Швейцарский нож для Android, Сергей Высоцкий При тестировании мобильных приложений порой возникают проблемы, адекватный разбор которых возможен только непосредственно на устройстве. Увы поставщики смартфонов и софта для написания мобильного ПО не предоставляют практически никаких средств для подобной работы. Сергей расскажет, как при помощи python’а и небольшой сноровки получить маленький централизованный аналитический центр, к которому можно подключить на лету практически любое устройство. А также какие проблемы встречаются при попытках измерить производительность на мобильных устройствах (и через мобильную сеть) и как их проще искать. Это меньше ста строчек кода и море удовольствия.

Citation preview

Page 1: Швейцарский нож для Android

Швейцарский нож Швейцарский нож для Androidдля Android

http://www.flickr.com/photos/31607658@N00/4527169403/

Page 2: Швейцарский нож для Android

Привет, я — Сергей ВысоцкийПривет, я — Сергей Высоцкий

@GoblinGame@GoblinGame

Page 3: Швейцарский нож для Android

Я тестировщик в 2GIS

Page 4: Швейцарский нож для Android

Сегодня я расскажу

- Тяготы работы с телефоном- Средства выживания- Как ими пользоваться

Page 5: Швейцарский нож для Android

http://www.flickr.com/photos/21273826@N04/6987448952/

- Тяготы работы с телефоном- Тяготы работы с телефоном- Средства выживания- Средства выживания- Как ими пользоваться- Как ими пользоваться

Page 6: Швейцарский нож для Android

''Плохой'' интернет

Page 7: Швейцарский нож для Android

http://www.flickr.com/photos/29609591@N08/6973208137/sizes/l/

ПогодаПогода

Page 8: Швейцарский нож для Android

http://www.flickr.com/photos/counterxattack/2827812861/sizes/l/

ЛюдностьЛюдность

Page 9: Швейцарский нож для Android

http://www.flickr.com/photos/thomashawk/3986602351/sizes/l/

ЗастройкаЗастройка

Page 10: Швейцарский нож для Android

Слабое ''железо''

Page 11: Швейцарский нож для Android

Разнообразие ''железа'' и софтаРазнообразие ''железа'' и софта

http://www.flickr.com/photos/31607658@N00/4527169403/

Page 12: Швейцарский нож для Android

http://www.flickr.com/photos/29112900@N08/7471078116/sizes/l/

Производитель заботится о васПроизводитель заботится о вас

Page 13: Швейцарский нож для Android

http://www.flickr.com/photos/yeoaaron/5840577237/sizes/l/

Для тестирования нужно большеДля тестирования нужно больше

Page 14: Швейцарский нож для Android

ПроизводительностьСервер? OTA? Телефон? Рендеринг или прием?

Page 15: Швейцарский нож для Android

Проблемы сетиХарактер проблем? Как скажутся на работе

приложения? Как уменьшить потери?

Page 16: Швейцарский нож для Android

Состояние устройстваCell id, сигнал, время, железо и софт на

телефоне? Что шлет телефон

Page 17: Швейцарский нож для Android

Производительность

Проблемы сети

Состояние устройства

Page 18: Швейцарский нож для Android

http://www.flickr.com/photos/vermininc/3710163860/sizes/l/

- Тяготы работы с телефоном- Тяготы работы с телефоном- Средства выживания- Средства выживания- Как ими пользоваться- Как ими пользоваться

Page 19: Швейцарский нож для Android

tcpdump

Page 20: Швейцарский нож для Android

Технически невозможно сделать на большинстве

телефонов

Page 21: Швейцарский нож для Android

Разделяй и властвуйМожешь что-то не делать на телефоне — не

делай этого на телефоне

Page 22: Швейцарский нож для Android

Снять tcpdump можно......на шлюзе

...на рабочей машине...на хост системе эмулятора

...на Wi-Fi роутере

Page 23: Швейцарский нож для Android

Нужно проиграть скриптом!Что нам предлагает SDK?

Page 24: Швейцарский нож для Android

v Почти Linux Shellx Только через USBx Нужны драйвераx Почти Linux Shell

ADB Shell

Page 25: Швейцарский нож для Android

SL4Av Python, Perl, Lua и т. д.

v Локальный запуск и работа в фонеv Почти весь Android API

v Скриптинг OTA

Page 26: Швейцарский нож для Android

http://www.flickr.com/photos/seeminglee/910468505/sizes/l/

- Тяготы работы с телефоном- Тяготы работы с телефоном- Средства выживания- Средства выживания- Как ими пользоваться- Как ими пользоваться

Page 27: Швейцарский нож для Android

Скрипт с запросами

Телеметрия устройства

Простая установка

Page 28: Швейцарский нож для Android

Скрипт с запросами

Телеметрия устройства

Простая установка

Page 29: Швейцарский нож для Android
Page 30: Швейцарский нож для Android
Page 31: Швейцарский нож для Android
Page 32: Швейцарский нож для Android

Скрипт с запросами

Телеметрия устройства

Простая установка

Page 33: Швейцарский нож для Android

Это же Linux!

Page 34: Швейцарский нож для Android
Page 35: Швейцарский нож для Android

Android API

Page 36: Швейцарский нож для Android
Page 37: Швейцарский нож для Android

Собираем результаты

Page 38: Швейцарский нож для Android

Device ServerPOST

Page 39: Швейцарский нож для Android

Например NGINX

Page 40: Швейцарский нож для Android
Page 41: Швейцарский нож для Android

Как различать телефоны в логах?

Page 42: Швейцарский нож для Android

Каждому телефону свой User-Agent

Page 43: Швейцарский нож для Android

Скрипт с запросами

Телеметрия устройства

Простая установка

Page 44: Швейцарский нож для Android

http://www.flickr.com/photos/8816998@N02/5679378435/

NO WAY!NO WAY!

Page 45: Швейцарский нож для Android

Новый билд!Скачать с SMS бесплатно!

Page 46: Швейцарский нож для Android
Page 47: Швейцарский нож для Android

Или написать HTTP клиент на телефон и пустить его в фоне

Page 48: Швейцарский нож для Android

Device ServerGET

Page 49: Швейцарский нож для Android
Page 50: Швейцарский нож для Android

Или написать центр управления телефонами

Page 51: Швейцарский нож для Android

Device ServerGET

Добавить приложение сюда

Page 52: Швейцарский нож для Android

Можно запускать приложения

Page 53: Швейцарский нож для Android
Page 54: Швейцарский нож для Android
Page 55: Швейцарский нож для Android

http://www.flickr.com/photos/liquidmoonlightcom/7285438462/sizes/l/

tl;drtl;dr

Page 56: Швейцарский нож для Android

Для Android существуют скриптовые интерпритаторы

Page 57: Швейцарский нож для Android

Можно делать даже то, что вендор не разрешил

Page 58: Швейцарский нож для Android

Можно сделать свое мобильное ''облако''

Page 59: Швейцарский нож для Android

Спасибо за внимание!

@[email protected]