СОДЕРЖАНИЕ
Глава 1 Теоретические основы разработки мобильных приложений
1.1 Этапы разработки мобильных приложений
1.2 Особенности тестирования мобильных приложений в целом
1.3 Проблемы, с которыми сталкивается тестировщик мобильного приложения
Глава 2 Тестирование мобильного приложения с помощью различных программ
2.1 Тестирование с помощью Monkey
2.2 Тестирование с помощью getevent и sendevent
2.3 Тестирование с помощью Robotium
2.4 Особенности альфа/бета тестирования в консоли разработчика Google Play
iPhone
Windows Phone 7-8
Приложение должно соответствовать всем категориям app certification requirements.
Перечень моментов, которые должны быть протестированы
Размер экрана и touch-интерфейс:
Ресурсы устройства:
Различные разрешения экрана и версии ОС:
Реакция приложения на внешние прерывания
Платный контент внутри приложения:
Интернационализация (проверять и в портретном, и в ландшафтном режиме!):
Постоянная обратная связь с пользователем:
Обновления:
Аттестационное тестирование.
Различные версии ОС могут использовать отличные соглашения и правила (интерпретация жестов, правила навигации). Следует учитывать это при поддержке приложением нескольких версий ОС.
Первый и самый важный момент заключается в том, что тестирование мобильных телефонов займёт больше времени, чем вы предполагаете, даже если вы и так допускаете, что оно займёт больше времени.
Мобильные устройства работают от аккумуляторов, и потому вынуждены автоматически переходить в режим ожидания спустя пару минут бездействия. Это значит, что вам придётся включать телефон перед каждым тестированием, что при одновременном тестировании нескольких телефонов, занимает приличное количество времени. Конечно, на многих устройствах можно отключить автоматическую блокировку (или хотя бы сделать время отключения довольно большим), но желательно всё же работать с самыми распространёнными среди пользователей настройками ОС[5].
Переход в режим ожидания особенно неприятен при использовании некоторых автоматизированных систем тестирования, требующих время для обработки данных (например, снятие и сравнение скриншотов). Возможно, что телефон перейдёт в режим ожидания прямо посреди теста.
Затем появляется проблема собственно набора определённого текста (например, адреса тестируемой страницы). Придётся аккуратно вводить длинные тексты в несколько устройств с разными интерфейсами.
Для тестирования в условиях входящих звонков, смс, вам придётся переставлять SIM-карту из одного устройства в другое, для этого зачастую надо вынимать аккумулятор. Особенно остро эта проблема стоит при тестировании особенностей и услуг мобильных операторов на нестандартных и дорогих тарифах. Кроме того, вставив SIM-карту, придётся подождать, пока телефон не включился.
Часто приходится передавать тестируемые виджеты по Bluetooth, что так же довольно утомительно в условиях разнообразности интерфейсов.
Для тестирования GPS придётся вооружиться дополнительным инструментарием от энтузиастов и надеяться, что он работает достаточно похоже на реальные условия.
Для проверки слабого или отсутствующего Wi-Fi и 3G-сигнала обычно приходится либо сооружать лабораторию, либо использовать различные хитрости вроде коробочек из фольги.
Создание скриншотов и видео на мобильных устройствах так же зачастую нетривиальная работа, особенно если тестируется телефон, отключенный от компьютера по условиям теста или по каким-то иным причинам. Например, встроенная возможность снятия скриншота экрана на Android-устройствах появилась сравнительно недавно – с четвёртой версии. А про бесплатный способ снимать видеопоток с экрана Apple-устройства без jailbreak вообще мало кто может сказать что-то вразумительное.
Обычно все тесты производятся на одном устройстве, затем на другом и т. д. Это не так оптимально, как тестирование на всех устройствах одновременно, поскольку не даёт возможности просто сравнить вывод и выполнение тестов на устройствах, однако, ввиду вышеописанных трудностей, это наиболее экономичный по времени способ.
Если Вам понравилась наша статья – расскажите о ней друзьям. Также Вы можете почитать наш обзоринструментов для тестирования мобильных приложений.
При разработке программного обеспечения работа считается законченной, когда завершенный программный продукт попадает к тем, для кого он был предназначен. В случае мобильного программного обеспечения это означает развертывание созданного вами приложения на пользовательских устройствах. Окончательным мерилом качества продукта является полезность приложения и то удовольствие, которое работа с ним доставляет пользователям. Чтобы эти цели были достигнуты, мобильное приложение должно попасть на реальные целевые устройства, а это означает, что его необходимо предварительно упаковать, а затем развернуть на мобильных устройствах каждого пользователя.
Хотя операции упаковки и развертывания приложений не имеют прямого отношения к "написанию мобильного кода", они играют очень важную роль, и данная вводная лекция "Развертывание мобильного приложения" представляет собой обзор предстоящей лекции на соответствующую тему.
Поскольку детали упаковки и развертывания приложений определяются спецификой используемых типов устройств и программных технологий, приводится лишь краткий обзор вопросов, имеющих отношение к данной теме. Отдельные шаги процедуры упаковки различны для различных технологий: J2ME/J2SE, .NET Compact Framework и ряд технологий, основанных на использовании собственных кодов, требуют для упаковки и развертывания приложений выполнения разных последовательностей шагов. Для разных типов устройств, например, PDA, смартфонов или каких-либо специализированных устройств, предусмотрены различные процедуры инсталляции программного обеспечения, отличающиеся своими деталями. Выдавая своим пользователям телефоны, операторы сетей мобильной связи часто предлагают программное обеспечение, предусмотренное для динамической загрузки на эти устройства; у этих операторов имеются собственные стратегии установки и инициализации программного обеспечения. Комплекты документации, соответствующие различным технологиям устройств и операторам сетей мобильной связи, часто можно загрузить из Web.
Чтобы развертывание мобильного приложения прошло успешно, вы должны дать ответы на следующие вопросы:
С ростом числа мобильных платформ разработка стандартизированных межплатформенных приложений становится все более привлекательным направлением. HTML5[6] предлагает новые возможности, позволяющие создавать полноценные приложения для мобильных устройств с поддержкой работы в автономном режиме. Узнайте, как создавать Web-приложения с поддержкой автономной работы, используя инструменты Open Source и приемы, знакомые каждому Web-разработчику.
HTML5 – это общий термин для целого ряда развивающихся Web-технологий, включая стандартизированные технологии работы с насыщенным мультимедийным контентом и интерактивность. HTML5 также может служить основой для разработки приложений, обеспечивающих надежную работу в автономном режиме. Для опытных Web-разработчиков использование HTML5 является более привлекательным по сравнению с изучением новых транслируемых языков, таких как Objective-C или Java™, однако для разработки HTML5-приложений также необходимо иметь определенный уровень знаний. Из этой статьи вы узнаете, как реализовать в вашем приложении работу с онлайновым содержимым и в то же время предоставить возможность работы пользователям, не подключенным к сети.
Предположим, что тестируемое устройство попало в лапы крайне любопытной и деятельной обезьяны: программа Monkey имитирует именно такую ситуацию. Программа Monkey, входящая в состав Android SDK, отправляет поток случайных действий пользователя. В командной строке можно указать количество действий пользователя, долю действий каждого типа и имя пакета (чтобы программа Monkey не вышла за пределы тестируемого приложения и не начала, к примеру, рассылать SMS-сообщения всем контактам из адресной книги).