Тестируемое приложение тип не определен
По разным данным в среднем человек проводит с мобильным устройством от 3 до 6 часов в день. Это большая аудитория, возможно она даже больше аудитории десктопных приложений. Раз мобилками пользуется так много людей, значит там много денег. Чтобы заработать больше деньег качество приложения должно быть на высоте. Конечно же за это качество отвечают в большей степени тестровщики.
Чтобы обеспечить достойное качество мобильного приложения нужно знать основные принципы мобильного тестирования. О них и поговорим ( если что-то забыл, добавляй в комментариях ).
В конце статьи бонусом собрал видео лекции об особенностях мобильного тестирования.
С чего начать
Мобильные приложения делятся на 3 типа:
- Нативное приложение - приложение под определенную платформу доступное через маркетплейс (Google Play, AppStore и т.д.). Еще одно важно отличие - автономная работа в режиме оффлайн. Яркий пример мобильные игры.
- Веб-приложение - открывается через браузер, а значит это просто веб-сайт.
- Гибридное приложение - устанавливается через маркетплейс, а отображается внутри приложения как веб-сайт. Часто это приложения супермаркетов, недорогих доставок еды.
Немного о плюсах и минусах типов
Говорим о плюсах и минусах именно для тестирования. Если говорить в общем, то список будет намного длинее. Например, нативное приложение очень дорогое в ращработке и тестировании, что является минусом для бизнеса.
Плюсы нативного приложения:
- практически вся функциональность доступна в оффлайне
- скорость работы выше других типов моб. приложений
- полный доступ к функциям девайса (FaceID, отпечаток пальца, камера и т.п.)
Минусы нативного приложения:
- правки багов доезжают только при релизе следующей версии
- тестирование на каждой платформе
- занимают больше памяти
- правки багов приезжают быстрее
- тестирование проводится в браузере и не сильно завязано на ОС/модель телефона/платформу
- не требуется тестировать установку, удаление и обновление
- ограниченный доступ к функциональности девайса (FaceID, отпечаток пальца, камера и т.п.)
- не работают в оффлайне
Плюсы гибридного приложения:
- мультиплатформенные, т.е. реализация на всех ОС одна
- правки багов приезжаюь быстрее, т.к. по сути функционал это встроенный веб-сайт в приложение
- могут использовать большинство функций девайса
Минусы гибридного приложения:
- не работают в офлайне
- ограниченный доступ к функциональности девайса
Типы тестирования мобильных приложений
- Функциональное тестирование - проверка реализованного функционала. Чаще всего сравнивается реализация и ТЗ.
- Тестирование пользовательского взаимодействия (также известное, как тестирование удобства использования, тестирование UX) - удобства работы с приложнием: свайпы, тапы, скролы и т.п.
- Тестирование совместимости - установка на разные ОС, платформах, на разных моделях, проверка на разных разрешениях и т.п.
- Тестирование подключения - проверка на разных типах подключения(wi-fi, мобильная сеть), переключение типов и оффлайн работа
- Тестирование производительности - утечка памяти, стабильность работы при большом количестве пользователей и т.п.
Как выбрать устройства для тестирования
Платформа (смартфон или планшет), ОС определяютя техническим заданием.
Выбор версий и моделей базируется на статистике. Это либо внутреняя статистика вашего сервиса (google analytics, яндекс метрика) или общедоступные дашборды:
- официальная статистика использования устройств Apple
- официальная статистика использования устройств Android
- deviceAtlas - позволят получить выборку по разным параметрам (регион, производитель и т.д.)
- statcounter - аналог deviceAtlas
Дальше зависит от технической базы твоей компании. По возможностям выбираете тестирование на физических устройствах, сервисах удаленного доступа к физическим устройствам ( perfecto , Device Everwhere ) или на симуляторах/эмуляторах.
Не стоит забывать про тестирование на пользователях в бете. Это возможно тестирования на широком наборе устройств, с разными ОС, ресурсами и т.д. Например, в Google Play при публикации приложения есть возможность раздать новое приложение только на некоторый процент пользователей.
Основные проверки по типам тестирования
Функциональное тестирование
- Установка приложения
- Тестирование по ТЗ
- Соответствие общепринятым правилам, например, математическим
- Первый запуск приложения
- Открытие приложения из списках активных (горячий старт)
- Открытие приложения, когда его нет в списке активных (холодный старт)
- Открытие приложения интентом, т.е. вызвать другим приложением, например, тап по ссылке в мессенджере вызывает тестируемое приложение
- Закрытие (только тестируемого приложения, всех приложений в менеджере приложений)
- Удаление приложения из разных точек (логнтапом по иконке, из списка установленных приложений)
- Обновление ( важно проверить сохраность пользовательских действий)
Тестирование пользовательского взаимодействия
Про тестирование пользовательского взаимодействия можно говорить много, поэтому поговорим об этом в отдельном посте (не забудь подписаться , чтобы не пропустить).
Тестирование совместимости
- Проверка на платформах: смартфон, планшет. Возможно по ТЗ будет необходимость проверить на умных колонках, часах или навигаторе.
- Тестирование на разных девайсах: модель, производитель, версиях ОС.
- Если это веб-приложение, то проверить на топовых браузерах
- Проверка на разных разрешениях и масштабах, в альбомной и портретных ориентациях экрана
- Перенос приложения на внешний/внутрений носитель
- Проверка доступности 3rd party services (CDN, библиотеки и т.п.)
Тестирование подключения
- Тестирование при подключеном Wi-Fi, 4G/3G/E/etc
- Разрыв и восстановление сети
- Переключение с одного типа сети к другому
- Оффлайн
- Смена, отключение геопозиции
Тестирование производительности
- Если это веб-приложение, то замерить производительность Lighthouse , Яндекс Метрикой и т.п.
- Репорты с маркетплейсов. Например Google Play присылает отчет об опубликованном приложении (безопасность, краши и т.п.)
- Отзывы пользователей
- Нагрузочное/стресс/стабильности тестирование
Особенности, о которых нужно помнить
Некоторые особенности, которые отличают мобильные приложения от десктопных, и как следствие накладывают дополнительные условия тестирования:
- Смена геопозиции в широком диапазоне. Юзер мобильных приложений более подвижные, чем десктопные :)
- Устройства сильно различаются: платформа, ОС, разрешение, ориентация, ресурсы (память, камера, наличие внешней памяти, датчики освещенности, ориентация экрана, датчики bluetooth/NFC/Wi-Fi/4G/etc)
- Способ взаимодействия в 90% тач. Плюс многие сенсоры оснащены мультитачом.
- Отдельно стоит проверить установку/обновление/работы при недостатке памяти
- Работу при отключении/включении функциональности девайса: bluetooth, NFC, режим полета, ночное освещение, движение глазами и т.п.
- Ограничения ОС. Тут куча кейсов с блокировкой кук, передачи геопозиции и т.п. на уровне ОС.
- Извлечение/переключение sim/flash-карты
Бонус
Особенности тестирования мобильных приложений
Читайте также: