Ответ
Проверка граничных условий (Boundary Value Analysis) в мобильных приложениях фокусируется на крайних значениях входных данных и экстремальных состояниях системы.
Основные области и примеры проверок:
| Область | Граничные условия для проверки |
|---|---|
| Ввод данных | Минимальное/максимальное количество символов в поле. Пустая строка и строка из пробелов. Допустимые и недопустимые символы (например, эмодзи в поле «Имя»). Крайние числовые значения (0, -1, максимальный int). |
| Аппаратные ограничения | Низкий заряд батареи (<5%). Слабые сети (2G, 3G) и их потеря. Минимальный объем свободной памяти. Одновременные входящие звонки/SMS. |
| Особенности ОС и устройства | Разные разрешения экрана и плотность пикселей (DPI). Смена ориентации (портрет/ландшафт) во время операции. Увеличенный размер шрифта в настройках системы. Темная/светлая тема. |
| Состояния приложения | Первый запуск после установки. Запуск при обновлении с старой версии. Работа в фоне и восстановление. Одновременное выполнение нескольких операций (мультитач). Максимальное количество элементов (список из 1000+ записей). |
Пример автоматизированной проверки граничного значения (Appium + Python):
from appium import webdriver
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['deviceName'] = 'emulator'
# ... другие capabilities
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
# Тестируем поле с ограничением от 1 до 100
input_field = driver.find_element_by_id('com.example.app:id/number_input')
# Проверка нижней границы (0 и 1)
input_field.send_keys('0')
save_button = driver.find_element_by_id('com.example.app:id/save')
save_button.click()
error_message = driver.find_element_by_id('com.example.app:id/error').text
assert "Значение должно быть не менее 1" in error_message
# Проверка верхней границы (100 и 101)
input_field.clear()
input_field.send_keys('101')
save_button.click()
error_message = driver.find_element_by_id('com.example.app:id/error').text
assert "Значение должно быть не более 100" in error_message
Рекомендация: Используйте эмуляторы и симуляторы для моделирования редких аппаратных условий, а реальные устройства — для проверки тактильных ощущений и производительности.