Побойся бага. Быстрое тестирование мобильного приложения
Одна из самых больших ошибок в мобильной разработке - отправить новый продукт в доступ для широких масс без проведения предварительных тестов.
Во-первых, если вы будете узнавать об ошибках и несовершенствах приложения из негативных отзывов о вашей разработке, это вряд ли положительно скажется на количестве установок.
Во-вторых, выявление ошибки пользователем не раскроет тайны ее происхождения. Вам придется долго мучиться в попытках найти истоки того бага, который гневит первых испытателей проекта.
Чуть ранее мы рассмотрели вопросы проектирования интерфейса, нейминга и создания иконки приложения, и завершаем цикл публикаций на тему базовых знаний вокруг разработки тестированием.
Тестирование - процесс не самый простой и быстрый, требующий определенного инструментария и навыков работы с ним, а также специфичных знаний. Тем не менее, в условиях любительской разработки и быстрого запуска можно самостоятельно проделать минимальный набор действий, позволяющий выявить весомое количество ошибок и недоработок.
Рассмотрим способы быстрых тестов мобильного приложения. Что тестируем?
Интерфейс
Обратите внимание на:
- визуальное соответствие макетам;
- правильное функционирование элементов интерфейса (всплывающее должно всплывать, листающееся - листаться, подсвечивающееся - подсвечиваться); правильное отображение активных и неактивных кнопок;
- возможности отменить действие или вернуться назад; прочие каноны;
- удобство использования интерфейса...
Сервисы в помощь:
Совершает клики, жесты, касания и т.д.:
Monkey
Проверяет адаптивность:
Mattkersley
Protofluid
Качество работы приложения
Необходимо пройти все пути, доступные в приложении, чтобы проверить его работу на наличие непредвиденных сбоев и проработанность сценариев.
Так же важно:
- формы ввода данных и работа клавиатуры;
- корректная загрузка элементов, отображение изображений, скроллинг;
- работа с интегрированными социальными сетями и другими приложениями;
- функции поиска.
Работа с сетью
Проверьте: работу приложения при подключении к Wi-Fi, LTE, 3G, 2G, вне сети, при возвращении в сеть после краткосрочного отключения связи и при неустойчивом подключении, при смене типа подключения; использует ли приложение стандартные сетевые порты: Mail: 25, 143, 465, 993 или 995, HTTP: 80 или 443, SFTP: 22) чтобы связаться с удаленными сервисами, т.к. некоторые провайдеры блокируют определенные порты.
Работа на различных устройствах
- Можно ли найти в магазинах, установить приложение на различные устройства и удалить его?
- Корректно ли работают все кнопки в приложении и другие элементы интерфейса,
правильно ли оно сворачивается и разворачивается, переживает блокировку экрана и переход в спящий режим (выход из него)?
- Все ли хорошо с работой уведомлений, в том числе от других приложений?
- Корректна ли работа приложения при отключении звука на устройстве?
Все перечисленное выше должно работать на всех популярных платформах и устройствах.
По возможности рекомендуется делать захват видео с экрана - это позволит увидеть, что именно работает некорректно, и где проявляются неудобства пользования интерфейсом.
Способы тестирования
Не рассматриваем ручное тестирование :)
1. Эмуляторы
Программы, позволяющие использовать функции одного устройства на другом; в нашем случае - мобильного на ПК. Вы можете запустить эмулятор с нужной операционной системой и проверить работу своего приложения, какой бы она была на ряде интересующих устройств.
Самые популярные эмуляторы для проверки работы приложений:
Genymotion
Бесплатно для персонального использования. Имеются 20 готовых конфигураций для разных телефонов.
Bluestacks
Самый популярный десктопный эмулятор ОС Android
2. Удаленный доступ к реальным устройствам
Более показательными по сравнению с тестами на эмуляторах будут попытки запустить приложения на реальных устройствах, поскольку эмулятор может исказить результаты за счет своих, но не ваших ошибок. Есть отличные сервисы, которые предлагают эту услугу, например:
Testobject
Тестирование приложений на 120 устройствах по заданным сценариям прямо из браузера. Автоматический сбор ошибок.
Стоимость: $89 в месяц.
3. Скриптовые тесты
Взаимодействуют с вашим кодом и собирают данные об ошибках. Хорошая альтернатива написанию собственых тестировочных скриптов.
Robotium
Автоматизированное тестирование для Android
UI Automation Ref
JavaScript-тесты для iOS
Telerik
Программа для тестирования приложений на iOS (да, можно пользоваться бесплатно 30 дней)
Тест на bypeople.com
Фреймворки и утилиты для тестирования мобильных приложений
4. Нагрузочные тесты
Тесты на выносливость приложением больших объемов трафика. Будет ли ваш проект популярным, виднее вам, но проверить работоспособность приложения при высоких нагрузках лишним не будет.
HP VuGen
Для тестирования необходимо создать скрипт и запустить его на устройстве, после чего HP VuGen перехватит трафик и повторит запрос одновременно с нескольких тысяч или даже миллионов устройств.
5. Бета-тестирование
applause.com
Платформа для тестирования приложений тестерами и в реальных условиях.
Ubertesters
Инструмент для проведения бета-тестов. Синхронизирован с внешними багтрекинг-системами. Бесплатно для 5 и менее пользователей.
Testdroid Recorder
Запись действий пользователей ОС Android. Обратите внимание на и другие сервисы http://testdroid.com
6. Подключение к аналитическим инструментам
Appcelerator
Как вариант, можно создать приложение на этой облачной платформе, в функции которой входит и автоматическое тестирование.
cenzic.com/products/mobile/index.html
Автоматический поиск уязвимостей приложения.
square.github.io/spoon
Помогает оптимизировать получение результатов тестов.
mint.splunk.com
Анализирует быстродействие уже запущенных проектов; бесплатно для приложений с менее чем 1000 пользователей.
http://www.google.com/analytics/
Куда без него.
Тем, кто хочет разрабатывать под мобильные устройства, рекомендуем профессию «Разработчик мобильных приложений».