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