← Назад к вопросам
Какие тест-кейсы переворота телефона можно протестировать
1.2 Junior🔥 91 комментариев
#Мобильное тестирование
Комментарии (1)
🐱
deepseek-v3.2PrepBro AI6 апр. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
# Тест-кейсы для проверки переворота (ротации) экрана телефона
Переворот экрана (ротация) — важная функциональность, влияющая на пользовательский опыт, особенно в приложениях с разной ориентацией. Ниже приведены ключевые тест-кейсы для тестирования этого аспекта.
1. Основная функциональность
1.1. Переворот в разных состояниях приложения
- Приложение запущено, активно: экран корректно переворачивается.
- Приложение в фоне: вернувшись в приложение, ориентация сохраняется или адаптируется к текущему положению девайса.
- Во время загрузки/сплэш-скрина: поведение должно быть согласовано с дизайном (чаще — фиксированная ориентация).
- При блокировке/разблокировке: ориентация экрана после разблокировки соответствует положению телефона.
1.2. Соответствие настройкам системы
- При включенной/отключенной автоповороте:
// Пример проверки через ADB (Android) adb shell settings put system accelerometer_rotation 0 // выкл. adb shell settings put system accelerometer_rotation 1 // вкл. - Изменение системной настройки автоповорота во время работы приложения.
1.3. Направления поворота
- Портрет → Ландшафт (по часовой/против часовой).
- Ландшафт → Портрет.
- Переворот на 180 градусов (портрет/ландшафт).
- Поворот вверх ногами (если поддерживается ОС/приложением).
2. Визуальная целостность и UI/UX
2.1. Адаптация интерфейса
- Контент не обрезается, не появляется пустых областей.
- Перерисовка элементов без мерцания или артефактов.
- Корректное изменение макета (например, навигация снизу → сбоку).
- Масштабирование контента (текст, изображения, видео) происходит пропорционально.
2.2. Элементы управления
- Клавиатура появляется и скрывается корректно, не загораживает поля ввода.
- Диалоги, тултипы, меню остаются на месте, не смещаются.
- Анимации и переходы плавные, без резких скачков.
2.3. Состояние ввода данных
- Фокус на поле ввода сохраняется.
- Текст в полях ввода не теряется, не дублируется.
- Курсор остается на своем месте.
3. Особые сценарии и интеграция
3.1. Медиаконтент
- Видеоплеер: ориентация изменяется, видео продолжает воспроизводиться, элементы управления адаптируются.
- Камера: переворот работает, кнопки управления доступны, превью отображается корректно.
- Аудиоплеер: интерфейс адаптируется, воспроизведение не прерывается.
3.2. Внешние устройства и соединения
- Подключение к проектору/TV (например, через HDMI, Miracast).
- Использование с Bluetooth-клавиатурой.
- Подключение/отключение зарядного устройства во время ротации.
3.3. Системные прерывания
- Входящий звонок/SMS/уведомление во время ротации.
- Низкий заряд батареи/режим энергосбережения.
- Переключение языка системы.
- Изменение размера шрифта/масштаба дисплея в настройках.
4. Производительность и стабильность
4.1. Крайние сценарии
- Быстрая, многократная ротация (стресс-тест).
- Поворот во время активных операций: загрузка данных, отправка формы, навигация между экранами.
- Работа в условиях слабого интернета/офлайн.
- Поворот с открытой тяжелой анимацией/игрой.
4.2. Обработка ошибок
- Краш/андрай приложения во время или после ротации.
- Утечки памяти (проверка через профилировщик).
- Поведение после восстановления из бэкапа.
- Работа в альбомной ориентации на устройствах с «челкой»/вырезом — контент не должен уходить под них.
5. Специфика платформ
5.1. Android
- Проверка
onConfigurationChangedв активити. - Сохранение состояния (
onSaveInstanceState/onRestoreInstanceState). - Разные версии ОС и кастомные прошивки (Samsung One UI, Xiaomi MIUI).
- Гибридные приложения (WebView) — поведение контента внутри.
5.2. iOS
- Поддержка всех ориентаций в
Info.plist(UISupportedInterfaceOrientations). - Методы
viewWillTransition(to:with:)иtraitCollectionDidChange(_:). - Особенности iPad (поддержка разделенного экрана, многозадачность).
- Safe Area — элементы интерфейса остаются в безопасной зоне.
// Пример проверки поддержки ориентаций в iOS
override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
return [.portrait, .landscapeLeft, .landscapeRight]
}
6. Инструменты и автоматизация
- Эмуляторы/симуляторы для первоначальных проверок.
- Физические устройства с разными размерами экранов, соотношениями сторон и ОС.
- Автоматизация через Appium, Espresso (Android), XCUITest (iOS) для регрессионного тестирования.
- Логирование и мониторинг крашей, связанных с изменением конфигурации.
Пример простого тест-кейса в Appium (Python):
from appium import webdriver
desired_caps = {
'platformName': 'Android',
'deviceName': 'emulator',
'app': '/path/to/app.apk'
}
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
# Тест: поворот экрана во время ввода текста
text_field = driver.find_element_by_id('com.example:id/input_field')
text_field.send_keys('Test text')
# Поворот в ландшафт
driver.orientation = 'LANDSCAPE'
assert text_field.text == 'Test text', 'Текст не сохранился после ротации'
# Поворот обратно в портрет
driver.orientation = 'PORTRAIT'
assert driver.orientation == 'PORTRAIT', 'Ориентация не изменилась на портрет'
Тестирование переворота телефона — это комплексная задача, затрагивающая функциональность, UI/UX, производительность и стабильность приложения. Необходимо проводить тесты на различных устройствах и в разных условиях для обеспечения высокого качества продукта.