company_banner

Дополняем чек-лист тестирования при обновлении иконки и сплеша в мобильных приложениях



    Алоха! Меня зовут Даша, я тестирую мобильные приложения. Скоро Хэллоуин, а FunCorp традиционно обновляет к некоторым праздникам иконку и сплеш. Сейчас именно такой случай, потому что большинство наших пользователей находятся в США. Задача показалась тривиальной, я быстро составила базовый чек-лист на 8 пунктов, но в процессе нашла ещё несколько кейсов, и он вырос до 13-ти (прилагается).

    Здесь нет rocket science, я лишь расскажу, на что стоит обращать внимание в таких тасках, чтобы не пропустить лишних багов в прод — и на Android, и на iOS.

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




    Ожидаемый результат. Всё просто

    «Это же всего лишь иконка и сплеш», — подумала я, и сразу наметился базовый чек-лист с проверками.

    1. Обновление приложения.
    2. Чистая установка.
    3. Запуск → сворачивание.
    4. Свёрнутое в недавних.
    5. Добавление иконки на главный экран (Android only).
    6. Разные экраны.
    7. Разные версии оси.
    8. Сплеш.

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

    Трудности Android


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

    Иконка

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





    Также иконка может криво выглядеть на разных icon shapes:


    Android 10/Pixel

    Добавляем в чек-лист:

    • Иконки в пушах
    • Разные icon shapes.

    Сплеш

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

    Например, лого отдельно может оказаться меньше или больше ожидаемого:



    Растянутым или сжатым:



    Не по центру (если это не ожидаемо):



    Теперь рассмотрим возможные проблемы с фоном сплеша.

    Он может спрятаться под виртуальные кнопки:



    Сжаться или растянуться:


    Те же проблемы с центрированием фона, что и у иконки:



    Поворот экрана — довольно часто узкое место, тут может возникать неприятное мерцание сплеша:



    Ко всему прочему добавляем в чек-лист:

    • Поворот экрана.

    Трудности iOS


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

    Но не спешите нажимать Tested: основная проблема связана с кэшированием ОС иконки и сплеша.

    Иконка

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





    В чек-лист добавляем:

    • Поиск приложения на устройстве.
    • Свёрнутое приложение в списке недавних.

    Сплеш

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


    Вот что могли бы увидеть пользователи, но до них это, к счастью, не дошло

    Но мы нашли решение. Например, чистить кэш так, как написано в этой статье.

    Добавляем пометку — «не забыть про кэширование на iOS».

    Финальный чек-лист


    Итак, я добавила шесть новых пунктов, и теперь список выглядит вот так:

    1. Обновление приложения + не забыть про кэширование на iOS.
    2. Чистая установка.
    3. Запуск → сворачивание.
    4. Свёрнутое приложение в недавних.
    5. Поиск приложения на девайсе.
    6. Разные экраны.
    7. Поворот экрана.
    8. Разные версии оси.
    9. Иконка в пушах.
    10. Разные icon shapes.
    11. Добавление иконки на главный экран (Android only).
    12. Сплеш.
    13. Cплеш с виртуальными кнопками (Android only).

    По итогу могу сказать, что мне и разработчику такой список в самом начале очень пригодился бы, чтобы сэкономить количество итераций разработка-тестирование.

    А если во время тестирования вы тоже сталкивались с нетривиальными проблемами и способами их решения, пожалуйста, напишите, чтобы мы могли вместе дополнить этот список. Весёлого Хэллоуина!

    FunCorp
    Разработка развлекательных сервисов

    Комментарии 8

      +5
      Я бы добавил пункт «проверить дизайнеров на профпригодность». Хуже вот этого все равно ничего нет, я теперь совсем не понимаю, в какой вкладке, что у меня открытоimage
        0
        Ну что же тут непонятного, во всех вкладках радуга
          +1

          Меня от одной иконки почты уже выворачивало а оказывается таланты там вообще все перекрасили… Это просто ужас…
          За статью спасибо, интересно на чем команда ведет разработку?

            0
            новые тренды добавляют нам, время покажет стрельнет это или нет
              +2
              Команда iOS использует Swift + Objective-C, AFNetworking для работы с сетью, Snapkit для верстки, CoreData для хранения данных, MoPub для работы с рекламой, Jenkins + Fastlane для CI/CD.
              У команды Android основной стек: ЯП — Kotlin, DI — Dagger, Navigation — Cicerone, Async — RxJava, Content — Glide/ExoPlayer/Свои разработки, Network — OkHttp/Retrofit, DB — Realm(уходим от него), Room, Аналитика — Firebase/DWH (своя разработка), Тесты — JUnit, Robolectric, Espresso, Mockito.
            +1
            Спасибо! Это алгебраично!
              0
              После обновления приложения сначала показывался старый сплеш, который менялся на новый. При этом кэш не чистился ни удалением приложения, ни рестартом девайса.

              Если воспользоваться обоими способами одновременно — то работает. 1) Удалить приложение 2) ребутнуть девайс 3) установить и запустить приложение
              Но, в любом случае это не аффектит конечных юзеров которые устанавливают приложение из аппстора, а только мешает тестированию.
                +1
                Оба способа одновременно не подходят для проверки обновления приложения, которое может заафектить обновляющихся юзеров.

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

              Самое читаемое