Главная » Разработка для Android » ТЕСТИРОВАНИЕ ANDROID-ПРИЛОЖЕНИЙ – ЧАСТЬ 2

0

•             Тестирование клиент/сервер — при тестировании приложений для мобильных телефонов, использующих сетевые возможности, зачастую предъявляются более строгие требования, чем при тестировании автономных приложений. Так происходит потому, что помимо функциональности «клиента», выполняющегося на мобильном телефоне, вы должны также проверить функциональность на стороне сервера.

•             Тестирование обновлений — телефоны Android часто получают обновления системы, что приводит к необходимости обновлять приложение. Когда это возможно, выполняйте тестирование обновлений приложения как на стороне клиента, так и на стороне сервера, чтобы убедиться, что обноааения не вызывают проблем у пользователей.

•             Тестирование интернационализации — этот тип тестирования позволяет на раннем этапе процесса разработки убедиться в поддержке интернационализации — главным образом, в языковой поддержке. Если приложение поддерживает несколько языков, скорее всего, вы столкнетесь с некоторыми проблемами, связанными с нехваткой свободного пространства на экране, а также с такими проблемами, как, например, форматирование дат.

•             Тестирование удобства пользования — этот тип тестирования позволяет выявить любые части приложения, которые недостаточно привлекательны, или вызывают затруднения в навигации или использовании. Данный тип тестирования позволяет убедиться, что модель потребления ресурсов приложением соответствует целевой аудитории. Например, для любителей игр может оказаться приемлемым более быстрый разряд батареи в игре с большим количеством графики, однако офисные приложения без необходимости не должны вызывать чрезмерное потребление энергии.

•             Нагрузочное тестирование — этот тип тестирования подразумевает использование инструментов отладки, входящих в состав инструментария Android SDK, для наблюдения за использованием памяти и системных ресурсов; кроме того, нагрузочное тестирование позволяет выявить «узкие» места в приложении, связанные с производительностью, а также обнаружить опасные утечки памяти и устранить их.

•             Аттестационное тестирование — этот тип тестирования используется для изучения необходимых стандартов, лицензионных соглашений и условий использования, которым должно соответствовать приложение, и для проверки соответствия приложения этим стандартам.

•             Случайное тестирование — приложение должно быть достаточно надежным, чтобы корректно реагировать на возникновение случайных и непредсказуемых событий. Мы все иногда забываем заблокировать наши телефоны, чтобы потом обнаружить, что на телефоне были нажаты случайные клавиши, запушены случайные приложения или сделаны ненужные звонки, хотя все это время телефон находился нашем кармане. Приложение должно элегантно реагировать на подобные типы со­бытий. Иначе говоря, приложение не должно завершаться аварийным сбоем. Вы можете использовать инструмент Exerciser Monkey, входящий в состав инструментария Android SDK, чтобы провести стресс-тест вашего приложения.

МАКСИМИЗАЦИЯ ТЕСТОВОГО ПОКРЫТИЙ

И хотя добиться 100%-ного тестового покрытая нереально, наша цель — максимально полно протестировать приложение. Для этого вам, вероятнее всего, потребуется выполнять тесты как на эмуляторе, так и на целевых мобильных телефонах, и, возможно, вы захотите рассмотреть возможность применения методов ручного и автоматизированного тестирования.

Настройка среды тестирования

Не думайте, что приложения для мобильных телефонов проще тестировать просто потому, что они «меньше» настольных приложений или имеют меньше возможностей. Тестирование приложений для мобильных телефонов ставит перед тестировщиками множество уникальных проблем, особенно в плане настройки конфигурации.

ОПРЕДЕЛЕНИЕ СПИСКА И ПОЛУЧЕНИЕ ЦЕЛЕВЫХ МОБИЛЬНЫХ ТЕЛЕФОНОВ

Чем раньше вы определите список целевых мобильных телефонов для вашего приложения и чем раньше получите их в свое распоряжение, тем лучше. В некоторых случаях для этого бывает достаточно пойти в магазин и приобрести новый телефон с новым тарифным планом; в других случаях все может оказаться гораздо сложнее.

ЗНАЕТЕ ЛИ ВЫ, ЧТО… __________________________________________________

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

Для опытных образцов мобильных телефонов могут пройти месяцы, прежде чем у вас в руках окажется необходимое устройство, полученное напрокат от производителя или от оператора в рамках программ поддержки разработчиков. Сотрудничество с операторами сотовой связи в рамках программ получение телефонов на прокат и покупка телефонов в розничных сетях может приводить в расстройство, однако в некоторых случаях без этого не обойтись. Вы не должны ждать до последней минуты, подбирая необходимые устройства для тестирования.

ВНИМАНИЕ! ___________________________________________________________

Нет никакой гарантии, что опытный образец мобильного телефона будет вести себя точно так же, как и серийная копия, которая со временем появится у потребителей. Зачастую ряд возможностей устройства в последнюю минуту «урезается», чтобы успеть подготовить устройства к назначенной дате выпуска.

ПРОБЛЕМА ФРАГМЕНТАЦИИ УСТРОЙСТВ

Одной из основных проблем, с которыми сталкиваются тестировщики приложений для мобильных телефонов, — это бурный рост количества новых устройств Android на рынке. Эта проблема, называемая фрагментацией мобильных телефонов, делает чрезвычайно сложной задачу отслеживания всех доступных устройств, на которых используются различные версии инструментария Android SDK и которые имеют экраны с различными размерами, различный функционал и аппаратное обеспечение (рис. 22.1).

Рис. 22.1. Фрагментация мобильных телефонов

ВЕДЕНИЕ БАЗЫ ДАННЫХ МОБИЛЬНЫХ ТЕЛЕФОНОВ

Использование базы данных отслеживания информации о мобильных телефонах, которая может применятся при разработке и тестировании приложений, а также в маркетинговых целях, – отличная идея. Подробная база данных может содержать информацию наподобие следующей:

•             информация о мобильных телефонах (модели, функционал, версию инструментария Android SDK, особенности аппаратного обеспечения, например, имеет ли мобильный телефон камеру или аппаратную клавиатуру);

•             какие мобильные телефоны есть в наличии (и где они находятся, если их приобрели или взяли напрокат, и т.д.);

•             какие мобильные телефоны являются целевыми для каждого приложения;

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

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

Команда тестировщиков может оказаться не в состоянии подготовить сред[4] тестирования для каждого оператора сотовой связи в каждой стране где пользователи будут использовать разрабатываемое приложение. Бывают ситуации, когда использование эмулятора Android позволяет со1фзтить накладные расходы и улучшить тестовое покрытие. Вот некоторые из преимуществ использования эмулятора:

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

• тестирование сложных или опасных сценариев, которые невозможно или не рекомендуется проверять на реальных мобильных телефонах (например, тесты, которые каким-либо образом мот вывести телефон из строя или нарушить условия соглашения с оператором сотовой связи)

ВНИМАНИЕ!

Эмулятор предоставляет полезную, но весьма ограниченную эмуляцию типового уст­ройства Android. Используя настройки AVD-конфигурзции, вы можете настроить эму­лятор таким образом, чтобы он как можно точнее представлял целевой мобильный телефон. Тем не менее эмулятор не может в точности воспроизвести ту же аппаратную — или программную — реализацию, которая будет присутствовать на реальном мобильном телефоне. Эмулятор просто имитирует реальное устройство. Чем большее число аппаратных возможностей используется в приложении (например осуществле­ние звонков, работа с сетью, использование LBS-сервисов, камеры и Bluetooth-соеди- нений), тем важнее протестировать приложение на реальном устройстве.

Тестирование на целевых мобильных телефонах

Вот мантра для тестирования приложений, разрабатываемых для мобильных телефонов, которую следует повторять регулярно: «Приступать к тестированию как можно раньше, тестировать постоянно, тестировать на реальном устройстве».

Литература: Дэрси JI., Android за 24 часа. Программирование приложений под операционную систему Google/ ДэрсиЛ., КондерШ. — М.: Рид Групп, 2011. — 464 с. — (Профессиональные компьютерные книги). ISBN 978-5-4252-0318-2

По теме:

  • Комментарии