Что такое кэш в мобильном приложении и какая информация в нем хранится?
Что проверяют
Понимаете ли вы, что кэш это не абстрактное «ускорение», а конкретные файлы и записи на устройстве, у которых есть срок годности и владелец. Для тестировщика за этим стоит целый класс дефектов: приложение показывает устаревшее, показывает чужое или хранит то, что хранить нельзя.
Как отвечать
Кэш это локальная копия данных, которая избавляет от повторного запроса в сеть или от повторного тяжёлого вычисления. В мобильном приложении он лежит слоями: кэш HTTP-ответов сетевой библиотеки (по заголовкам Cache-Control, ETag), кэш изображений, локальная база с уже загруженными сущностями, кэш в оперативной памяти на время жизни экрана.
Что кэшируют обычно: ответы API, которые меняются редко (справочники, каталог, лента), изображения и аватары, конфигурацию фич, настройки интерфейса, черновики пользовательского ввода.
Что в кэше лежать не должно: пароли, токены, коды подтверждения, платёжные и персональные данные. Секреты живут в защищённом хранилище платформы.
Дальше переходите к проверкам, ради них вопрос и задан: первый запуск против повторного, поведение без сети и в режиме полёта, обновление данных после изменения на сервере, принудительное обновление жестом, выход из аккаунта и вход под другим пользователем (данных предыдущего остаться не должно), очистка кэша средствами системы, заполненный диск, обновление версии приложения со сменой формата хранения.
Где спотыкаются
Путают кэш и постоянное хранилище. Кэш можно потерять в любой момент, и приложение обязано это пережить, а вот черновик заказа или офлайн-данные пользователя терять нельзя. Если очистка кэша уносит данные, это дефект, а не особенность.
Проверяют только сценарий с сетью. Самое интересное начинается при плохой связи и при подмене ответа сервера: показывается ли старое значение, помечено ли оно как устаревшее, что происходит при ошибке обновления.
Не смотрят, что именно осело на устройстве. Проверка содержимого хранилища после выхода из аккаунта и после отмены доступа регулярно вскрывает и чужие данные на экране, и токен, сохранённый в обычном файле.