пятница, 28 декабря 2012 г.

Предновогодняя подборка ссылок по мобильной тематике

Последняя в этом году подборка - желаю вам новогоднего настроения :) 



Уголок тестировщика:

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

2. Презентация Натальи Савастюк "Тестирование iOS приложений. С чего начать?"
В целом очень приятная презентация - самое то для начинающих. Рекомендую обратить внимание на слайды 26, 31 - полезные ссылки; 33-43 примеры багов. Единственно что, достаточно устаревшая ссылка про автоматизацию приложения с Хабра.

3. Тестирование приложений, отправляющих SMS. Перевод статьи Карен Джонсон от QATesting.ru

4. Fiddler: Как открыть локальный сайт на мобильном устройстве

Разное:

1. Экспериментальная архитектура GPS-трекеров позволяет снизить энергопотребление на три порядка.

2. Автоматизируем свой смартфон для сохранения времени и заряда. В обзоре упустили Tasker и one{X}.

3. Google назвал приложения года для Android.

4. 12 наиболее красивых приложений под iOS. Шикарно выглядят, теперь Вам есть откуда черпать идеи ;)

5. Android в цифрах.

7. 10 предсказаний по Mobile на 2013 от CNews.

8. Прожектор прошедших событий №1. Среди прочих есть и ссылки на мобильные ивенты.

9. The Google of the app search era just might be google. Очень интересное и дельное размышление.

10. Mobile health in 2013: from the gym to the doctor’s office. Заметил начало тренда еще в 2010 - за год было аж два приложения, связанные с healthcare.

11. ROM Manager для Android обновился.  Теперь бекапами Вашей прошивки можно делиться свободнее. Не нужно печься о иерархии директорий и тп

12. Рождественский ролик от Android.

13. iOS 6.1 еще более защищена от Jailbreak. Учитывая что отвязанного Jailbreak еще нет для iOS6 - вообще печаль :(

14. Статьи по освоению купленного смартфона on Lifehacker:
15. 12 лучших приложений для Вашей таблетки на Android. Учитывая тренд дарения таблеток на новогодние праздники - вдвойне актуально :)

понедельник, 24 декабря 2012 г.

Подборка ссылок по мобильной тематике №5


Ссылки по тестерской тематике:

1. From One Expert to Another: Paul Poutanen on Mobile Testing SMS.

2. Cборник документов по тестированию мобильных приложений от AQuA. Ресурс ранее был известен под именем UTC (unified testing criteria). Упор делается на Android-приложения, т.к. UTC начинался с разработки критериев тестирования Java-приложений.
3. Автоматизация тестирования мобильных приложений — необходимость или прихоть. Автор рассказывает об автоматизации Android-приложений.

Уголок девелопера:

1. Google добавляет локализируемую графику в PlayStore. Теперь продвигать свое приложение в разных странах теоретически будет удобнее :)

2. YouTube выпустил API для Android. Позволяет бесшовно интегрировать видео из YouTube в приложения.

3. Android: Написание многопоточных приложений с помощью Intel® Threading Building Blocks.

4. О том, как выпустить отличное iOS приложение, которое никому не нужно.

Новости/предсказания/обзоры:

1. Блог продуктивного человека. Помимо лайфаков и советов по продуктивности делает хорошие объективные обзоры приложений.

2. Приложения победили браузер.

3. Большинство мобильных телефонов в Америке - сматфоны. В первом квартале доля смартфонов была 49%, в третьем - 56%

4. Motorola работает над Nexus-девайсами: Phone X и Tablet X

5. Что ожидать от Apple в 2013 году -  предсказание от GigaOM

6. LG расширит ассортимент своих GoogleTV. Ябпотестил :)

7. Оченедной стартап, пытающийся интегрировать сматфоны в "умный дом". Сколько их уже было. Надеюсь, хоть этот выстрелит...

8. Двадцатка лучших приложений для iOS, Android по версии TechCrunch.


четверг, 20 декабря 2012 г.

Подборка ссылок по мобильной тематике №4


1. Отличных гайд по тестированию мобильных приложений. Поможет как начинающим тестировщикам для генерации идей, так и опытным - вспомнить об областях, которые забыли проверить :) 

2. Построение мобильной тест-лаборатории:
3. Классная идея временного телефонного номера для телефона. А-ля oneminute mail/guerilla mail для электронной почты.

4. Are Mobile Apps Destroying Software Quality? В принципе, здраво, но если приложение направлено на зарабатывание денег, то как минимум оценки в магазине приложений будут свидетельствовать о его качестве. Да и пользователи могут аргументированно сказать свое "фе".

5. Советы по дизайну Andoid-приложений. Помогает сказать аргументированное 'атата' девелоперам и дизайнерам. К счастью Android-приложения перестают быть унылой калькой ранее выпущенного iOS-приложения :)

среда, 12 декабря 2012 г.

Подборка полезных/интересных ссылок по мобильной тематике №2

1. Тестирование мобильных приложений с помощью мнемоники I SLICED UP FUN. Хорошо структурирует в голове список того, что надо протестировать.

2. Kickfolio позволяет тестировать iOS приложения прямо в браузере, в том числе в браузере вашего android :). Скорость оставляет желать лучшего (примерно как у DeviceAnywhere, но тут идея другая и они явно не конкуренты), но все же лучше чем ничего.

5. Новая версия библиотеки для in-app purchasing, облегчающая жизнь разработчиков android-приложений

6. Теперь и в России можно покупать книги и фильмы в PlayStore (кстати, в iTunes Store тоже с прошлой недели :) ). Уже проверил - взял напрокат фильм :)

7. Gold релиз SDK для BlackBerry OS 10

8. Новый девайс от Yota будет с двумя дисплеями. Интересно будет "пощупать". UPD: и на русском

9. Надеюсь с этих процессоров Intel начнется новая эра Android'ов "не-для-испытания-на-пользователях-за-деньги" как было с Orange San Diego, Motorola RAZR i.

воскресенье, 9 декабря 2012 г.

Подборка полезных ссылок по мобильной тематике №1

Уф, что-то я давно ничего не писал. Постараюсь сделать публикацию интересных ссылок по мобильной тематике регулярной. Интересно Ваше мнение - стоит ли делать мини обзор как в этом посте, или просто делать пост с интересными ссылками и описанием в одно предложение (как делает, например, Дмитрий Жарий)?

1. Keynote Джонатана Коула на STARWEST 2012
Отличный keynote - живо, с экспрессией. Очень классно раскладывает по полочкам текущую ситуацию. Прямо, как говорится "из головы достает" :)

Благодарен ему за акцент на тестировании юзабилити приложения. Благо рынок взрослеет и приложения "задизайненые профессиональными разработчиками" потихоньку уходят с рынка:
  • на iOS таких приложений и не было сильно много 
  • Android-приложения перестают быть глупой калькой с iOS версий, особенно после обновления гайдлайнов
На данный момент есть достаточно много хороших инструментов для прототипирования: Prototyper, FluidUI, Pencil, Proto.io, BalsamiqMockups

Отлично, что он акцентирует внимание на тестировании приложения при разных типах интернет-соединения:
  • 2G>3G>4G и наоборот
  • Wi-Fi>Cellular и наоборот
  • разные сценарии потери и восстановления связи
  • при меняющемся уровне приема
Единственно, что он не упомянул - симуляция запароленной или неисправной точки доступа - выдергиваете патчкорд из WAN-порта: сигнал есть, а данные "не ходят" :)
Очень часто встречаюсь с приложениями, которые достаточно неадекватно реагируют на такие трюки с соединением. Особенно девайсы от Apple, да простит аллах их разработчиков драйверов и железа для Wi-Fi :)

Примеры с GPS, датчиками температуры и заряда батареи очень показательны - сам сталкивался с подобными случаями. Теперь эти кейсы основательно закрепились в моему чек-листе.

Но не могу сказать что согласен со всем, о чем он говорит - все-таки возможные "гейзенбаги", появляющиеся при странных обстоятельствах скорее являются следствием не очень хорошо написанного приложения. Возможно, я его неправильно трактую, но все же...
Пример 1: возможный баг в приложении на платформе Android: при принятии или отклонении звонка с одним из скринов приложения случается что-то не то. Например, вернувшись в приложение Вы увидите, что оно упало или находится не в том состоянии. Такой баг можно найти и другим способом - залочить экран, дать уйти телефону в deep sleep (когда понижается частота процессора и тп) и разлочить экран. Оба проявления бага вызваны неправильной реализацией жизненного цикла activity.
Пример 2: iOS приложение может упасть если долго и нудно переходить между двумя-тремя скринами. Может быть вызвано неправильной работе с памятью:
  • утекает до определенного порога и приложение "падает",
  • иные причины при работе с памятью: указатель на очищенную память, segfault, etc
Все, больше не буду вам портить удовольствие от просмотра данного видео :)

Black-box is dead (c)

2. Семь смертных грехов мобильных приложений 
Отрывок из книжки Коула про тестирование мобильных приложений. Как дочитаю - напишу рецензию :) У него вообще много классных материалов - рекомендую.

3. Классная инфографика про планшеты :)
Товарищи с NevoSoft его перевели, но мне нравится ComicSans да и очепятки есть :)

воскресенье, 30 сентября 2012 г.

Комментарии о построении и организации мобильной тест-лаборатории

Давеча набрел на цикл статей Jonathan Kohl о построении мобильной тест-лаборатории. Не могу сказать, что я строил мобильную тест-лабу с нуля - всегда что-то было сделано до меня, но на всех местах работы имел возможность поучаствовать в ее развитии.

Прокомментирую некоторые пункты из статей исходя из моего опыта. Надеюсь, Вам мои комментарии окажутся полезными. Как обычно - критика, пожелня, рекомендации - очень приветствуются. Обмен опытом - это всего очень круто!

Жирным будут выделены подзаголовки из частей статьи Кола.

The Room/Storage

В данный момент комната у нас достаточно стандартная. Девайсы хранятся в специальном сторадже для мобильных девайсов, закрывающемся на ключ. Позволяет убить двух зайцев - держать под замком + имеет встроенные USB-порты для зарядки устройств.
вот такое чудо техники мы используем :)
Все девайсы:
  • названы по стандарту с учетом модели, цвета, размера встроенной памяти
  • промаркированы стикерами, которые мы печатаем на label-принтере
  • для них включены Find My iPhone и Android Device Manager для удобства нахождения в офисе

Учет девайсов (какие, сколько, для какой команы) ведем в JIRA Wiki странице. Девайсы выдаем под расписку на стикере-самоклейке которая хранится в коробке с девайсами :)

Для автоматизации мы приспособили специальную нишу в стене - где девайсы закреплеты на магниты и подключены шнурками, чтобы не разряжались.

Network

Wi-fi

В данный момент в наличии одна тестовая точка доступа и несколько публичных точек доступа.

В дополнение к тестовой точке доступа, я могу создавать точку доступа через рабочий Mac-mini (чтобы симулировать шейпинг трафика и переход Wi-Fi => Wi-Fi, 3G>Wi-Fi, Wi-Fi>3G). Но об этом немного позже.

Data-connection

Тут все велосипед изобрести достаточно сложно - наборы SIM-карточек с разными тарифными планами от разных операторов. Половина всех симок - mini-SIM с переходниками под полноразмерные SIM карты, чтобы можно было использовать как на iOS-девайсах, так и на других устройствах.

Simulate Dead Spots

В лифт практически не бегаю, т.к. есть намного более простые способы симулировать плохое соединения и "мертвые точки":

1. Кастомные прошивки на роутер, позволяющие шейпить скорость wi-fi. Мне нравится связка Linksys WRT54G v2 + прошивка Tomato:
  • роутер стоит копейки - примерно €30-35
  • хорошие кастомные прошивки (DD-WRT и основанная на нём Tomato)
  • достаточно быстро перезагружается и восстанавливает wi-fi соединение после вытаскивания кабеля из WAN-порта
2. Создание Wi-Fi AP на Mac + Network Link Conditioner. Позволяет настраивать скорость соединения и процент потери пакетов пакетов. Очень много стандартных профилей. Из минусов - Apple уже почти год фиксит баг, не позвояляющий шейпить трафик через созданную точку доступа, так что приходится использовать только на симуляторах/эмуляторах.

3. Сторонние тулы, вроде WANEm, Dummynet (скорее всего, потребуется помощь системного администратора) и различных прокси. Мне нравится CharlesProxy - позволяет использовать throttling траффика как на прием, так и на отдачи помимо проксирования и rewrite.

4. Во многих симуляторах/эмуляторах уже есть средства для управления скоростью/качеством соединения: например, в Android и Blackberry. Network link conditioner уже встроен в iOS начиная с 6 версии

Power Station

Зарядной станцией у нас служат хранилища для девайсов, а также несколько USB-зарядок с внешним питанием, которые можно взять себе.
Такие используем для iOS: 1, 2
Такие (с QuickCharge 2.0 для поддерживающих девайсов) для Android

Я обычно обложен устройствами для тестирования :) Это всегда полезно, чтобы разработчики подходили к тебе за ними: узнать о состоянии проекта, показать им мелкую багу, узнать о новой "фишке".

Немного оффтопика
О разрядке устройств. Быстрая разрядка и контроль уровня разряда требуется:
  • мониторинга потребления батареи приложением
  • работа приложения, когда OS включает режим экономии энергии

1. На Android и c этим все очень удобно - существует много приложений для быстрой разрядки устройства до определенного уровня/контроля энергопотребление устройства.

2. Blackberry
  • Общедоступных и работающих приложения для разряда батареи я не нашел. Поэтому Wi-Fi + Bluetooth + максимальный уровень яркости Вам в помощь :)  
  • MeterBerry, Battery Alerts для мониторинга батареи

3. iOS. В правилах AppStore есть пункт, запрещающий приложения, провоцирующие быструю разрядку и нагрев устройства. Поэтому, выходом видятся такие ситуации:
  • Jailbreak + установка соответствующих приложений из Cydia
  • Wi-Fi + Bluetooth + максимальный уровень яркости Вам в помощь. К этому можно  добавить Facebook или просмотр видео, не поддерживающее аппаратное декодирование в VLC :)
Есть хардварные решения, но в процессе поисков выяснилось:
  • надо либо заказывать за тридевять земель
  • специальные устройства для медицинских целей 
  • либо стоят непомерно дорого.
Если вы знаете где достать чудо техники по сходной цене - буду ОЧЕНЬ признателен!


Lab PCs

В данный момент работаю на Mac, на котором стоят две операционные системы: MacOS и Windows через Parallels. Основная работа делается на Mac, т.к. в нем можно запускать и тестировать как iOS, так и Android приложений. В Windows делаются специфические задачи, которые сложно/невозможно сделать на Mac (некоторые тулы для разработки и тестирования есть только под Window, симуляторов Blackberry нет на Mac, etc), также на виртуалке компилирую Windows Phone приложения.

Также, имеется билд-сервера, на которых крутится TeamCity:
  • 10 достаточно мощных Mac-mini, на которых мы компилируем iOS/Android приложения и гоняем авто-тесты
  • Несколько виртуалок для прогона автотестов для Mobile Web/WAP приложений
  • Несколько виртуалок для компиляции и прогонов авто-тестов для Windows Phone приложений
Для iOS/Android уже закупили топовый MacPro со 128Gb оперативки и будем потихоньку переходить на виртуальные машины, которые легче администрировать: клонировать, перезапускать, очищать и тп.

Для сборка, анализа статистики: запросы, ошибки, краши, отзывы, daily active users у нас есть несколько телевизоров, которые отображают всю релевантную информацию.

Purchasing Devices

Не буду сильно растекаться мыслью по древу. О выборе девайсов я написал статью, которую поддерживаю в актуально состоянии. Скажу лишь, что с покупкой девайсов нам везёт - если сильно не наглеть, то привезут все необходимое. В данный момент у нас около сотни девайсов: iOS, Android, Windows Phone и несколько feature phone, которые можно использовать для тестировании нашего WAP сайта.

Ну вот, собственно, говоря и все. Буду рад Вашим комментариям :) Также, очень интересна организация мобильной тест-лабы у Вас!