Тестирование мобильных приложений
Мобильное тестирование - это постоянный процесс тестирования функциональности мобильных приложений и удобства работы с ними.
Тестирование мобильных приложений предусматривает наличие специальных инструментов и методик для тестирования. Разнообразие мобильных технологий, платформ и устройств вызывает дополнительные трудности при разработке и тестировании мобильных приложений.
Android – это бесплатная операционная система, разработанная для мобильных телефонов, смартфонов, коммуникаторов на базе ОС Linux. Поддерживается альянсом Open Handset Alliance (OHA). Операционная система позволяет разрабатывать Java-приложения, благодаря которым можно управлять устройством. Используется код ARM, под который можно писать приложения на С++ и др.
Формат apk (название файла.apk) имеют все установочные файлы приложений для ОС Андроид.
Функциональные составляющие Android:
Application framework – набор компонентов для различных приложений.
Dalvik virtual machine – виртуальная машина, в которой работают приложения.
Главные характеристики:
Встроенный браузер работает на основе WebKit с открытым кодом.
Оптимизированная графика с 2D библиотекой, 3D графика – OpenGL ES 1.0.
Возможна поддержка hardware акселератора.
Поддержка медиа форматов: звук, видео, картинки (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF).
GSM стандарт, Bluetooth, EDGE, 3G и WiFi, камера, GPS, компас и акселерометр.
iOS — мобильная операционная система смартфонов для электронных планшетов, носимых проигрывателей, Apple iPhone, iPod touch и некоторых других устройств, разрабатываемая и выпускаемая американской компанией Apple TV автомобильных.
Операционная система характерна такими особенностями:
Быстрота работы, интерфейс системы практически не тормози.
Система достаточно быстро загружается.
Интерфейс достаточно красочен и понятен.
Система удаления программ удобна и позволяет удалить программы в 2 клика.
Можно купить любую программу. Каталог программ в AppStore огромен.
Достаточно хорошие обновления. Естественно, в каждой новой версии есть определенные ошибки, однако с каждой новой версией система становится все удобнее и функциональнее.
Ipa файл - файл программы для установки на iOS. Система имеет встроенный браузер Safari. Последняя версия ОС — iOS 11. Новая версия выходит раз в году.
Недостатки системы Apple iOS
- Как таковой многозадачности нормальной нет — на фоне работают музыка, радио, закачивание и скачивание. Но не во всех приложениях. Когда приложение сворачивается, то оно работает некоторое время, а потом останавливается.
- Операционная система является закрытой. Нельзя посмотреть список файлов операционной системы и использовать устройство как флешку. Это является одновременно и достоинством. iOS — самая защищенная система в мире.
- Дороговизна телефонов и планшетов на данной операционной системе.
Достоинства:
- Самый крупный магазин приложений с достаточно качественными приложениями.
- Быстрота работы системы (по сравнению с другими).
- Хорошее качество телефонов и планшетов компании Apple.
- Быстрая реакция на ошибки и отсутствие вирусов.
- Красота интерфейса и графики.
- Постоянное обновление системы (раз в год,) в т.ч. и для старых устройств.
Моменты, которые должны быть протестированы
Размер экрана и touch-интерфейс:
Все элементы должны быть такого размера, чтобы пользователь мог однозначно попасть по ним.
Отсутствие пустых экранов в приложении – пользователь не должен оказываться в ситуации, в которой не очевидно, что сейчас происходит и что делать.
Следует проверять многократное быстрое нажатие на кнопку – часто при этом может случиться падение приложения. Также следует проверять мультитач – нажатие на несколько кнопок одновременно.
Следует проверять наличие или отсутствие «нативных» жестов (pinch-to-zoom, doubletap) – если, например, поддерживается зум части приложения, то должен использоваться жест по умолчанию. А если нет необходимости выделять картинку, то по даблтапу она не должна выделяться.
2. Ресурсы устройства:
Утечки памяти - проявляется на окнах с большим количеством информации (длинные списки как пример), во время задач с длительным workflow (когда пользователь долго не выходит из приложения), при некорректно работающем кэшировании изображений.
Обработка ситуаций нехватки памяти для функционирования ОС, когда приложение активно или работает в фоне.
Недостаток места для установки или работы приложения.
Отсутствие в некоторых устройствах поддерживаемых приложением функций (3G, SD-карта).
Установка или перенос приложения на карту SD.
3. Различные разрешения экрана и версии ОС:
Ретина и обычные экраны. На ретина-экранах элементы интерфейса и текст отображаются мельче. Картинки для ретина-экрана могут попасть в неретина-версию и тогда будут слишком большими.
Адаптация приложения к портретной и альбомной ориентациям устройства.
Версии ОС. Приложение не должно устанавливаться на неподдерживаемые устройства. Обязательна проверка на всех доступных из поддерживаемых девайсов.
Поддержка необходимых медиа-файлов данной моделью и ОС, потому что отдельные разработчики могут урезать поддержку работы с некоторыми форматами.
Соответствие используемых в приложении view их смысловому назначению и концепциям платформы. Проектные решения, которые имеют смысл для одной платформы, могут выглядеть и быть неуместными в контексте другой платформы.
4. Реакция приложения на внешние прерывания:
Входящие и исходящие SMS, MMS, звонки, оповещения других приложений.
Выключение устройства, изъятие аккумулятора, разрядка устройства.
Переход в режим ожидания (в том числе и с защитой паролем). Смена ориентации устройства в режиме ожидания.
Отключение и подключение провода.
Отключение и включение сети, Bluetooth, авиарежима, GPS.
Потеря связи с сервером или прокси (подключение есть, но пакеты не доходят).
Отключение и подключение SD-карты, дополнительных устройств вроде физической клавиатуры или гарнитуры.
Зарядка устройства, работа с физической клавиатурой.
5. Платный контент внутри приложения:
Соответствие цены и содержимого, заявленного в приложении.
Восстановление покупки (обновление приложения).
6. Интернационализация (проверять и в портретном, и в ландшафтном режиме!):
Проверка корректности перевода.
Проверка того, что все надписи входят в соответствующие формы, кнопки и т.п.
Проверка форматов дат, разделителей в числах, специфических особенностей локализации (вроде пробела перед знаком вопроса во французской, верхних индексов “o” и “a”, в порядковых числительных в испанской и других нетривиальных моментах).
7. Обновления:
Убедиться, что поддерживаются те же версии ОС, что и предыдущая версия (если новая версия приложения использует новые возможности ОС, то для старых поддерживаемых версий ОС необходимо создание урезанной версии приложения).
Проверка адекватного обновления (сохраняются все данные пользователя и т. п.).
8. Постоянная обратная связь с пользователем:
У всех нажимаемых элементов должно быть нажатое состояние (отклик на действие). В Android-приложениях у элементов может быть ещё одно состояние – focused.
Реакция кнопок на нажатие. Скорость отклика элементов должна быть достаточно высокой. Желательно использовать для проверки этого пункта самые слабые устройства среди поддерживаемых.
Сообщения при загрузке контента или прогресс-бар.
Сообщения при ошибке доступа к сети, GPS.
Наличие понятных сообщений при попытке удалить важную информацию.
Наличие экрана или сообщения при окончании процесса или игры.
Наличие и синхронность звуков или вибрации с уведомлениями и другими событиями на экране.
9. Жесты в мобильных девайсах:
Типы мобильных приложений
Существует три основных типа мобильных приложений: мобильные веб-приложения, нативные приложения и гибридные приложения.
Мобильным веб-приложением является веб-сайт, который открывается в гаджете (смартфоне или планшете) с помощью мобильного браузера.
Достоинства мобильных веб-приложений:
Простая разработка.
Легкий доступ.
Простое обновление.
Мобильные веб-приложения не требует установки.
Недостатки мобильных веб-приложений:
Нет поддержки автономных функций.
Ограниченная функциональность в сравнении с гибридными и нативными приложениями (нет доступа к файловой системе и локальным ресурсам)
Проблемы с перераспределением: Google Play и App Store не поддерживают перераспределение мобильных веб-приложений.
Нативное приложение - это приложение, разработанное специально для одной платформы (Android, iOS, BlackBerry).
Достоинства нативных приложений:
Нативное приложение работает в автономном режиме.
Оно может использовать все функции своего устройства.
Продвинутый пользовательский интерфейс.
Push-уведомления для удобства пользователей.
Недостатки нативных приложений:
Разработка нативных приложений обходится дороже в сравнении с мобильными веб-приложениями.
Требуется больших затрат на техническое обслуживание.
Гибридное приложение - это сочетание нативного и мобильного веб-приложений. Его можно определить как отображение содержимого мобильного сайта в формате приложения.
Достоинства гибридных приложений:
Более рентабельно в сравнении с нативным приложением.
Простое распространение.
Встроенный браузер.
Особенности устройства.
Недостатки гибридных приложений:
Работает не так быстро, как нативное приложение.
Графика менее адаптирована к ОС в сравнении с нативным приложением.