Процесс Тестирования Мобильного Приложения

Тестирование — очень важный этап разработки мобильного приложения.

Цена ошибки при выпуске мобильного приложения высока.

Приложения появляются в Google Play в течение нескольких часов, а в Appstore — в течение нескольких недель.

Неизвестно, сколько времени потребуется пользователям для обновления.

Ошибки вызывают резкую негативную реакцию, пользователи оставляют низкие оценки и истеричные отзывы.

Новые пользователи, видя это, не устанавливают приложение.

Мобильное тестирование — сложный процесс: десятки разных разрешений экрана, аппаратные различия, несколько версий операционных систем, разные типы интернет-подключений, внезапные обрывы соединения.

Поэтому в отделе тестирования у нас работает 8 человек (0,5 тестировщика на одного программиста), а за его разработкой и процессами следит выделенный тест-лид. Под катом я расскажу вам, как Мы тестирование мобильных приложений.



Процесс Тестирования Мобильного Приложения



Тестирование требований

Тестирование начинается до разработки.

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

Если дизайн предоставлен заказчиком, макеты проверяются нашими дизайнерами перед отправкой в отдел тестирования.



Процесс Тестирования Мобильного Приложения

Тестировщик анализирует требования на полноту и несоответствие.

В каждом проекте первоначальные требования содержат противоречивую информацию.

Мы решаем их до начала разработки.

Также в каждом проекте требования неполные: не хватает макетов второстепенных экранов, ограничения на поля ввода, отображение ошибок, кнопки никуда не ведут. Неочевидные на макетах вещи не очевидны: анимация, кеширование картинок и содержимого экрана, работа в нестандартных ситуациях.

Недостатки требований обсуждаются с руководителем проекта, разработчиками и проектировщиками.

После 2-3 итераций вся команда гораздо лучше понимает проект, запоминает забытый функционал и фиксирует решения по спорным вопросам.

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

Тесты делятся на общие и специфические для разных платформ.

Для хранения и запуска тестов мы используем Ситечко .



Процесс Тестирования Мобильного Приложения

Например, для проекта Трава На этом этапе было написано 1856 тестов.

Первый этап тестирования завершен.

Проект находится в разработке.





Сборка сервера

Все наши проекты собираюсь TeamCity построить сервер.



Процесс Тестирования Мобильного Приложения

Если руководитель проекта поставит галочку «на тестирование», тестировщики получат письмо о новой сборке для тестирования.

Его номер отображается на мониторе в кабинете тестировщиков.

Сборки, выпущенные за последние 24 часа, отображаются красным цветом; их нужно тестировать активнее, чем белых.



Процесс Тестирования Мобильного Приложения

Без «волшебного монитора» (кстати, на Android он работает) часто тестировались старые сборки.

И заказчик получил новый билд с ошибками.

Теперь, прежде чем запускать тестовые примеры, просто посмотрите на монитор, путаница решена.

Тестирование сборок может быть быстрым и полным.





Быстрое тестирование

Быстрое тестирование проводится после завершения итерации разработки, если сборка не выходит в релиз.

Сначала проводятся дымовые тесты, чтобы понять, есть ли смысл тестировать сборку.

Затем все выполненные задачи и исправленные ошибки берутся за итерацию из Jira и результат тщательно проверяется на соответствие описанию задачи.

Если в задание включены новые элементы интерфейса, оно отправляется дизайнерам для сравнения с макетами.

Неправильно выполненные задания открываются повторно.

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

При ошибках пользовательского интерфейса — скриншоты с примечаниями о том, что не так.

После этого выполняются функциональные тесты для этой итерации.

Если обнаружены ошибки, не охваченные тест-кейсами, создается новый тест-кейс.

Для Android запускаются приложения тесты на обезьянах .

  adb shell monkey -p ru.stream.droid --throttle 50 --pct-syskeys 0 --pct-ap

pswitch 0 -v 5000

 
По окончании тестирования в билд-сервере ставится галочка «тестирование пройдено» (да, название галочки не очень правильное :).

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

Ни одна сборка не отправляется заказчику без одобрения отдела тестирования.

(По согласованию с заказчиком иногда присылаются сборки с серьезными ошибками).

Критичность ошибки определяется с помощью таблицы.



Процесс Тестирования Мобильного Приложения

После завершения тестирования руководитель проекта получает письмо с подробным отчетом.



Процесс Тестирования Мобильного Приложения



Полное тестирование

Перед выпуском проводится полное тестирование.

Включает быстрое тестирование, регрессионное тестирование, тестирование на обезьянах на 100 устройствах и тестирование обновлений.

Регрессионное тестирование включает в себя выполнение ВСЕХ тестовых случаев для проекта.

Тест-кейсы не только для последней итерации, но и для всех предыдущих и общих тест-кейсов согласно требованиям.

Это занимает день или три на одно устройство, в зависимости от проекта.

Очень важный этап — тестирование обновлений.

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

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

Затем он запускает дымовой тест. Процесс повторяется на 2-3 устройствах.

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

Это спасло не одно приложение от гневных отзывов и потери аудитории.

Проводим релиз-монки-тест на 10 iOS и 80 Android устройствах с помощью сервиса.

Appthwack .

По окончании полного тестирования, помимо написания, вручную составляется подробный отчет.

Процесс Тестирования Мобильного Приложения

Сборка выпускается только в том случае, если все тестовые случаи пройдены на 100%.





Тестирование внешних сервисов

Тестировать интеграцию с Google Analytics, Flurry или системой статистики клиентов непросто.

Бывало, что сборки с неработающим Google Analytics выходили в релиз и на это никто не обращал внимания.

Поэтому обязательно необходимо создать тестовую учетную запись для внешних сервисов и проверить ее при полном тестировании.

Кроме того, статистика отправки фиксируется в журналах, которые проверяются тестировщиками.

После релиза тестовый аккаунт заменяется живым.





Учет времени

Время тестировщиков отслеживается в отдельном проекте Jira. Для составления тест-кейсов, запуска тестов и написания отчетов по проекту создается отдельная задача, в которой стандартными средствами фиксируется затраченное время.



Процесс Тестирования Мобильного Приложения

UPD: расскажите, как у вас работает тестирование, хотя бы сколько тестировщиков на одного разработчика


Подпишитесь на нашу хабра блог .

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

Теги: #тестирование #сайтечко #Jira #сборка сервера #тестовый полет #appthwack #тестирование ИТ-систем #Разработка мобильных приложений

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2006-12-18 00:09:33
Баллов опыта: 561
Всего постов на сайте: 3
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.