Что такое отзыв разрешений в мобильном тестировании?

«Что такое отзыв разрешений в мобильном тестировании?» — вопрос из категории Мобильное тестирование, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Отзыв разрешений (Permission Revocation) — это сценарий, при котором пользователь вручную отменяет ранее предоставленные приложению права доступа к ресурсам устройства (камера, геолокация, контакты, микрофон и т.д.) через настройки операционной системы.

Цель тестирования: убедиться, что приложение корректно и безопасно обрабатывает потерю доступа, не падает и предлагает понятный UX.

Ключевые сценарии для проверки:

  1. Ручной отзыв в настройках ОС: Запустить приложение, предоставить разрешения, затем выйти и отозвать их в настройках устройства. Повторно открыть приложение.
  2. Graceful Degradation: Приложение должно обрабатывать ошибки доступа, показывать уместное сообщение пользователю и отключать зависящие от разрешения функции.
  3. Отзыв во время работы: Отозвать разрешение, когда приложение активно его использует (например, во время съёмки).
  4. Логика повторного запроса: Приложение должно корректно запрашивать разрешение снова, когда это необходимо.

Пример проверки на Android (Kotlin):

// Проверка текущего статуса разрешения
if (ContextCompat.checkSelfPermission(
        this,
        Manifest.permission.ACCESS_FINE_LOCATION
    ) == PackageManager.PERMISSION_DENIED
) {
    // Разрешение отозвано. Отключаем функциональность.
    disableLocationFeatures()
    showAlert("Для работы карты включите геолокацию в настройках.")
}

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