- Кратко
- Функциональные
- Безопасности
- Производительности
- Юзабилити
- Восстановления
- Совместимости
- Сети
- Батарея
- Локализации
- Регрессионные
- Интерфейсные
Суть
Сложно поверить, но были времена, когда мобильные приложения ограничивались примитивными Java-игрушками, на экранах 240х320 пикселей. Сейчас же, каждая ИТ-компания создающая потребительский софт, почти автоматически делает и мобильную версию. У пользователей уже сотни миллиардов экземпляров приложений — и разумеется, они все тестируются, и это непростой и достаточно трудоемкий процесс. Поэтому есть необходимость сформулировать набор самых частых тестовых сценариев и тест-кейсов в мобильном тестировании, в виде чек-листа, не претендующего на полноту, а скорее как ориентир, или при нехватке времени.
Кстати, в мире огромный спрос на «мобильных тестировщиков», то есть в сегменте Mobile application testing (MAT), поэтому тема релевантна для потенциальных релокантов.
Функциональное
- Опции логина в приложение через экаунты в соцсетях, как они работают
- Навигация между различными модулями приложения
- Убедиться, что функции свайпа и прокрутки работают корректно
- Многозадачность
- Сообщения об ошибках, их корректность, своевременность
- Корректность работы приложения в связке с платежными системами (оплата в приложении и т.п.); платежные шлюзы
- Проверка установки и удаления — есть ли проблемы при скачивании, установке, удалении приложения (инсталляционное)
Безопасности
- Проверка приложения на устойчивость к атакам типа подбора/угадывания юзернеймов и паролей
- А также защищенность чувствительной финансовой информации, особенно данных кредитных карт
- Качество защиты паролей (сложность, длина, спецсимволы)
- Защищенность от SQL-инъекций
- Проверка динамических зависимостей в приложении, и превентивные меры в этой сфере
- Отдельно защита от client-side и рантайм-инъекций
- Уязвимости в файловой системе
- Неиспользуемый и мертвый код
- Качество криптографии
- Анализ безопасности third-party-интеграций в приложении
- Безопасность при кэшировании файлов
- Тест, как себя ведет приложение, если атака уже произошла или в процессе — а именно защищенность чувствительных финансовых, конфиденциальных и личных данных при этом
- Проверка безопасности со стороны бэкенда и фронтенда
Производительности
- Способно ли приложение, не теряя эффективности, работать при минимальном, среднем и пиковом уровне нагрузки (нагрузочное)
- Способно ли приложение достичь необходимого (оптимального) уровня производительности при существующей клиент-серверной конфигурации
- Валидация потребления ресурсов процессора при переключении между сетями
- Производительность камеры и GPS, соответствует ли гайдлайнам
- Отдельно тестирование API (имеется в виду нагрузочное тестирование API)
- Проверка, сколько одновременных пользователей может выдержать приложение (объемное)
Юзабилити
- Видимость, ясность, простота для пользователя
- Может ли пользователь легко найти меню помощи и/или любую справочную информацию о приложении (мануалы и пр.)
- Может ли пользователь легко отменить любое свое действие, если передумал
- Есть ли возможность увеличить/уменьшить экранную клавиатуру
- Легко ли делается зум в приложении
- Размер, стиль (и единство стиля), расположение основных кнопок
Восстановления
- Как приложение восстанавливает работу после неожиданного сбоя
- Как приложение ведет себя при сбое во время транзакции (финансовой)
- Способность восстанавливать данные после сбоя подключения
- Поведение при внезапной потере питания в смартфоне (выключение)
Совместимости
- Каждый контрол или текст должен быть видим и легко доступен
- Максимальная читаемость текста
- Как приложение продолжает работу после принятия звонка
- Как приложение работает в различных конфигурациях
- Обратная совместимость
- Кроссбраузерная совместимость (ввиду большого количества мобильных браузеров)
- Стабильность интерфейса в разных ОС, платформах и девайсах (здесь таблицы их распространенности в 2022 году)
Сеть
- Как приложение ведет себя после рестарта
- Как — при плохом покрытии или вообще без покрытия
- Латентность
- Отдельно проблемы с аутентификацией в условиях плохой сети
- Поведение при переключении между 3G/4G/5G
Батареи
- Потребление батареи
- В частности, при запуске
- Как идет кривая потребления при большой нагрузке
- Как новые добавленные функции влияют на потребление
Локализации
- Поддерживает ли локализацию
- В первую очередь шрифты
- Работают ли все функции в любой локации
- Особенно в других временнЫх зонах
Регрессионные
- Имеют ли значительные изменения/коррекции в приложении какой-либо негативный эффект на существующую функциональность и юзабельность
- Новые функции
- Плавность после имплементации
Интерфейсные
- Например, стираются ли введенные данные, если приложение ушло в фоновый режим
- Качество скроллинга, тормозит ли при lazy-loading
- Рендеринг изображений
- Отдельно логотип приложения
- Прогресс-бар
- Валидация интерфейса: свайп, навигация главного меню, сообщения об ошибках, также отдельно всплывающие попапы, карусельки и прочее интерфейсное.
***
Дополнительно по теме:
Тестирование мобильных приложений: шаги и процедуры
Большой гайд по тестированию Android-приложений
Большой гайд по Appium (архитектура и примеры)
***