На что обратить внимание при тестировании функции аутентификации по отпечатку пальца (Biometric Auth)?

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

Ответ

Тестирование биометрической аутентификации включает проверку функциональности, безопасности, устойчивости к ошибкам и удобства использования.

1. Функциональное тестирование:

  • Регистрация (Enrollment): Успешное добавление отпечатка в систему. Проверка возможности добавления нескольких отпечатков.
  • Аутентификация (Verification):
    • Успешный вход зарегистрированным пальцем.
    • Ложный отказ (False Rejection) — система не узнала правильный палец (проверьте несколько раз).
    • Ложное принятие (False Acceptance) — система приняла незарегистрированный палец (критично для безопасности).
  • Удаление отпечатка из настроек приложения и системы.

2. Тестирование граничных условий и ошибок:

  • Частичное прикладывание пальца.
  • Разные углы и положение пальца на сканере.
  • «Грязный» сенсор или палец (влажность, грязь, крем).
  • Быстрое/многократное прикладывание.
  • Отмена аутентификации (нажатие кнопки «Отмена» или вне зоны сканирования).
  • Использование после длительного перерыва (проверка кэша).

3. Тестирование безопасности:

  • Устойчивость к спуфингу: Попытка обмана с помощью фотографии пальца высокого разрешения, муляжа из силикона или желатина. Это часто требует специального оборудования.
  • Логика блокировки: После N неудачных попыток аутентификация по отпечатку должна блокироваться, предлагая альтернативный метод входа (пароль/PIN).
  • Локальное хранение: Данные отпечатка должны храниться в безопасном хранилище устройства (Keychain для iOS, Keystore для Android), а не передаваться на сервер.

4. Интеграционное и системное тестирование:

  • Взаимодействие с системными настройками: Изменение/удаление отпечатка в настройках ОС должно корректно обрабатываться приложением.
  • Переключение между методами входа: Возможность использовать пароль, если биометрия недоступна или не сработала.
  • Работа в фоне: Аутентификация при переключении из фонового режима.
  • Разные типы сканеров: Ультразвуковые (Samsung), оптические, capacitive.

5. Автоматизация (пример с Appium для Android):

# Appium поддерживает эмуляцию отпечатка на эмуляторах Android
# Команда для успешной аутентификации
driver.finger_print(1)  # Аргумент 1 = успех

# Команда для неудачной аутентификации
driver.finger_print(0)  # Аргумент 0 = неудача

# На реальных устройствах автоматизация биометрии сложна, 
# часто требуется ручное тестирование или использование специальных инженерных команд.

6. Юзабилити:

  • Четкие инструкции на экране аутентификации.
  • Время отклика сканера (должно быть быстрым).
  • Обратная связь: Вибрация или звук при успешном/неуспешном сканировании.
  • Доступность: Предусмотрен ли альтернативный метод входа для пользователей с ограниченными возможностями?