пятница, 21 июня 2013 г.

ТЕСТ ИТ: немного о тестировании мобильных приложений

Всем привет!

Сегодня снова пятница и с вами снова я - ваш-сменный-редактор-по-пятницам - Зинченко Татьяна. Сегодня мы поговорим о тестировании мобильных приложений. Нам на почту sprosi.testera@gmail.com вопросы о таком тестировании приходят регулярно. Мы решили их объединить. Но объединить не просто, а в виде вопросов "мобильному гуру" - Александру Хозе.

Саша - автор блога "Записки мобильного гика", выступатор на многих конференциях, а еще ведущий курса по тестированию мобильных приложений и даже организатор онлайн-конференции по их тестированию (в рамках серии онлайн-конференций ConfeT&QA).

Итак, мы пошли к Саше и задали ему несколько вопросов, а он нам на них ответил :) Что из этого получилось читайте ниже :)


TEST IT: Расскажи о себе. Как ты пришел в тестирование?

Ручки чесались с детства - любил разобрать и поломать :) Да и в кино со мной ходить - еще то удовольствие - все удовольствие стебом над ляпами порчу. В тестирование пришел около трех лет назад после продажи компьютерного “железа” и “эникейства”. В тестирование пригласила хорошая знакомая после шуточного разговора о тестировании и моих кривых ручках. Начитался Тамре, Савина, блогов гуру тестирования - и в бой! :) Благо, начать в мобайле - легче всего по моему мнению. Тяжелее становится дальше, так как “мобильный тестировщик” должен совмещать в себе достаточно много качеств и обязанностей, например:

    - функциональное тестирование: необходимо уметь как копать глубоко (тестирование в обычном режиме), так и “Паретить” - за 20% времени находить 80% багов :)
    - юзабилити и дизайн - особенно при анализе конкурентов и помощи в формировании прототипа. Благо, можно создавать даже прокликиваемые прототипы и заливать на само устройство;
    - базовое security + “расковыривание” приложения.


TEST IT: А как ты начал заниматься тестированием мобильных приложений? С чего все началось? :)

Вот как раз на первой работе и сразу окунулся в мир мобайла. Благо чувствовал себя в нем достаточно уверенно - обожаю смартфоны и часто помогал знакомым с выбором. Первая неделя - так вообще нирвана: куча классных гаджетов и интересных приложений. Приложений было много и разных: от банковских до приложений для качков; от рекламных площадок до путеводителей по Ибице; от гороскопопостроителей до систем напоминания рассеянным бизнесменам. За что люблю мобайл, так это за скорость набора знаний и опыта - год за три, не менее :) Все время работаешь в цейтноте, надо обрабатывать кучу информации и придумывать нестандартные юз-кейсы. Плюс, как известно, в стрессовой ситуации растешь быстрее.

TEST IT: Какую литературу о тестировании мобильных приложений можно почитать новичку?” Что бы ты порекомендовал?

К сожалению, именно классных книг мало - информацию приходится собирать по крупицам. На ум приходит:

    - Tap into Testing Mobile Applications: Keynote at STARWEST 2012 - расставляет все по полочкам и вдохновляет :)
    - A Field Guide To Mobile App Testing
    - Jonathan Kohl “Tap Into Mobile Application Testing” - отличная книга. К сожалению, пока только бета - конечная версия ожидается летом. Комьюнити помогало вычитывать и дополнять ее, в том числе и Ваш скромный слуга :)
    - Статьи Jonathan Kohl Test Mobile Apps with I SLICED UP, The Seven Deadly Sins of Mobile Apps
   - Материалы App Quality Alliance (AQuA) - отличный гайд по тестированию Android-приложений. Хорошо экстраполируется и на другие платформы.

И, конечно же, окунуться в мир Rapid Testing, Exploratory Testing и мнемоник тестирования. Вам они очень понадобятся в условиях постоянной нехватки времени!


TEST IT: Тестирование мобильных приложений довольно динамично развивается. Что еще - кроме книжек - можно почитать/посмотреть тестировщику, занятому в нем?

К моему удивлению на просторах СНГ информации и практических рекомендаций по тестирования мобильных приложений достаточно мало.  Я и Андрей Дзыня будем рады донести светоч знаний и опыта в нашем тренинге :)

Почему мобильные приложения тестируются по другому? Топ 10 причин.

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


TEST IT:  Какие инструменты можно использовать для нагрузочного или стресс тестирования мобильных приложений?

Что касается именно стресс и нагрузки самих приложений, то тут Вам в помощь “обезьянки”

    - UI Excersiser monkey для Android. Очень мощный инструмент с кучей настроек - особенно мне импонирует автоматическое сохранение снимка памяти для анализа утечек. Иногда бывает чересчур умным - пару раз перезагружал телефон или отключал телефон от debug-режима :)
    - AntEater для iOS. Не такой мощный инструмент из-за того, что разработан сторонней компанией и ограничениями, которые накладывать операционная система. Тем не менее, позволяет генерировать красивые отчеты и прикреплять стек-трейсы, краш-логи и скриншоты в отчет. Версия устарела и заточена под xCode 4.2 Поэтому, я ее подправил - убрал хардкод и обновил iphonesim, чтобы можно было работать с iOS6.1 включительно. Постоянно пинаю девелоперов, чтобы выложили в open-source, но пока только кормят обещаниями.

Что касается нагрузки всего сервиса в целом - особых отличий от нагрузки веб-приложений нет. Можно даже трафик записывать. Подробнее: здесь и здесь


TEST IT: Есть ли различия в тестировании мобильных приложений на разных платформах?

В принципе, подходы достаточно стандартны. Я бы не назвал это различиями, скорее - нюансами. Для Android и Blackberry - необходимо принимать во внимание фрагментацию платформ, в то время как на iOS - это не такая острая проблема. Для WinPhone - вообще песня, очень редко встречаются девайсозависимые баги, так что можно значительную часть времени тестировать в эмуляторе.

Еще на ум приходит:

    - тестирование именно “релизных” сборок iOS приложений, т.к. для “дебажных” сборок компилятор не выполняет таких жестких оптимизаций по скорости/объему бинарного файла
    - стратегию тестирования на устройствах необходимо выстраивать по разному, т.к. выбор устройств является краеугольным камнем оной.


Для формирования “картинки”:

   -  Mind map по тестированию Android-приложений
   -  Mind map по тестированию iOS-приложений
   - Материалы по тестированию iOS и Android приложений от uTest


TEST IT: Насколько эффективны эмуляторы мобильных устройств? Можно ли при их использовании полностью отказаться от тестирования на реальных устройствах.

Эмуляторы отлично дополняют мобильные устройства:

   - Загрузка путей GPS
   -  Более удобная работа с памятью: симуляция memory-warning, ограничение памяти на устройство/процесс
    - Тестирование разметки и анимации
    - Шейпинг, перехват и модификация трафика намного проще и быстрее

Но полностью заменить не в состоянии, т.к. добиться 100% эмуляции/симуляции реального устройства невозможно.

TEST IT: И напоследок - что бы ты посоветовал новичкам в этом виде тестирования?

1. Не опускать руки, хотя иногда - очень хочется, особенно в конце предрелизного спурта.
2. Побольше организаторских способностей для выстраивания правильного процесса! Воспитывать программистов-мобильщиков еще то удовольствие :)
3. Делитесь навыками и информацией для популяризации направления.


Саша, еще раз тебе огромное тестерское спасибо!

А мы по прежнему принимаем ваши письма, истории, вопросы по адресу: sprosi.testera@gmail.com. Пишите и, возможно, именно на ваше письмо мы ответим в следующем выпуске рубрики :)

Спасибо, что вы с нами,
команда TEST IT



2 комментария:

  1. Хороший материал. Приятно, что упомянули статью с нашего сайта - не зря значит делали перевод :)

    ОтветитьУдалить