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

0

Вопросы, рассматриваемые в этом часе:

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

•             разработка платформы тестирования приложений для мобильных телефонов;

•             решение других проблем, связанных с тестированием.

Каждый разработчик приложений для мобильных телефонов мечтает создать «революционное приложение». Многие люди считают, что если они придумали какую-то потрясающую идею, то могут вздохнуть свободно. Однако это в корне неверно. Дело в том, что придумать потрясающую идею может каждый. А вот детально продумать эту идею, чтобы получить ясное представление о ее реализации, лаконично «донести» идею до пользователей, разработать интуитивный пользовательский интерфейс и быстро пере­дать готовое приложение пользователям — до того, как это сделает кто-то еще — в этом и заключается основная проблема! Революционное приложение должно оптимально сочетать в себе все эти ингредиенты, однако плохая реализация потрясающей идеи не позволит вашему приложению стать революционным, поэтому перед тем, как опубликовать приложение, вы должны тщательно его протестировать. В этом часе вы узнаете, как выполнять тестирование приложений для мобильных телефонов различными способами.

ЛУЧШИЕ ПРАКТИКИ ТЕСТИРОВАНИЯ

Мобильные пользователи ожидают многого от современных приложений для мобильных телефонов. В частности, они ожидают, что устанавливаемые ими приложения стабильны, быстро реагируют на действия пользователя и безопасны. Стабильность означает, что приложение работает, и не приводит к аварийным сбоям и не выводит телефон пользователя из строя. Быстрая реакция на действия пользователя подразумевает, что телефон всегда реагирует на нажатия клавиш, а для информирования пользователя об опе­рациях, выполняющихся продолжительное время, используются индикаторы хода выполнения процесса. Безопасность подразумевает, что приложение не будет злоупотреблять доверием пользователя, как намеренно, так и ненамеренно. Пользователи ожидают, что приложение имеет достаточно простой пользовательский интерфейс, и что приложение будет работать в режиме «24 часа и 7 дней в неделю» (особенно, когда речь идет о сетевых приложениях, взаимодействующих с сервером).

Может показаться, что пользователи ожидают слишком многого от приложения, которое стоит 0,99 доллара США, однако, если разобраться, разве их ожидания — что-то сверхъестественное? Мы так не думаем. Тем не менее, эти ожидания налагают серьезную ответственность на разработчика в плане тестирования и контроля качества приложения.

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

•             стандарты кодирования и рекомендации;

•             регулярное выполнение сборки проекта для определенной версии приложения;

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

•             систематическое тестирование приложения (с использованием плана те­стирования).

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

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

Разработка стандартов кодирования

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

• обсудить и принять решение относительно общего для всех разработчиков способа обработки ошибок и исключений;

•             выносить операции, занимающие продолжительное время или большой объем вычислительных ресурсов, за пределы основного потока, управляющего пользователь­ским интерфейсом;

•             освобождать используемые объекты и ресурсы;

•             практиковаться в разумном управлении памятью и в обнаружении утечек памяти;

•             использовать ресурсы надлежащим образом. Например, не встраивать данные в код или в файлы макетов.

Регулярное выполнение сборки проекта для определенной версии приложения

Реализация воспроизводимого процесса сборки проекта для определенной версии приложения — неотъемлемая часть успешного проекта на платформе Android. Это особенно справедливо для любого приложения, для которого планируется поддержка несколько версий инструментария Android SDK, мобильных телефонов или языков. Для регулярного выполнения сборки проекта дня определенной версии приложения придерживайтесь следующих рекомендации:

•             Используйте систему контроля исходного кода для отслеживания версий файлов проекта.

•             Создавайте версии файлов проекта через регулярные интервалы времени и выполняйте сборку проекта.

•             Проверяйте (путем тестирования), что каждая сборка работает именно так, как необходимо.

Существует много прекрасных систем контроля исходного кода для разработчиков, и многие системы, которые отлично подходят для традиционной разработки, могут быть использованы при разработке приложений для мобильных телефонов. Многие популярные системы контроля исходного кода — например, Perforce, Subversion и CVS — отлично работают со средой разработки Eclipse.

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

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

Использование системы отслеживания дефектов

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

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

Разработка хороших планов тестирования

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

Для тестирования Android-приложений в распоряжении тестировщиков есть множество инструментов. И хотя ручное тестирование — неотъемлемая часть данного процесса, в настоящее время существуют многочисленные возможности для включения в планы автоматизированного тестирования.

Планы тестирования должны покрывать различные области, включая следующие:

•             Функциональное тестирование — этот тип тестирования позволяет убедиться в том, что все возможности и функции приложения работают надлежащим образом, как определено в функциональной спецификации приложения.

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

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

По теме:

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