<style>.lazy{display:none}</style>Чек-лист для мобильных приложений на Android

Чек-лист для мобильных приложений на Android

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

Наличие удобного чек-листа для тестирования приложений на Android, чтобы убедиться, что вы охватили все основные аспекты перед запуском приложения, – это то, что может оказать огромную помощь. В этой статье мы дадим вам шпаргалку, в которую войдут все важные моменты, которые нужно проверить и перепроверить, чтобы убедиться в надежности приложения.

Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.

Используйте этот чек-лист из 7 частей, чтобы тщательно протестировать ваше мобильное приложение и обеспечить исключительный пользовательский опыт:

  • Кросс-платформенная совместимость
  • Безопасность
  • Персонификация
  • Потребление памяти
  • Прерывания
  • Локализация и интернационализция
  • Визуальный дизайн и доступность

Теперь давайте подобнее разберемся с каждым пунктом в отдельности.

1. Проверьте совместимость приложения с разными платформами

Обеспечение бесперебойной работы вашего приложения на различных платформах и устройствах означает включение в тестирование всех основных платформ на широко распространенных мобильных устройствах. Оптимальное мобильное тестирование предполагает использование реальных устройств и браузеров для имитации поведения пользователей. Например, представьте, что вы тестируете приложение для стриминга музыки. Оно может хорошо работать на новых версиях, таких как Android 14, но может сбоить на старых версиях, таких как Android 10.0.

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

Наиболее популярные версии ОС Android

2. Обеспечьте безопасность приложений

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

Наиболее распространенные угрозы безопасности мобильных приложений

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

  • Защитите исходный код и базу данных, чтобы предотвратить несанкционированный доступ к конфиденциальной информации.
  • Внедрите валидацию входных данных, чтобы приложение принимало только корректные и ожидаемые данные, предотвращая потенциальные эксплойты, такие как атаки с использованием SQL-инъекций.
  • Применяйте тестирование на проникновение как способ имитации реальных атак и выявления уязвимостей.
  • Используйте криптографию для шифрования конфиденциальных данных в состоянии покоя и при передаче, обеспечивая их сохранность даже в случае перехвата неавторизованными лицами.
  • Правильная проверка и валидация пользовательского ввода позволяет предотвратить инъекционные атаки на стороне клиента и снизить риск межсайтового скриптинга (XSS).
  • Внедрите HTTPS с протоколами безопасности SSL/TLS, чтобы установить безопасное соединение между приложением и сервером, зашифровать передачу данных и защитить их от перехвата и несанкционированного доступа.
  • Защитите информацию, хранящуюся на устройстве, от несанкционированного доступа с помощью механизмов безопасного хранения и шифрования.

3. Придерживайтесь персонифицированного подхода

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

Например:

  • Поворот мобильного устройства. Некоторые приложения поддерживают как портретную, так и альбомную ориентацию, что требует от разработчиков адаптации интерфейса. Элементы интерфейса должны оставаться доступными и простыми в использовании при смене ориентации устройства, не наползая друг на друга.
  • Большие или маленькие шрифты в приложении. Пользователи могут настроить размер шрифта, особенно в целях доступности. Однако многие разработчики упускают этот аспект из виду, что приводит к проблемам пользовательского интерфейса с крупными шрифтами. Чтобы решить эту проблему, разработчикам следует адаптировать дизайн под крупные шрифты или ограничить изменение размера шрифта внутри приложения.
  • Корректная работа с аппаратной кнопкой “Назад”. На устройствах Android пользователи часто используют аппаратную кнопку “Назад” для навигации внутри приложений. Однако разработчики могут не реализовать надлежащую функциональность для этой кнопки, что приводит к непоследовательному поведению. В качественном мобильном приложении закрытие приложения с помощью этой кнопки должно происходить только с главного экрана, а остальные случаи должны обрабатываться соответствующим образом в рамках навигации внутри приложения. Доступ к системе должен быть реализован путем запроса необходимых разрешений у пользователя и предоставления четкой обратной связи в случае отказа в доступе.

4. Проверьте потребление памяти

Не смотря на то, что пользователи хотят видеть в своих приложениях множество полезных функций, внедрение некоторых из них может привести к увеличению потребления памяти. Например, интеграция push-уведомлений обычно приводит к увеличению потребления памяти в приложениях для Android.

Как мы уже говорили, не все пользователи обладают новейшими устройствами или устройствами с увеличенным временем автономной работы. Например, в приложении для стриминга музыки появилась новая функция загрузки песен для прослушивания в автономном режиме. Хотя эта функция улучшает пользовательский опыт, она может значительно увеличить потребление памяти, особенно на устройствах с её ограниченным объемом. 

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

Топ 20 наиболее энергозатратных приложений

5. Тест на прерывание

Чтобы разработать успешное мобильное приложение, необходимо учесть несколько факторов, обеспечивающих исключительный пользовательский опыт. Вот несколько ключевых вопросов, на которые следует обратить внимание разработчикам:

  • Зависимость от устройства: этот аспект тестирования направлен на оценку способности мобильного приложения справляться с прерываниями, вызванными встроенными функциями устройства. Такие прерывания могут включать такие действия, как подключение или отключение зарядного устройства, блокировка устройства, предупреждение о низком заряде батареи или даже полное выключение устройства.
  • Сетевая зависимость: этот аспект связан с оценкой того, насколько хорошо мобильное приложение справляется с перебоями в работе, связанными с сетевыми факторами. Речь идет о плавном переходе от одного поставщика услуг к другому или адаптации к изменениям в типах сетевого сигнала (например, переключение с 3G на 4G).
  • Зависимость от функциональности: здесь тестирование сводится к оценке способности мобильного приложения обрабатывать различные прерывания от других мобильных приложений или самого устройства, например, входящие звонки, уведомления о сообщениях или оповещения от других установленных приложений.

Например, общаясь в приложении для обмена сообщениями, имитируйте входящий звонок, чтобы проследить за реакцией приложения. После обработки звонка убедитесь, что вы можете плавно возобновить чат без сбоев и потери данных. Это гарантирует, что приложение плавно справляется с прерываниями и поддерживает положительный пользовательский опыт.

6.  Локализация и язык

Многие приложения, например Amazon, адаптируют свои услуги в зависимости от текущего местоположения пользователя, особенно те, в которых есть функция доставки. Тестирование каждого приложения необходимо для подтверждения его способности использовать GPS устройства для точного определения местоположения и соответствующей настройки предложений. Аналогично, приложения, которые стремятся к мировому охвату, должны предлагать услуги на нескольких языках. Пользователи должны иметь возможность легко переключаться с одного языка на другой, не сталкиваясь с проблемами юзабилити.

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

Важно отметить

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

  • Человеческий перевод предполагает участие квалифицированных переводчиков, осуществляющих устный перевод на необходимый язык, предпочтительно людей, говорящих на нескольких языках, знакомых с культурными нюансами.
  • Машинный перевод. Несмотря на то, что он обеспечивает более быстрый перевод, усилия по повышению точности часто оказываются недостаточными, в результате чего переводы получаются некорректными.

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

7. Визуальный дизайн и доступность

Наконец, вы должны убедиться, что ваше приложение на Android визуально привлекательно и доступно для всех пользователей. Убедитесь, что шрифты, иконки и цвета соответствуют рекомендациям вашего бренда, поскольку это может сказаться на репутации и лояльности пользователей. 

Тестирование доступности, как правило, исследует соответствие вашего приложения всем требованиям Руководства по доступности веб-контента (WCAG).

Чек-лист для тестирования мобильных приложений Android по типам тестирования

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

1. Функциональное тестирование:

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

2. Тестирование доступности:

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

3. Тестирование производительности:

  • Измерьте время загрузки приложения
  • Оцените расход батареи
  • Проверьте масштабируемость сети
  • Оцените загрузку памяти и процессора
  • Оцените работу приложения в различных условиях нагрузки
  • Контролируйте доступность размера кэша
  • Проанализируйте время рендеринга для 2D- и 3D-элементов
  • Проверьте работу приложения в автономном режиме
  • Измерьте время обработки изображения
  • Оцените производительность приложений на разных устройствах и версиях ОС.

4. Автоматизированное тестирование:

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

5. Тестирование юзабилити:

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

6. Симулятор/Эмулятор против реального устройства:

  • Используйте симуляторы/эмуляторы для создания макетов и отладки
  • Тестируйте код и функциональность на реальных устройствах
  • Оцените конечные потоки (end flows) и сетевые аспекты на реальных устройствах
  • Оцените использование процессора/памяти и прерывания на реальных устройствах
  • Подтвердите функциональность камеры и графические переходы на разных устройствах
  • Проверьте характеристики экрана и производительность приложения на разных устройствах
  • Проведите регрессионное тестирование на реальных устройствах.
  • Проверьте функциональность геолокации на реальных устройствах.

7. Тестирование безопасности:

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

8. Тестирование на совместимость:

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

Заключение

Чек-листы тестирования мобильных приложений – важнейшие инструменты для тщательной оценки каждого аспекта приложения перед его выпуском. Благодаря структурированному подходу к тестированию, эти списки помогают тестировщикам охватить различные области, такие как функциональность, юзабилити, производительность, безопасность и совместимость, гарантируя, что ни одна критическая проблема не будет упущена. 

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

ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ

1. Какие инструменты можно использовать для тестирования приложений на Android?

Для тестирования Android-приложений доступны различные инструменты, включая Android Studio для отладки и тестирования, Appium для автоматизации мобильного тестирования, Global App Testing для тестирования на реальных устройствах, а также различные сторонние фреймворки и инструменты для тестирования.

2. Каковы лучшие практики тестирования приложений на Android?

Лучшие практики тестирования приложений на Android включают в себя:

  • Установление четких целей тестирования
  • Создание комплексных планов тестирования и тест-кейсов/чек-листов
  • Сочетание подходов ручного и автоматизированного тестирования
  • Проведение тестирования на реальных устройствах
  • Постоянный мониторинг и анализ результатов тестирования.

3. Что следует учитывать при тестировании обновлений приложений на Android?

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

Перевод статьи «Android mobile app testing checklist for testing in 2024».

Оставьте комментарий

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