![](https://habrastorage.org/webt/ub/oi/dw/uboidwpj1lcac-lp2jo_4ln_jhg.jpeg)
Алоха! Меня зовут Даша, я тестирую мобильные приложения. Скоро Хэллоуин, а FunCorp традиционно обновляет к некоторым праздникам иконку и сплеш. Сейчас именно такой случай, потому что большинство наших пользователей находятся в США. Задача показалась тривиальной, я быстро составила базовый чек-лист на 8 пунктов, но в процессе нашла ещё несколько кейсов, и он вырос до 13-ти (прилагается).
Здесь нет rocket science, я лишь расскажу, на что стоит обращать внимание в таких тасках, чтобы не пропустить лишних багов в прод — и на Android, и на iOS.
Итак, что мы ожидали получить во время праздничного обновления:
![](https://habrastorage.org/webt/9h/qp/fx/9hqpfxwut5m_i32hwrhvvkiweeq.jpeg)
![](https://habrastorage.org/webt/nj/jg/bd/njjgbdwonttbvlfxnbokgpsph0k.jpeg)
Ожидаемый результат. Всё просто
«Это же всего лишь иконка и сплеш», — подумала я, и сразу наметился базовый чек-лист с проверками.
- Обновление приложения.
- Чистая установка.
- Запуск → сворачивание.
- Свёрнутое в недавних.
- Добавление иконки на главный экран (Android only).
- Разные экраны.
- Разные версии оси.
- Сплеш.
Но задач без багов не бывает, поэтому я пошла гуглить, какие «подводные камни» известны комьюнити. Далее расскажу, что может ожидать во время тестирования, и в конце покажу обновлённый чек-лист.
Трудности Android
Первое, что приходит на ум, — на Android очень много устройств с разными характеристиками, отсюда и вытекают большинство проблем.
Иконка
Помимо базовых проверок, стоит обратить внимание на пуши, потому что они важны для ретеншена. Из «спецэффектов» здесь можно встретить проблемы с отображением иконок — например, в нашем случае иконка в статус-баре была ярче, чем нужно, а под «шторкой» вообще сливалась с фоном:
![](https://habrastorage.org/webt/j-/e5/qs/j-e5qs1_qg7141svsp0xx2zr7ps.jpeg)
![](https://habrastorage.org/webt/wg/qz/wa/wgqzwalap1iksykuywff-uiouxq.jpeg)
Также иконка может криво выглядеть на разных icon shapes:
![](https://habrastorage.org/webt/5s/jm/h-/5sjmh-qlzvhiljwu1hxp6htabrg.jpeg)
Android 10/Pixel
Добавляем в чек-лист:
- Иконки в пушах
- Разные icon shapes.
Сплеш
Сплеш несколько сложнее иконки, поэтому большая линейка устройств и фрагментированность ожидаемо сказываются и на нём. Если сплеш, как и у нас, состоит из двух частей — фона и лого, то проблемы возникают ещё чаще.
Например, лого отдельно может оказаться меньше или больше ожидаемого:
![](https://habrastorage.org/webt/vq/qv/lh/vqqvlhp9lpdej3ncelfjkjuxn8m.jpeg)
Растянутым или сжатым:
![](https://habrastorage.org/webt/vp/dx/9u/vpdx9uvltei1rvj6jpdz66s3czk.jpeg)
Не по центру (если это не ожидаемо):
![](https://habrastorage.org/webt/3n/bh/6p/3nbh6phni0n1mhcije3nwsidj0s.jpeg)
Теперь рассмотрим возможные проблемы с фоном сплеша.
Он может спрятаться под виртуальные кнопки:
![](https://habrastorage.org/webt/kk/dy/9i/kkdy9itr7xoqhyt_gaz8kfzrzxq.jpeg)
Сжаться или растянуться:
![](https://habrastorage.org/webt/dd/qm/8i/ddqm8ifxbo6fkxkbhantod61qdg.jpeg)
Те же проблемы с центрированием фона, что и у иконки:
![](https://habrastorage.org/webt/kk/dy/9i/kkdy9itr7xoqhyt_gaz8kfzrzxq.jpeg)
Поворот экрана — довольно часто узкое место, тут может возникать неприятное мерцание сплеша:
![](https://habrastorage.org/webt/yr/6i/na/yr6inax6eguvuovtmkhk2gspdek.jpeg)
Ко всему прочему добавляем в чек-лист:
- Поворот экрана.
Трудности iOS
На iOS я ожидала меньше возможных проблем, так как там обычно есть адаптивность под поддерживаемые версии ОС и устройств. Так и случилось.
Но не спешите нажимать Tested: основная проблема связана с кэшированием ОС иконки и сплеша.
Иконка
Она не доставила особых проблем, кроме того, что при поиске приложения на девайсе и в недавних приложениях иногда отображалась старая. Баг не воспроизводился регулярно, поэтому решили его не трогать, были более приоритетные неминорные задачи. Ни одной жалобы от пользователей пока не получили.
![](https://habrastorage.org/webt/cv/cx/x0/cvcxx0fr1opzk1bwxkpunfyyrxo.jpeg)
![](https://habrastorage.org/webt/vi/xx/d8/vixxd8dsrqhmrjw_hkepq5s_uko.jpeg)
В чек-лист добавляем:
- Поиск приложения на устройстве.
- Свёрнутое приложение в списке недавних.
Сплеш
После обновления приложения сначала показывался старый сплеш, который менялся на новый. При этом кэш не чистился ни удалением приложения, ни рестартом девайса.
![](https://habrastorage.org/webt/l3/sk/b1/l3skb1pstmi-5jbwefn7t8aezu8.jpeg)
Вот что могли бы увидеть пользователи, но до них это, к счастью, не дошло
Но мы нашли решение. Например, чистить кэш так, как написано в этой статье.
Добавляем пометку — «не забыть про кэширование на iOS».
Финальный чек-лист
Итак, я добавила шесть новых пунктов, и теперь список выглядит вот так:
- Обновление приложения + не забыть про кэширование на iOS.
- Чистая установка.
- Запуск → сворачивание.
- Свёрнутое приложение в недавних.
- Поиск приложения на девайсе.
- Разные экраны.
- Поворот экрана.
- Разные версии оси.
- Иконка в пушах.
- Разные icon shapes.
- Добавление иконки на главный экран (Android only).
- Сплеш.
- Cплеш с виртуальными кнопками (Android only).
По итогу могу сказать, что мне и разработчику такой список в самом начале очень пригодился бы, чтобы сэкономить количество итераций разработка-тестирование.
А если во время тестирования вы тоже сталкивались с нетривиальными проблемами и способами их решения, пожалуйста, напишите, чтобы мы могли вместе дополнить этот список. Весёлого Хэллоуина!
![](https://habrastorage.org/webt/9a/od/hx/9aodhxdbyuzj8znvo0o55wk5e9w.jpeg)