Читать книгу Тестирование программного обеспечения. Занимательная практика - Виктор Владимирович Вразовский, Виктор Владимирович Москва, Евгений Александрович Шмаков - Страница 19
Практика в теории
Тестирование модальных окон
ОглавлениеМодальные окна являются важным компонентом интерфейса приложений, предоставляя пользователю важную информацию или запрашивая подтверждение действий без перезагрузки текущей страницы или изменения контекста работы.
При тестировании модальных окон важно обратить внимание на ряд аспектов.
Открытие и закрытие. В ходе тестирования проверяется, что модальное окно открывается при выполнении соответствующих действий, таких как нажатие на кнопку или ссылку, и отображается правильно, без визуальных дефектов. Далее проводится проверка всех доступных способов закрытия окна: нажатие на кнопку закрытия (например, крестик в углу), использование специальных кнопок внутри окна (таких как «Отмена» или «Сохранить и закрыть»), а также клики вне области модального окна, если такая возможность предусмотрена. Важно удостовериться, что закрытие происходит плавно и без задержек, а модальное окно больше не мешает взаимодействию с основным интерфейсом после завершения действия.
Закрытие с клавиатуры. Пользователи должны иметь возможность закрыть модальное окно, используя клавиатуру (например, нажатием клавиши Escape).
Фокусировка. Проверяем, что при открытии модального окна фокус автоматически перемещается на первый интерактивный элемент внутри окна, обеспечивая доступность для пользователей, работающих с клавиатурой. Это необходимо для того, чтобы пользователь сразу мог начать взаимодействие с модальным окном, не теряя время на ручное перемещение фокуса. Важно убедиться, что при открытом модальном окне нажатия мыши и клавиатурные действия не влияют на элементы за его пределами. Проверяется, что фокус и клавиатурная навигация полностью ограничены рамками модального окна, и элементы заднего фона остаются недоступными до его закрытия. После закрытия модального окна доступность и взаимодействие с элементами основного интерфейса должны восстанавливаться в полном объёме.
Задний фон. Проверяем, что элементы интерфейса за модальным окном становятся неактивными, блокируя взаимодействие пользователя с основной страницей до закрытия модального окна. Для этого фоновый контент обычно визуально отделяется от модального окна с помощью затемнения или размытия, что подчёркивает активность модального окна и предотвращает случайные клики по элементам заднего фона.
Элементы управления и ссылки. Анализируя работу элементов управления и ссылок внутри модального окна, проверяется их корректная работа и соответствие ожидаемым функциям. Для этого проводится проверка всех интерактивных элементов, включая кнопки, ссылки, чекбоксы, поля ввода и выпадающие списки. Каждая кнопка и ссылка должны выполнять свою функцию, например, кнопка «Закрыть» должна закрывать окно, а кнопка «Сохранить» – сохранять введённые данные и закрывать модальное окно или оставаться активной в зависимости от логики. Также проверяются ссылки, чтобы они корректно перенаправляли на нужные страницы или выполняли соответствующие действия внутри окна.
Обработка ошибок. При тестировании окон, используемых для отображения сообщений об ошибках или предупреждений, необходимо убедиться, что все сообщения корректно отображаются и соответствуют ситуации, вызвавшей их появление. Проверяется, что окно открывается при возникновении ошибки и что текст сообщения полностью виден, легко читается и точно отражает суть проблемы. Важно проверить наличие соответствующих визуальных индикаторов, таких как значки предупреждений или ошибок.
Множество модальных окон. Когда возможно последовательное открытие нескольких окон, важно проверить их корректное управление и взаимодействие. Необходимо убедиться, что при открытии нового модального окна предыдущее окно становится неактивным, но остаётся видимым в фоновом режиме, если это предусмотрено логикой приложения. Проверяется, что фокус автоматически перемещается на активное окно и все элементы управления внутри него работают корректно. При закрытии активного окна фокус должен возвращаться на предыдущее, а его функциональность – восстанавливаться. Важно убедиться, что порядок их открытия и закрытия соответствует ожидаемому поведению. Тестируется также, что при попытке закрытия всех окон они закрываются последовательно в обратном порядке открытия, и интерфейс возвращается в исходное состояние, не оставляя неактивных или «зависших» окон.