Читать книгу Тестирование программного обеспечения. Занимательная практика - Виктор Владимирович Вразовский, Виктор Владимирович Москва, Евгений Александрович Шмаков - Страница 21
Практика в теории
Тестирование календарей и элементов выбора даты
ОглавлениеТестирование календарей и элементов выбора даты важно для обеспечения удобства и точности ввода дат в приложениях. Эти элементы интерфейса используются во множестве сценариев, включая бронирование, планирование и установку сроков.
Приступим к рассмотрению ключевых аспектов, важных для тестирования.
Точность выбора даты. Необходимо убедиться, что пользователь может выбрать нужную дату, включая день, месяц и год, если эти параметры доступны. Проверяется, что элементы управления календарём, такие как стрелки для переключения месяцев, выпадающие списки или поля ввода, работают корректно и позволяют легко изменять даты. Тестируется, что все даты в календаре корректно отображаются и соответствуют реальным дням недели и что нет ошибок в расчёте числа дней в каждом месяце, особенно в случае високосных годов и месяцев с разным количеством дней. Важно убедиться, что интерфейс выбора дат удобен и понятен, с чётким визуальным выделением выбранной даты и возможностью изменить выбор при необходимости.
Ограничения диапазона дат. Проверяем, что все заданные ограничения работают корректно и предотвращают выбор недопустимых дат. Например, если для бронирования запрещено выбирать прошедшие даты, проверяется, что такие даты недоступны для выбора: они могут быть визуально затенены, неактивны для нажатия или отсутствовать. Также тестируются ограничения на будущее, если применимо, чтобы пользователи не могли выбрать даты за пределами разрешённого интервала, например, бронирование только на ближайшие 6 месяцев. Важно убедиться, что календарь правильно отображает и применяет все настройки ограничений, информируя пользователя об ошибках выбора, если такие ограничения нарушены. Проверяются как интерфейсные блокировки, так и выбранные даты на стороне логики приложения.
Множественный выбор и диапазоны. При тестировании календарей и элементов выбора даты с поддержкой множественного выбора или выбора диапазона дат необходимо проверить корректность и удобство этих функций. Если пользователю можно выбрать несколько отдельных дат, проверяется, что даты можно легко и точно выделить и снять выделение без ошибок. Если календарь поддерживает выбор диапазона, необходимо убедиться, что выбор начала и конца диапазона интуитивно понятен, обычно через выделение двух крайних дат, и что все промежуточные даты правильно включаются в выбор. Визуальное отображение выбранных дат и диапазонов должно быть чётким и легко различимым, чтобы пользователь всегда понимал, какие даты активны. Тестируется, что при изменении выбора календарь правильно обновляет отображение.
Формат даты. Формат отображения выбранной даты должен соответствовать локализации пользователя или настройкам, заданным в приложении. Формат даты может отличаться в зависимости от региона: например, в определённых странах распространены следующие форматы отображения дат: «DD.MM.YYYY», «MM/DD/YYYY», «DD/MM/YYYY», «YYYY/MM/DD» и так далее. Проверяется, что календарь и элементы выбора даты отображают даты в корректном формате в соответствии с настройками локализации. Важно также убедиться, что при изменении языковых или региональных настроек приложения формат даты автоматически адаптируется к новым параметрам, сохраняя правильное представление. Тестируется, что при вводе даты вручную формат ввода соответствует отображаемому, а некорректные форматы распознаются и вызывают ошибки или предупреждения.
Некорректный ввод дат. При проверке обработки некорректного ввода дат, таких как 30 февраля или 31 апреля, необходимо убедиться, что приложение корректно распознаёт и обрабатывает подобные ошибки. Проверяется, что при вводе пользователем несуществующих дат приложение мгновенно идентифицирует их как некорректные и отображает соответствующее сообщение об ошибке, информирующее пользователя о неверном вводе. Важно, чтобы интерфейс не позволял сохранять или подтверждать такие даты, блокируя дальнейшие действия до исправления ошибки. Тестируется реакция приложения на различные типы некорректного ввода: неправильное количество дней в месяце, ошибки в формате, такие как использование недопустимых символов или букв вместо чисел.
Часовые пояса. Для приложений, работающих с пользователями из разных часовых поясов, даты и времена должны корректно учитывать часовой пояс пользователя. Проверяется, что приложение автоматически определяет часовой пояс на основе настроек устройства или пользователя и корректно отображает даты в соответствии с часовым поясом. Например, события, запланированные в одном часовом поясе, должны корректно отображаться в другом с учётом разницы во времени. При пересчёте времени между часовыми поясами важно учитывать переходы на летнее или зимнее время, чтобы избежать ошибок в расчёте времени. Также необходимо убедиться, что при ручном выборе или изменении часового пояса все связанные с ним даты автоматически обновляются в интерфейсе, отражая новые данные.
Интеграция с другими элементами формы. При тестировании интеграции элементов выбора даты с другими элементами формы необходимо убедиться, что взаимодействие между ними происходит корректно и не вызывает ошибок. Проверяется, что выбранная дата правильно передаётся в форму и сохраняется при отправке, без сбоев или потери данных. Особое внимание уделяется ситуациям, когда выбор даты влияет на другие поля формы, например, когда выбранная дата автоматически обновляет диапазоны доступных дат в других полях (например, при выборе даты начала и окончания события). Важно убедиться, что зависимости работают правильно и связанные элементы обновляются без ошибок. Тестируется, что при изменении выбранной даты соответствующие поля формы корректно реагируют: блокируются или активируются другие даты, обновляются значения и подсказки и корректно срабатывают проверки на допустимые диапазоны.