Аппаратные особенности
Что такое аппаратные особенности: определение, основные принципы, примеры и практические советы. Изучайте мобильном тестировании с подробными объяснениями для начинающих специалистов.
Аппаратные особенности.
- Прерывание работы приложения — все действия, которые прерывают работу текущего приложения (напр блокировка экрана).
- Датчики девайса — то, что реагирует на окружающую среду (например, датчик освещенности).
- Интернет — скорость и качество связи соединения.
- Геолокация — способ определения координат местонахождения устройства и точность этого определения.
- Производительность — характеристики процессора, памяти и времени отклика на действия пользователя.
Тестирование типичных прерываний.
Тестирование прерываний в мобильных приложениях оценивает способность приложения обрабатывать различные типы прерываний и взаимодействовать с ними. Важные аспекты включают:
- Обработка различных прерываний: Приложение должно корректно реагировать на различные виды прерываний, такие как входящие и исходящие SMS, звонки, уведомления других приложений, переключение устройства в режим ожидания, выключение и подключение устройства, изменение состояния сети, работу с Bluetooth и GPS, потерю связи с сервером и другие события.
- Сохранение состояния и данных: Приложение должно продолжать работать корректно, сохраняя свое текущее состояние, данные и сеанс, независимо от того, какие прерывания происходят.
- Работа в режиме «Не беспокоить»: Если устройство находится в режиме «Не беспокоить», блокирующем уведомления, приложение должно гарантировать правильное функционирование в таких условиях. Тесты также должны включать сценарии, когда режим «Не беспокоить» отключается после длительного периода, и приложение сталкивается с множеством накопившихся уведомлений.
- Прерывания во время использования: Тесты должны учитывать ситуации, когда прерывания происходят во время активного использования приложения. Например, как при ответе на звонок во время работы в приложении, после чего пользователь возвращается к приложению в состоянии, в котором он был до прерывания.
- Реакция на физические устройства: Тестирование также включает в себя реакцию приложения на физические устройства, такие как акселерометр и физическая клавиатура (если они поддерживаются).
Тестирование датчиков.
Тестирование этих датчиков ввода данных включает в себя следующие аспекты:
- Корректное взаимодействие с каждым из доступных датчиков: Приложение должно правильно реагировать на данные, полученные от разных датчиков. Например, необходимо проверить, как приложение работает с различными видами движений, такими как круговое вращение и движение вперед-назад (как при ходьбе).
- Реакция на внешнее освещение: Функции, зависящие от уровня освещения, должны корректно реагировать на изменения условий освещения.
- Тестирование звуковых датчиков и воспроизведение звука: Проверка должна включать в себя корректное взаимодействие звуковых датчиков, включая виртуальные и физические кнопки регулировки громкости, микрофон, проводные и беспроводные динамики в различных условиях окружающего шума.
- Точное определение местоположения: Тестирование должно убедиться, что приложение точно определяет местоположение в разных условиях, включая разные состояния GPS, разные уровни сигнала GPS, а также ситуации, когда используются альтернативные методы определения местоположения, такие как Wi-Fi, данные о вышке сотовой связи или ручной ввод местоположения.
Разновидность датчиков.
- Гироскоп.
Определяет положение смартфона в пространстве.
- Акселерометр.
Помогает измерить скорость перемещения устройства.
- Датчик освещённости.
Измеряет светосилу, и система подстраивает яркость экрана смартфона.
- NFC-чип.
Позволяет работать с NFC-совместимыми устройствами.
- Биометрия.
Сканер отпечатка пальца и распознаванием лица.
Тестирование различных способов ввода данных.
При тестировании различных методов ввода данных следует обращать внимание на следующие аспекты:
- Совместимость с разными программными клавиатурами: Поскольку на мобильных устройствах можно установить разные программные клавиатуры, приложение должно корректно работать с теми, которые предоставляются крупными производителями устройств и широко используются.
- Корректное отображение клавиатуры: Приложение должно гарантировать, что при необходимости появляется клавиатура с правильной раскладкой.
- Обработка жестов: Приложение должно правильно интерпретировать различные жесты или команды, когда пользователь касается сенсорного экрана одним или несколькими пальцами. Эти жесты могут включать нажатие, двойное нажатие, мультикасание, смахивание, постукивание, двойное постукивание, перетаскивание и масштабирование.
- Реакция экранов на жесты: Каждый экран приложения должен правильно реагировать на соответствующие жесты или способы ввода, которые соответствуют этому экрану, и игнорировать неподдерживаемые жесты или способы ввода.
- Работа с камерами: Если приложение использует камеру, оно должно корректно захватывать изображения и видео, сканировать штрих-коды, QR-коды, документы и измерять расстояния.
- Переключение между камерами: Если устройство имеет как фронтальную, так и основную камеру, приложение должно правильно выбирать камеру по умолчанию в зависимости от контекста использования. Это особенно важно, когда приложение использует конкретную камеру и она недоступна.
Разновидность жестов.
Жесты в мобильных приложениях представляют собой важный способ взаимодействия пользователей с устройством и приложением. Жесты позволяют пользователю выполнить действия, такие как прокрутка, масштабирование, перетаскивание и другие, используя мультисенсорные экраны мобильных устройств. Эффективное использование жестов улучшает пользовательский опыт и делает приложение более интуитивным.
Вот некоторые основные жесты в мобильных приложениях:
-
Касание (Tap):
- Простое касание одним или несколькими пальцами по экрану.
- Используется для выбора элементов, открытия ссылок и запуска действий.
-
Двойное касание (Double Tap):
- Быстрое двойное касание по экрану.
- Используется для увеличения / уменьшения изображения или активации специфических действий.
-
Удержание (Long Press):
- Пользователь удерживает палец на экране в течение некоторого времени.
- Может использоваться для вызова контекстного меню или активации дополнительных функций.
-
Смахивание (Swipe):
- Пользователь проводит палец по экрану в определенном направлении.
- Используется для прокрутки страниц, перемещения между элементами и открытия боковых панелей.
-
Перетаскивание (Drag):
- Пользователь перетаскивает элемент (например, изображение или текст) по экрану.
- Используется для перемещения и переноса объектов.
-
Масштабирование (Pinch-to-Zoom):
- Пользователь сведением или разведением двух пальцев изменяет масштаб изображения.
- Используется для увеличения и уменьшения изображения.
-
Вращение (Rotate):
- Пользователь вращает два пальца вокруг точки на экране.
- Используется для поворота объектов или изменения угла обзора.
-
Жест «пальцы в форме пальто» (Spread):
- Пользователь разводит пальцы от центра экрана.
- Используется для показа дополнительной информации или перехода к полноэкранному режиму.
-
Жест «сжатие» (Pinch):
- Пользователь сведет пальцы к центру экрана.
- Используется для скрытия дополнительной информации или выхода из полноэкранного режима.
-
Скользящие жесты (Fling):
- Пользователь быстро проводит палец по экрану.
- Используется для быстрой прокрутки длинных списков или слайд-шоу.
-
Жест «перетягивание» (Pull-to-Refresh):
- Пользователь перетаскивает содержимое вниз для обновления данных.
- Часто используется в списках и лентах новостей.
-
Жест «поднятие» (Pull-up-to-Load):
- Пользователь перетаскивает содержимое вверх для загрузки дополнительных данных.
- Используется в бесконечных лентах и пагинации.
Тестирование изменения ориентации экрана.
Тестирование изменения ориентации экрана в мобильных приложениях оценивает, как приложение реагирует на переключение между портретным и альбомным режимами, а также проверяет практичность и правильное функционирование в этом контексте. Важные аспекты тестирования включают:
- Сохранение функциональности: Приложение должно продолжать работать корректно после переключения ориентации экрана между портретным и альбомным режимами. Никакие внезапные ошибки не должны возникать.
- Сохранение состояния: Приложение должно сохранять свое текущее состояние и данные при изменении ориентации экрана. Поля ввода данных должны сохранять введенные информацию, а поля вывода данных должны отображать те же данные, сохраняя текущий пользовательский сеанс.
- Плавность переключения: Тестирование изменения ориентации экрана должно включать несколько последовательных переключений между портретным и альбомным режимами, чтобы обнаружить потенциальные проблемы с рендерингом или состоянием приложения, которые могут проявиться после нескольких изменений ориентации.
- Разнообразные сценарии: Тесты должны варьировать условия, включая наличие данных и их отсутствие, чтобы убедиться, что приложение сохраняет свое состояние и данные в различных контекстах.
Тестирование разных экранов.
Для обеспечения качественного тестирования следует провести проверку на различных экранах с учетом следующих аспектов:
- Масштабирование интерфейса: Приложение должно адаптировать все элементы пользовательского интерфейса в зависимости от размера и разрешения экрана.
- Перекрытие элементов интерфейса: Не должно возникать ситуаций, когда элементы пользовательского интерфейса перекрывают друг друга.
- Практичность и датчики: Проверка на наличие проблем, связанных с удобством использования и работой датчиков на разных устройствах.
- Масштабирование изображений: Необходимо удостовериться, что изображения адекватно масштабируются на экранах с разным dpi/ppi, чтобы изображения не выглядели слишком мелкими или размытыми.
Также важно учесть различия в разрешении экранов и версиях операционных систем:
- Ретина и обычные экраны: На экранах с высоким разрешением (Retina) элементы интерфейса и текст могут отображаться мельче, что требует соответствующей адаптации. Важно избегать слишком крупных изображений на устройствах с обычными экранами.
- Ориентация устройства: Приложение должно корректно адаптироваться к портретной и альбомной ориентациям устройства.
- Версии операционных систем: Приложение не должно устанавливаться на несовместимые устройства, и проверка должна быть проведена на всех поддерживаемых устройствах.
- Поддержка медиа-файлов: Необходимо убедиться, что приложение поддерживает необходимые медиа-форматы для данной модели устройства и операционной системы.
- Соответствие концепциям платформы: Элементы пользовательского интерфейса должны соответствовать смысловым назначениям и концепциям платформы, избегая решений, неуместных для данной платформы.
Тестирование экранов и ориентаций мобильных устройств.
- Портретная ориентация (Portrait Orientation):
Экран находится в вертикальной ориентации, где высота больше ширины.
Портретная ориентация часто используется для отображения содержания, такого как текст и списки.
- Альбомная ориентация (Landscape Orientation):
Экран находится в горизонтальной ориентации, где ширина больше высоты.
Альбомная ориентация может быть предпочтительной для отображения видео, изображений и игр.
- Квадратная ориентация (Square Orientation):
Экран имеет одинаковую высоту и ширину, создавая квадратную форму.
Квадратная ориентация может использоваться для приложений и игр, которые требуют равных размеров.
- Экраны разного размера (Different Screen Sizes):
Мобильные устройства имеют разные размеры экранов, начиная от небольших смартфонов и заканчивая большими планшетами.
Приложения должны адаптироваться к различным размерам экранов и обеспечивать оптимальное использование доступного пространства.
- Разрешения экрана (Screen Resolutions):
Мобильные устройства также имеют разные разрешения экранов, что влияет на количество пикселей на дюйм.
Разработчики должны учитывать разрешение экрана, чтобы избежать искажения изображений и текста.
- Экраны с вырезами и складывающиеся экраны (Notch Screens and Foldable Screens):
Некоторые современные устройства имеют вырезы (notch) в верхней части экрана, а также складывающиеся экраны.
Разработчики должны обеспечивать правильное отображение контента на устройствах с вырезами и адаптировать интерфейс для складывающихся экранов.
- Многооконный режим (Multi-Window Mode):
Некоторые устройства и операционные системы поддерживают многооконный режим, который позволяет одновременно работать с несколькими приложениями.
Приложение должно поддерживать многооконный режим и правильно реагировать на изменение размера экрана.
Тестирование связи.
Тип сети: мобильная сеть или Wi-Fi. За каждый тип отвечает свой модуль. Это может спровоцировать «провалы», когда один тип сети переключается на другой. Также стоит помнить, что в реальной жизни качество мобильной связи неидеально: она может пропадать в метро или быть неустойчивой в новых районах. Приложение должно обрабатывать такие ситуации корректно. Скорость мобильной сети: 2G, 3G, LTE.
Авиарежим.
Если приложение совсем не работает без интернета, оно должно оповещать об отсутствии соединения. Если функциональность частично работает в офлайн-режиме, у пользователя должна быть возможность работать с приложением. Например, приложение для чтения электронных книг при отсутствии интернета предложит почитать те, которые уже загружены.
Тестирование геолокации.
Выдать приложению разрешение определять местоположение устройства. Обычно приложение само запрашивает права при запуске. Также нужно убедиться, что приложение продолжает работать корректно, если у него нет такого права или его отобрали.
Подмена геолокации. Можно сделать в специальных инструментах — например, в Android Studio или приложении Fake GPS. Это полезно для проверки работы сервиса в другом городе.
Тестирование производительности.
Длительность запуска приложения. Уточни в требованиях, сколько должно загружаться приложение, и проверь, что оно действительно загружается столько или меньше. Чтобы точно зафиксировать это, можно снять видео экрана.
Количество кадров в секунду (Frames per Second). Если скорость больше или равна 60 кадрам в секунду, анимация будет плавной. Посмотреть эту статистику можно в специальном инструменте. Например, FPS Meter.
Расход заряда батареи. Один из показателей эффективности приложения — то, как оно расходует энергию. Есть два показателя: когда приложением пользуются и когда оно свернуто. Расход энергии можно посмотреть в настройках телефона или через специальные инструменты. Самый надежный способ — подключиться напрямую к аккумулятору устройства.
UI тестирование мобильных приложений.
- Дизайн и визуальное оформление:
Дизайн приложения должен быть привлекательным и соответствовать бренду или тематике приложения.
Визуальное оформление включает в себя выбор цветовой палитры, шрифтов, стилей и иконок.
- Расположение элементов интерфейса:
Элементы интерфейса, такие как кнопки, текстовые поля, изображения и другие, должны быть размещены логично и удобно для пользователя.
Располагайте элементы так, чтобы пользователь мог легко найти и использовать функциональность приложения.
- Навигация:
Меню и навигационные элементы должны быть ясными и интуитивными.
Использовать стандартные паттерны навигации для создания удобного пользовательского опыта.
- Анимации и переходы:
Анимации могут улучшить пользовательский опыт и сделать интерфейс более привлекательным.
Использовать анимации для плавных переходов между экранами и действиями пользователя.
- Адаптивный дизайн:
Учесть различные размеры экранов и разрешения устройств. Создать адаптивный дизайн, который будет хорошо выглядеть на разных устройствах.
- Доступность:
Обеспечить доступность для пользователей с ограниченными возможностями, включая поддержку скринридеров и больших шрифтов.
Использовать ясные и информативные метки для элементов интерфейса.
- Тестирование и обратная связь:
Тестируйте интерфейс приложения на реальных пользователях и собирайте обратную связь.
Улучшайте интерфейс на основе обратной связи и результатов тестирования.
- Консистентность:
Соблюдать единообразие в дизайне и взаимодействии между различными частями приложения.
Использовать стандартные элементы интерфейса, такие как кнопки «назад» и «меню», чтобы создать единообразный пользовательский опыт.
- Обеспечение высокой производительности:
Учесть, что сложные анимации и графика могут повлиять на производительность приложения. Оптимизировать интерфейс для обеспечения плавной работы на всех устройствах.
- Соблюдение гайдлайнов платформ:
При разработке для Android и iOS соблюдать гайдлайны и рекомендации, предоставляемые Google и Apple соответственно. Это поможет создать интерфейс, который соответствует стандартам каждой платформы.