bannerbanner
Тестирование программного обеспечения. Занимательная практика
Тестирование программного обеспечения. Занимательная практика

Полная версия

Тестирование программного обеспечения. Занимательная практика

Настройки чтения
Размер шрифта
Высота строк
Поля
На страницу:
5 из 5

Динамическая пагинация13. При анализе работы динамической пагинации, где содержимое страниц загружается по мере прокрутки или по запросу (например, при нажатии кнопки «Загрузить ещё»), необходимо убедиться, что новое содержимое подгружается. Проверяется, что данные загружаются плавно, без заметных пауз, подвисаний или ошибок, и что интерфейс приложения остаётся отзывчивым во время загрузки данных. Важно убедиться, что при динамическом добавлении новых элементов не происходит дублирования данных или пропуска элементов, а последовательность отображения сохраняется правильной. Проверяется, что динамическая пагинация корректно реагирует на пользовательские действия, такие как быстрая прокрутка или повторное нажатие на кнопку загрузки, и что данные подгружаются только один раз, без создания лишних запросов на сервер.

Видимость и доступность. Проверяем, что элементы пагинации заметны и удобны для взаимодействия на всех страницах, где используются. Элементы пагинации, такие как кнопки перехода или номера страниц, должны быть визуально выделены и находиться в привычных местах интерфейса, например, в нижней части списка или таблицы, чтобы пользователи могли без проблем их обнаружить. В случае динамической пагинации необходимо проверить наличие прогресс-бара или индикатора загрузки, который появляется при быстрой прокрутке страницы, если данные не успевают загружаться вовремя. Этот индикатор помогает пользователю понять, что происходит загрузка данных, и предотвращает возможные недоразумения, когда содержимое не появляется мгновенно.

Оптимизация загрузки. Для приложений с большим объёмом данных убеждаемся, что пагинация работает эффективно и не вызывает избыточных запросов к серверу или загрузки неактуальных данных. Проверяется, что запросы на сервер отправляются только при необходимости, то есть при переходе на новую страницу или при динамической загрузке содержимого, и что нет дублирования запросов при повторных переходах на одну и ту же страницу. Важно убедиться, что при навигации назад или вперёд приложение использует уже загруженные данные из кеша, а не запрашивает их повторно, снижая нагрузку на сервер и ускоряя отклик.

Тестирование граничных значений. При тестировании граничных значений в пагинации особое внимание уделяется корректности работы при переходах на первую и последнюю страницы, особенно в ситуациях, когда количество страниц может изменяться, например, при обновлении данных или изменении фильтров. Проверяется, что кнопки или ссылки для перехода на первую и последнюю страницы работают правильно и не вызывают ошибок. Важно убедиться, что при уменьшении общего количества страниц, например, после удаления данных или изменения условий поиска, система корректно обновляет пагинацию и не позволяет перейти на уже несуществующие страницы. Также тестируется поведение приложения при переходах с крайних страниц при изменении настроек количества отображаемых элементов, чтобы убедиться, что пагинация адаптируется и корректно пересчитывает доступные страницы. Особое внимание уделяется обработке ситуаций, когда пользователь находится на последней странице, а данные обновляются, чтобы система не оставляла пользователя на пустой странице или не вызывала ошибок отображения.

Тестирование загрузки файлов

Тестирование загрузки файлов через приложение требует тщательной проверки определённых аспектов, чтобы убедиться, что процесс работает корректно с разными сценариями использования. Под загрузкой файлов понимается отправка файлов на сервер через приложение.

Минимальный и максимальный размер файла. Необходимо убедиться, что приложение корректно обрабатывает файлы как минимально, так и максимально допустимого к загрузке размера, а также корректно реагирует на превышение установленных ограничений. Проверяется, что файлы минимального размера (например, пустые файлы или файлы с минимальным содержимым) успешно загружаются и распознаются приложением без ошибок. Для проверки максимального размера загружаются файлы, соответствующие верхнему пределу допустимого диапазона, чтобы убедиться, что система справляется с их обработкой и загрузкой без снижения производительности. Особое внимание уделяется файлам, которые превышают допустимый размер: такие файлы не должны загружаться, и приложение должно выводить пользователю сообщение об ошибке или предупреждение о превышении размера. Тестируется также, что интерфейс не зависает при загрузке файлов.

Поддерживаемые форматы файлов. При тестировании загрузки файлов различных форматов необходимо убедиться, что приложение корректно обрабатывает поддерживаемые форматы и блокирует загрузку неподдерживаемых. Проверяется, что файлы допустимых форматов, таких как изображения (JPG, PNG), документы (PDF, DOCX), таблицы (XLSX) и другие, загружаются без ошибок, отображаются правильно. Тестируется, что приложение корректно распознает каждый из поддерживаемых форматов и выполняет необходимые действия, такие как предварительный просмотр, редактирование или обработка файла. Особое внимание уделяется проверке неподдерживаемых форматов: при попытке загрузить файл неподдерживаемого типа (например, EXE, TIFF, или ZIP) приложение должно заблокировать загрузку и вывести пользователю сообщение. Сообщение должно чётко указывать причину отказа, например, «Формат файла не поддерживается», и по возможности предоставлять список поддерживаемых форматов. Это помогает пользователю быстро понять, в чем проблема, и избежать ошибок при загрузке файлов.

Корректность загруженных файлов. Проверяем, что файлы загружаются полностью и без искажений, сохраняя своё первоначальное содержимое. Проверяется, что при загрузке файлы передаются на сервер или сохраняются в системе без потерь данных, без изменения формата и содержания. Особое внимание уделяется проверке целостности больших файлов, например, видео, архивов или объёмных документов, чтобы убедиться, что они полностью загружены и не содержат ошибок, связанных с повреждением данных при передаче. После завершения загрузки файлы проверяются на соответствие исходным: проводится сравнение размеров, контрольных сумм (если это возможно) и визуальная проверка содержимого, чтобы убедиться, что загруженный файл идентичен исходному. Это гарантирует, что процесс загрузки надёжен и не приводит к повреждению данных.

Скорость загрузки. При тестировании скорости загрузки файлов важно проверить, как приложение справляется с загрузкой в условиях различного качества интернет-соединения, включая медленный интернет и нестабильное соединение. Тестируется поведение приложения при нормальной, медленной и нестабильной скорости интернета, чтобы убедиться, что загрузка файлов продолжается корректно, без зависаний или произвольных прерываний. Особое внимание уделяется длительным загрузкам больших файлов: приложение должно оставаться отзывчивым, показывать индикаторы прогресса и информировать пользователя о текущем статусе процесса, что особенно важно при медленной скорости. Также тестируется наличие сообщений или индикаторов, предупреждающих о возможных задержках, чтобы пользователи понимали, что загрузка продолжается, и могли принять соответствующие меры.

Прерывание загрузки. При анализе поведения приложения при прерывании загрузки, например, из-за отключения интернета или временного сбоя соединения, важно проверить, как приложение реагирует на такие ситуации. Тестируем, что при обрыве загрузки пользователь получает соответствующее уведомление или сообщение об ошибке, информирующее о причинах остановки процесса. Важно убедиться, что система предлагает возможность возобновления загрузки с места прерывания, если это предусмотрено, чтобы не начинать процесс заново, особенно для больших файлов. Проверяется, что механизм восстановления работает корректно и стабильно, сохраняя ранее загруженные данные и продолжая процесс без потери информации. Если возобновление невозможно, приложение должно корректно завершить процесс с указанием причины сбоя, предлагая пользователю повторить попытку позже, при этом интерфейс не должен зависать.

Отображение процесса загрузки. Необходимо убедиться, что прогресс-бар или индикатор загрузки точно и наглядно отражают текущее состояние процесса. Прогресс-бар должен показывать реальное соотношение загруженного и оставшегося объёма данных, обновляясь плавно и без скачков, чтобы пользователь мог легко понять, на каком этапе находится загрузка. Если загрузка идёт в несколько этапов (например, подготовка, передача, обработка), индикатор должен чётко показывать переходы между этими этапами, чтобы пользователь знал, что именно происходит. Важно проверить, что при медленной загрузке индикатор не «зависает», а продолжает показывать прогресс, пусть и медленный, а при ошибках или прерываниях информирует об этом, не оставаясь на месте.

Валидация файлов на сервере. Проверяем, что приложение выполняет проверку загружаемых файлов на безопасность, предотвращая загрузку вредоносного кода или нежелательного содержимого. Проверяется, что сервер автоматически сканирует файлы на наличие вирусов, скрытых скриптов или других опасных элементов, используя встроенные средства безопасности или интегрированные антивирусные решения. Также важно удостовериться, что проверяются типы файлов и их содержимое, чтобы исключить маскировку вредоносного ПО под допустимые форматы, например, под видом изображений или документов. В случае обнаружения угрозы приложение должно мгновенно блокировать загрузку и уведомлять пользователя о проблеме. Тестируется также, что все проверки выполняются на серверной стороне, чтобы избежать манипуляций с валидацией на уровне клиента, обеспечивая надёжную защиту от загрузки опасных файлов.

Конец ознакомительного фрагмента.

Текст предоставлен ООО «Литрес».

Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.

Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.

Примечания

1

Информация о книге «Тестирование программного обеспечения. Основы» доступна по ссылке: https://victorz.ru/books/book-1.

2

Под приложением подразумевается программа, сайт или мобильное приложение.

3

URL (Uniform Resource Locator, единый указатель ресурсов) – это адрес в интернете, который указывает на конкретное местоположение ресурса, такого как веб-страница, изображение, видеофайл и прочее. URL включает в себя имя веб-сайта (доменное имя) и путь к определённому ресурсу. Пример: https://victorz.ru/about.

4

Клиент-серверная архитектура и многие другие моменты рассматриваются в книге «Тестирование программного обеспечения. Основы» (https://victorz.ru/books/book-1).

5

База данных (БД) – это организованная коллекция информации или данных, которая хранится в электронном виде и систематизирована таким образом, чтобы её можно было легко находить, управлять и обновлять. Обычно базы данных используются для хранения больших объёмов информации, которую компьютерные программы могут быстро обрабатывать и извлекать по запросу.

6

Асинхронная отправка данных формы – это процесс, при котором информация, введённая в форму в приложении, отправляется на сервер без необходимости перезагружать (обновлять) страницу приложения. Это значит, что после того, как пользователь нажимает кнопку «Отправить», данные из формы обрабатываются в фоновом режиме и пользователь может продолжать работу с приложением без прерывания.

7

Индикатор загрузки – это визуальный элемент интерфейса, который показывает, что процесс загрузки данных или выполнения задачи в приложении все ещё продолжается. Он может принимать различные формы, например, круговое вращение, прогресс-бар, анимированные изображения или текстовые подсказки «Загрузка…» и т. д.

8

Пагинация – это способ разделения содержимого в приложении на несколько страниц, чтобы упростить навигацию и просмотр. Проще говоря, вместо того чтобы сразу загружать всю информацию, которая может быть очень большой, пагинация позволяет отображать её частями постранично.

9

Ошибка 404 – страница или запрашиваемый ресурс не найдены. Рекомендую дополнительно изучить информацию о кодах состояния HTTP (коды ответа сервера).

10

Скринридер – это программа, которая помогает людям с нарушениями зрения использовать компьютеры и мобильные устройства. Скринридер «читает» вслух текст, который виден на экране.

11

Свайп – управляющий жест при работе с сенсорным экраном, при котором палец кладут на экран и проводят в каком-либо направлении.

12

Динамически генерируемая подсказка – это подсказка, которая появляется на экране в зависимости от того, что делает пользователь в данный момент. Например, мы начинаем вводить текст в поле поиска на сайте, и сайт сразу же показывает предложения или варианты поиска – это и есть динамически генерируемая подсказка. Она «подстраивается» под действия пользователя в реальном времени.

13

Динамическая пагинация – это когда при прокрутке страницы вниз новые данные подгружаются автоматически, создавая впечатление, что страница бесконечная. Например, если на сайте десятки тысяч статей, то они будут подгружаться по мере прокрутки, и будет ощущение, что список никогда не закончится. На момент выхода этой книги на моём сайте victorz.ru реализована динамическая пагинация на главной странице.

Конец ознакомительного фрагмента
Купить и скачать всю книгу
На страницу:
5 из 5