Распространенные баги на Android

Распространенные баги на Android

t.me/qa_chillout

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

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


#10

WebView. Часто различные рекламные кампании оформляют в виде вебвью. Пользователь может на него попасть перейдя с баннера, попапа и множества других мест. А вот вернуться обратно, порой, задача неосуществимая. Теряются «крестики» и другие кнопки «назад». Также следует помнить и о заголовках экранов.

#9

Кэш. При переходе между экранами подтягиваются старые данные, например вы переходите с одной карточки товара в профиль продавца, затем в другую карточку продавца, из нее в профиль продавца, опубликовавшего последний товар. И что вы замечаете? У вас отображается имя продавца, разместившего первый товар. Этот пример довольно тривиальный, однако стоит проверять то, какие данные «прокидываются» на следующий экран: данные/оплаты/заголовки/суммы и прочее.

#8

Сортировки. Различные виды сортировок ленты: по умолчанию/по удаленности/по новизне/по стоимости и многие другие. Важно проверять то, как будет отображаться лента после примененной сортировки, например, мы выбрали сортировку по стоимости от дешевого товара к более дорогому, соответственно самые первые товары должны идти с наименьшей ценой.

#7

Фильтры. Следом за сортировками идут фильтры. Чаще всего баги обнаруживаются, когда нам необходимо комбинировать много различных вариантов входных данных (например мы хотим куртку черного цвета, а еще и 46 размера, а также ...).
В данном случае можно применить технику попарного тестирования (pairwise testing), с целью разработать тестовые сценарии таким образом, чтобы выполнить все возможные отдельные комбинации каждой пары входных параметров. А также не стоит забывать и о том, чтобы проверить, что выбранные фильтры отображаются корректно.

Отдельное внимание стоит уделять виду отображения ленты. Часто при изменении вида отображения карточки ломается верстка. Например, в большой карточке пропало изображение товара, а в списке — карточки отображаются по правому краю и сместился бейджик безопасной сделки.

плитка/большая карточка/список

#6

Do not keep activities. Когда включена настройка «Do not keep activities» в режиме для разработчиков Android, все неактивные активити умирают. Т.е. после перехода из активити A в активити B, активити A уничтожается. Разработчикам и тестировщикам данная опция помогает имитировать случай, когда Android убивает активность в фоновом режиме из-за нехватки памяти. 

А теперь пример: вы заполняете данные о себе, например заполнили свое ФИО, возраст, прописку, номер телефона, СНИЛС, паспорт, однако забыли номер водительского удостоверения. Сворачиваете приложение, чтобы открыть галерею, возвращаетесь обратно в приложение, а там все поля очищены. Уже от прочтения чувствуется боль :)

Смена ориентации экрана. Самый простой еще способ убить активити — повернуть экран, но не все приложения поддерживают данную опцию.


Background process limit. «Лимит фоновых процессов» ограничивает количество процессов, одновременно активных в фоновом режиме. Работает практически так же, как «Не сохранять действия».

#5

Заглушки. Представьте, что вы открываете только что скачанное мобильного приложение, заходите в «Избранное», а вместо контента видите пустой экран. Какая ваша первая мысль? Наверное, «Оу, что-то сломалось?» или «Что за ерунду они написали?». А на самом деле причина в том, что в раздел «Избранное» вы просто ещё не успели добавить товары, сохранить поиск, подписаться на продавца.

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

#4

Тоасты. Можно встретить алерты, тоасты и прочие уведомления, которые не переведены, либо же в которых отображается какая-либо ошибка как на примере ниже:

#3

Дублирование экранов. Пользователь нажимает кнопку, чтобы перейти на какой-либо экран, а вместо одного экрана открывается несколько. На примере ниже, пользователь нажимает на кнопку «Купить сейчас», а вместо одного экрана открывается сразу два:

#2

Верстка.

Длинные названия каких-либо товаров, блюд, категорий и прочего — важно проверять, чтобы скрывалось под «...». В данном примере название товара и старая цена выезжают за границы карточки товара:

Разные разрешения экранов. Есть устройства с разным разрешением экранов. И корректное отображение кнопки, поля и т.д. на одном девайсе может совсем иначе выглядеть на другом.

#1

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

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

#0

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


*Все представленные баги в статье являются искусственно воспроизведенными и любое сходство с реальными багами — случайно.

Обсудить статью, узнать больше можно в телеграм канале «Тестировщики нужны».

Report Page