Мы используем файлы cookie. Чтобы улучшить работу сайта и предоставить вам больше возможностей. Продолжая использовать сайт, высоглашаетесь с условиями использования cookie.

Тестируем Android-приложение правильно

AGIMA27 ноября 2020Андрей Рыжкин·Директор департамента разработки

Android-приложение нужно проверять на разных размерах и плотностях экрана, состояниях системы и пользовательских сценариях. Основные визуальные дефекты — смещение, обрезка, исчезновение и пересечение элементов, а также выход контента за границы экрана.

Коротко

ПроверкаЧто ищем
Геометрия интерфейсаСмещения, пересечения и выход элементов за экран
ТекстОбрезку, переносы и нечитаемый размер
АдаптивностьОшибки на разных разрешениях и ориентациях
ВзаимодействиеДостаточный размер активных областей и корректные состояния
Системные сценарииРазрешения, установка, обновление и пользовательская сессия

Статистика рынка в исходном материале относилась к 2020 году; чек-лист ниже полезен как основа, но требования Android и Material Design нужно сверять с актуальными рекомендациями.

Меня зовут Андрей Рыжкин, я CTO AGIMA.

Сегодня я расскажу о том, как мы тестируем приложения на Android, а также поделюсь нашим чек-листом.

Чек-лист от команды AGIMA

В 2020 году каталог Android-приложений продолжал быстро расти. На этом фоне системная проверка интерфейса и пользовательских сценариев стала обязательной частью выпуска продукта. Мы создаем самые разные приложения для Android — простые и сложные, узкоспециализированные и «для всех». И можем немало рассказать о нюансах их разработки.

Конечно, главное в Android-приложении — его функционал. Недочеты вёрстки редко бросаются в глаза, но качество любого продукта — в мелочах. Поэтому мы всегда тщательно тестируем приложения перед запуском. А для того, чтобы тестирование занимало минимум времени и приносило максимум пользы, мы разработали специальный чек-лист, которым рады поделиться с вами!

Но сначала перечислим шесть наиболее распространенных проблем вёрстки, избежать которых поможет наш чек-лист.

1. Сдвиг элемента страницы

Смещение элементов интерфейса Android при изменении размера экрана

При вёрстке страницы можно применить три вида выравнивания по вертикали (Align Top, Align Middle и Align Bottom) и три — по горизонтали (Align Left, Align Center, Align Right). Но если использовать их несогласованно, отдельные элементы страницы начинают «съезжать» со своих мест.

На рисунке слева всё хорошо, но стоит изменить разрешение — и заголовок сдвигается вправо.

2. Обрезка текста

Обрезанный текст в интерфейсе Android-приложения

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

Слева всё в порядке, справа часть текста обрезана из-за изменения ориентации устройства.

3. Отсутствие элемента страницы

Исчезновение элемента интерфейса на экране с меньшим разрешением

При снижении разрешения экрана элементы увеличиваются в размере. И при неправильной вёрстке некоторые из них могут просто «исчезнуть».

4. Пересечение элементов

Пересечение элементов Android-интерфейса при адаптации макета

Иногда, также при снижении разрешения или уменьшении размера экрана, компоненты GUI «наезжают» друг на друга. В итоге на странице воцаряется полный хаос.

5. Выход элементов за границы экрана

Элементы интерфейса, выходящие за границы экрана Android

Причина всё та же — при изменении разрешения элементы страницы увеличиваются, и экрана банально «не хватает» для их отображения. В итоге страница ужасно выглядит (и это в лучшем случае, в худшем ей становится просто невозможно пользоваться).

6. Артефакты адаптивного дизайна

Слишком мелкие элементы и текст на экране с высоким разрешением

При увеличении разрешения экрана может возникнуть «обратная» ситуация — компоненты GUI и текстовые символы могут уменьшиться до абсолютно нечитабельных размеров.

Согласно Material Design, размер любого элемента, с которым взаимодействует пользователь, будь то кнопка, чекбокс или радиобаттон, не должен составлять меньше 48 dp по любому измерению.

Минимальная активная область элемента интерфейса по рекомендациям Material Design

Гайдлайн не дает четких рекомендаций по размеру текста, однако по результатам исследования комфортным считается шрифт в 16 пикселей высотой, а приемлемым для чтения — 12-14 пикселей.

Перечисленные проблемы часто «наслаиваются» друг на друга — как известно, беда не приходит одна. И результаты таких сочетаний могут быть самыми непредсказуемыми. Но это — тема для отдельной статьи.

А теперь — обещанный чек-лист. Используйте его во время тестирования Android-приложения — и от вас не «ускользнет» ни одна ошибка!

Чек-лист

Установка:

  • Установка из дистрибутива происходит без уведомлений об ошибках.
  • Успешно выполняется установка из магазина приложений.
  • Установка обновлений не вызывает ошибок.
  • Отмена установки происходит корректно, с удалением всех следов приложения.
  • Повторная установка после отмены возможна и выполняется успешно.
  • При попытке установки на неподдерживаемое устройство/версию ОС появляется предупреждение о несовместимости, и установка корректно завершается.

Запуск и выход из приложения:

  • Приложение запускается при клике по его иконке.
  • Приложение запускается в режиме разделенного экрана.
  • Приложение запускается при клике по уведомлению от него.
  • Приложение запускается по ссылкам из других приложений.
  • Приложение запускается по голосовой команде.
  • Приложение запускается при автозагрузке.
  • Приложение запускается при управлении жестами.
  • Приложение запускается при открытии ассоциированных файлов.
  • Приложение возобновляет работу после перевода в фоновый режим.
  • Время запуска приложения не слишком велико.
  • Возможен выход из приложения штатным способом.
  • Возможен выход из приложения при нажатии на кнопку «домой» (приложение переходит в фоновый режим).

Удобство использования:

  • Управление приложением интуитивно понятно.
  • Навигация в приложении соответствует требованиям, предъявленным заказчиком.
  • Приложение корректно обрабатывает смену ориентации экрана.
  • Приложение корректно обрабатывает изменение масштаба отображения.
  • Приложение корректно обрабатывает жесты multitouch.
  • Вызов клавиатуры происходит корректно, клавиатура не скрывает элемент страницы, в который вводится текст.
  • Элементы управления соответствуют выполняемым функции.
  • Расход заряда батареи соответствует нагрузке, создаваемой приложением.
  • Задержки переходов и/или открытия не критичны.
  • Приложение соответствует требованиям удобства использования для платформы.
  • Нет «вылетов» приложения и/или неожиданно возникающих всплывающих окон.
  • (если заявлено в ТЗ) В приложении присутствует помощь для новых пользователей.

Вёрстка (на всех заявленных в ограничениях устройствах и разрешениях):

  • Отсутствуют сдвиги элементов страницы (расположение элементов соответствует заявленному в макете).
  • На страницах нет обрезки текста.
  • На страницах присутствуют все заявленные элементы.
  • Элементы не пересекаются и не «наслаиваются» друг на друга.
  • Ни один элемент не выходит за границы экрана.
  • Отсутствуют артефакты адаптивного дизайна.

Обновления:

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

Прерывания:

  • Прерывание работы приложения телефонным звонком обрабатывается корректно.
  • Прерывание работы приложения получением СМС обрабатывается корректно.
  • Прерывание работы приложения сменой ориентации экрана обрабатывается корректно.
  • Прерывание работы приложения блокировкой/разблокировкой экрана обрабатывается корректно.
  • Прерывание работы приложения системными уведомлениями обрабатывается корректно.
  • Прерывание работы приложения разрывом соединения с интернетом обрабатывается корректно.
  • Возможна работа приложения при слабом/нестабильном соединении (в зависимости от требований).
  • Возможна работа приложения в режиме энергосбережения.
  • При смене сети работа приложения не прерывается.
  • Работа приложения не зависит от процессов передачи данных в фоновом режиме.

Безопасность:

  • В магазине приложений нет алертов на безопасность приложения.
  • При запуске приложения на устройстве не возникает коллизий (при использовании наиболее популярных антивирусных систем).
  • При установке и использовании приложение запрашивает и может использовать нужные разрешения.
  • Приложение корректно работает с пользовательской сессией (согласно требованиям).

Материал подготовлен вместе с бывшим руководителем QA AGIMA Рамилем Усмановым.

AndroidтестированиеQAмобильная разработкаадаптивный интерфейс
Загружаем чат

Напишите в поддержку

Опишите проблему — команда разберётся.