Ответ
Тестирование смены ориентации (портретной на ландшафтную и обратно) необходимо, потому что пользователи часто вращают устройство для удобства просмотра контента, и приложение должно корректно адаптироваться к этому изменению.
Основные цели тестирования:
- Сохранение состояния (State Retention): Данные на экране (текст в полях, позиция прокрутки, выбранные элементы) не должны теряться или сбрасываться при повороте. Это обеспечивается правильной обработкой событий жизненного цикла Activity/Fragment (
onSaveInstanceState,onRestoreInstanceState). - Целостность UI: Элементы интерфейса не должны накладываться, обрезаться или становиться недоступными. Вёрстка должна перестраиваться в соответствии с новыми размерами экрана.
- Функциональность: Все интерактивные элементы должны оставаться кликабельными, а клавиатура — корректно отображаться в обеих ориентациях.
- Производительность: Перерисовка экрана при повороте не должна вызывать заметных лагов или падений приложения.
Пример ручного тест-кейса:
- Открыть экран с формой.
- Ввести текст в поле
EditText. - Повернуть устройство в ландшафтную ориентацию.
- Ожидаемый результат: Введённый текст сохраняется в поле, форма остаётся полностью видимой и функциональной.
Автоматизация (псевдокод):
// Используя UIAutomator или Appium можно симулировать поворот
device.setOrientationLeft(); // Поворот в ландшафт
// ... проверки состояния UI ...
device.setOrientationNatural(); // Возврат в портрет
// ... проверки, что состояние сохранилось ...
Игнорирование этого типа тестирования приводит к плохому пользовательскому опыту и восприятию приложения как ненадёжного.