Как приложение должно себя вести при ошибке диплинка
Что проверяют
Умеете ли вы видеть за словом «диплинк» набор разных состояний: приложение установлено или нет, пользователь залогинен или нет, ссылка валидна или устарела. Следом обычно просят придумать тест-кейсы и спрашивают, как вы проверите переход без реального клика по ссылке.
Как отвечать
Сначала договоритесь, что ожидаемое поведение фиксируется в требованиях, а не угадывается тестировщиком. Затем пройдитесь по сценариям ошибки:
- приложение не установлено: проверенные ссылки (App Links на Android, Universal Links на iOS) открывают сайт, а на кастомной схеме вида
myapp://браузер покажет ошибку, поэтому нужен веб-фолбэк или страница со ссылкой на стор; - маршрут неизвестен или параметры битые: приложение не падает и не остаётся на пустом экране, а открывает понятную заглушку или главный экран;
- контент удалён или недоступен: внутри приложения экран «не найдено» с выходом дальше, а не бесконечный лоадер;
- нужна авторизация: после входа пользователь попадает туда, куда вела ссылка, а не на главную;
- старая версия приложения: маршрут ещё не поддержан, нужен фолбэк или предложение обновиться.
Отдельно проверяются холодный старт, приложение в фоне и уже открытый экран, а также кнопка «Назад»: без пустых экранов и зацикливания, так, как описано в требованиях. И лог: ошибка перехода должна попадать в аналитику.
Инструменты: на Android adb shell am start -W -a android.intent.action.VIEW -d "myapp://item/42", на симуляторе iOS xcrun simctl openurl booted "myapp://item/42". Для проверенных ссылок убедитесь, что assetlinks.json и apple-app-site-association отдаются с домена по HTTPS без редиректа.
Где спотыкаются
Тестируют только валидную ссылку при уже открытом приложении. Большая часть багов прячется в холодном старте и в сценарии «сначала логин».
Считают нормой, что при ошибке приложение молча открывает главную. Пользователь не понимает, что произошло, и если требования говорят иное, это дефект.
Путают кастомную схему и проверенные ссылки. Без установленного приложения они ведут себя по-разному, и тест-кейсы для них тоже нужны разные.