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

Рассмотрим, на что стоит обратить внимание при тестировании чекбоксов.
Изменение состояния. При проверке изменения состояния чекбоксов необходимо убедиться, что они корректно переключаются между состояниями «отмечено» и «не отмечено». Проверяем работу чекбоксов при клике мышью, касании на сенсорном экране и при навигации с помощью клавиатуры. Важно, чтобы при каждом из этих способов взаимодействия состояние чекбокса изменялось предсказуемо, без задержек и с правильным визуальным отображением выбранного состояния.
Множественный выбор. При тестировании чекбоксов необходимо убедиться, что они корректно поддерживают возможность множественного выбора, если это предусмотрено логикой работы приложения. Пользователь должен иметь возможность выбирать несколько опций одновременно, и все выбранные элементы должны сохраняться и правильно обрабатываться приложением. Если в интерфейсе представлено большое количество чекбоксов, необходимо проверить наличие и корректную работу механизма, позволяющего включить или отключить все чекбоксы одновременно, что значительно упрощает управление множественными опциями.
Чекбокс как радиокнопка. Если в интерфейсе чекбокс работает как радиокнопка, важно провести соответствующие тесты, чтобы убедиться, что его поведение соответствует ожиданиям для радиокнопок. В этом случае необходимо проверить, что при выборе одного чекбокса другие чекбоксы в той же группе автоматически снимают свой выбор, обеспечивая возможность выбора только одного варианта. Также следует проверить, что выбор чекбокса корректно сохраняется, состояние чётко отображается визуально и взаимодействие с другими элементами интерфейса происходит правильно.
По аналогии с радиокнопками проводим следующие проверки:
– Сохранение выбора.
– Отличие состояний.
– Взаимодействие с другими элементами.
– Проверка данных.
– Группировка чекбоксов.
Тестирование ссылок
Тестирование ссылок помогает обеспечить правильную работу приложения, повысить качество и удобство использования для конечных пользователей. Выделим главные аспекты, на которые стоит опираться в процессе тестирования ссылок.
Корректность URL3. При проверке работы ссылок важно удостовериться, что каждая ссылка ведёт на правильный URL-адрес, соответствующий её назначению. Проверяем, что URL-адреса, указанные в ссылках, корректны, не содержат опечаток и действительно приводят пользователя на ожидаемую страницу или ресурс. Ошибки в URL могут привести к появлению страниц с ошибками или отправке пользователя на неверный ресурс.
Атрибуты ссылок. Проверяем наличие и корректность атрибутов ссылок, таких как «title», «target», «rel» и других, в соответствии с требованиями, прописанными в требованиях. Атрибут «title» должен предоставлять дополнительную информацию, когда пользователь наводит курсор на ссылку, атрибут «target» определяет, будет ли ссылка открываться в новом окне или вкладке, а атрибут «rel» помогает определить отношения между текущей страницей и страницей, на которую ведёт ссылка. Важно убедиться, что все необходимые атрибуты присутствуют и настроены правильно. Рекомендую также ознакомиться с дополнительными материалами по атрибутам ссылок, чтобы глубже понять их значение и правильное использование.
Открытие ссылок. При тестировании открытия ссылок необходимо убедиться, что они корректно открываются при клике в соответствии с заданными настройками. Проверяем, что ссылки, настроенные с атрибутом «target», действительно открываются в соответствии с указанным параметром. Также важно проверить, что ссылки без этого атрибута открываются в том же окне, обеспечивая предсказуемое поведение для пользователя.

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

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

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

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


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

Рассмотрим тестирование элементов форм отправки данных.
Подсказки, подписи и инструкции. Необходимо проверить, что для каждого поля присутствуют чёткие подсказки, подписи и инструкции, которые помогают пользователю понять, какие данные нужно вводить и в каком формате. Это может быть текст рядом с полем, пример ввода или всплывающая подсказка. Такие элементы должны быть легко заметны и понятны, чтобы пользователь мог без затруднений заполнить форму корректными данными.
Проверка данных на стороне клиента4. Необходимо убедиться, что введённая информация правильно проверяется перед отправкой на сервер. Приложение должно проверять, что текстовые поля содержат допустимые данные, выбранные радиокнопки, чекбоксы, выпадающие списки сохраняют и передают корректные значения. Всё должно работать без ошибок, а при неправильном вводе пользователь должен получать понятные подсказки.
Сохранение данных. При тестировании формы проверяем, что введённые данные сохраняются в полях даже после того, как была обнаружена ошибка при проверке. Это означает, что, если пользователь допустил ошибку, ему не придётся вводить все данные заново – корректно заполненные поля должны сохранить своё содержимое. Такая функция значительно упрощает процесс исправления ошибок и повышает удобство работы с формой.
Отправка данных. При проверке отправки данных из формы важно убедиться, что все введённые и выбранные данные корректно отправляются на сервер и правильно обрабатываются. Проверяем, что сервер получает данные в ожидаемом формате и что они корректно записываются в базу данных5 или обрабатываются приложением. Особое внимание следует уделить формам, которые отправляют данные без перезагрузки страницы, используя асинхронную6 отправку. В этих случаях необходимо проверить, что процесс отправки происходит без ошибок, данные передаются полностью и корректно и пользователь получает соответствующую обратную связь, например, уведомление об успешной отправке или сообщение об ошибке, если что-то пошло не так.
Многократная отправка формы. Необходимо удостовериться, что приложение корректно обрабатывает ситуации с многократной отправкой данных. После успешной отправки формы приложение должно предотвращать повторную отправку тех же данных, например, путём очистки полей формы или блокировки кнопки отправки. Это предотвращает дублирование информации и возможные ошибки, связанные с многократной обработкой одного и того же запроса.
Быстродействие. При проверке формы необходимо оценить её быстродействие, чтобы убедиться, что отправка данных и проверка введённых данных на стороне клиента не вызывают заметных задержек в работе приложения. Пользователь не должен ощущать задержек или зависаний при взаимодействии с формой.
Проверка данных на стороне сервера. При тестировании проверки данных на стороне сервера важно убедиться, что все данные, отправленные через форму, проходят на сервере проверку на корректность. Также обращаем внимание на многострочные поля, чтобы убедиться, что они правильно обрабатывают переносы строк и сохраняют форматирование после отправки данных на сервер. Если сервер обнаруживает ошибки в данных, пользователю должно выводиться понятное и информативное сообщение, объясняющее, что именно пошло не так и как исправить проблему.
Тестирование форм поиска и результатов поиска
Форма поиска – это элемент приложения, состоящий из поля для ввода текста, кнопки и, при необходимости, дополнительных элементов фильтрации, сужающих поиск. В форму поиска вводятся слова или фразы – запрос, чтобы найти нужную информацию. После ввода запроса и нажатия кнопки «Найти» или нажатия клавиши Enter на клавиатуре приложение просматривает доступные данные и отображает результаты, которые соответствуют введённому запросу.

Форма поиска с дополнительными элементами фильтрации:

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

Обработка пустых запросов. При анализе работы форм поиска важно уделить внимание обработке пустых запросов, когда пользователь пытается выполнить поиск, не введя никаких данных. Приложение должно корректно реагировать на такие ситуации, предотвращая выполнение бессмысленного поиска или предлагая полезные инструкции или рекомендации. Например, система может показать сообщение «Введите ключевое слово для поиска» или предложить популярные запросы, которые могут быть интересны пользователю. Такая обработка не только предотвращает ошибки, но и направляет пользователя.
Отображение статуса в процессе поиска. Необходимо убедиться, что пользователь получает своевременную и понятную обратную связь во время обработки запроса пользователя. Когда приложение выполняет поиск, должно быть ясно, что процесс продолжается – для этого часто используется индикатор загрузки7 или анимация, показывающая, что запрос обрабатывается. Такой визуальный сигнал информирует пользователя, что система работает над его запросом и помогает избежать неопределённости или повторных попыток запуска поиска. Это повышает уверенность пользователя в том, что его действие принято и скоро будет предоставлен результат.
Скорость поиска. Проверяем, что время, необходимое для обработки запроса и отображения результатов, должно быть минимальным и обеспечивать комфортное использование приложения. Пользователь не должен ощущать задержек, и результаты должны появляться практически мгновенно после ввода запроса. Помимо этого, необходимо протестировать производительность поисковой системы при одновременной обработке множества запросов от разных пользователей. Это позволяет убедиться, что приложение способно справляться с нагрузкой без снижения скорости и что даже при высоком трафике пользователи получают быстрые и точные результаты поиска.
Обработка специальных символов. При тестировании необходимо убедиться, что приложение корректно обрабатывает запросы, содержащие специальные символы или коды, такие как *, @, #, &, %, и другие. Эти символы не должны вызывать ошибок или ошибок в работе приложения. Вместо этого приложение должно либо корректно интерпретировать их в рамках поиска, либо игнорировать, если они не влияют на результаты. Например, если пользователь вводит запрос с символами «@фраза», система должна правильно обработать запрос и предоставить релевантные результаты без ошибок.
Поиск по различным критериям. При проверке работы поиска, который поддерживает различные критерии (например, категория, дата, ключевые слова), важно убедиться, что результаты корректно соответствуют каждому выбранному критерию. Проверяем, что приложение правильно интерпретирует запросы пользователя и фильтрует данные в соответствии с указанными параметрами. Например, при поиске по категории приложение должно отображать только те результаты, которые относятся к выбранной категории, при поиске по дате – соответствующие временные промежутки, а при поиске по ключевым словам – результаты, содержащие эти слова.
Отсутствие результатов поиска. При тестировании реакции приложения на запросы, которые не возвращают результатов, важно убедиться, что пользователь получает адекватную и полезную обратную связь. Вместо пустой страницы или сообщения «ничего не найдено» приложение должно предлагать рекомендации по улучшению запроса. Это могут быть советы по уточнению ключевых слов, предложенные альтернативные поисковые запросы или возможность расширить критерии поиска.
Точность результатов поиска. Анализируя точность результатов поиска, важно убедиться, что приложение корректно отображает результаты, соответствующие введённому запросу. Это означает, что поиск должен возвращать релевантные данные как для точных совпадений, так и для частичных совпадений. Тестирование должно охватывать различные типы запросов, включая те, где запрос полностью совпадает с результатами, содержит частичное совпадение, опечатки или синонимы. Например, если пользователь вводит слово с ошибкой, приложение должно предложить корректные варианты или попытаться найти результаты, которые соответствуют предполагаемому значению запроса.
Читаемость результатов поиска. При анализе результатов поиска важно убедиться, что они представлены в ясной и понятной форме, обеспечивая пользователя достаточной информацией для оценки их соответствия запросу. Результаты должны включать ключевые детали, такие как заголовки, краткое описание, дату или другие релевантные сведения, чтобы пользователь мог быстро определить, подходит ли найденный результат, без необходимости переходить по ссылке. Это повышает удобство использования и позволяет пользователю более эффективно взаимодействовать с приложением.
Навигация по результатам. Проверяя навигацию по результатам поиска, необходимо убедиться, что пользователю предоставлена удобная возможность перемещения по списку найденных элементов. Убеждаемся в наличии чётко обозначенных кнопок или ссылок для перехода между страницами с результатами, а также возможности прокрутки, если результаты представлены на одной странице. Прокрутка должна работать плавно, без задержек, обеспечивая доступ ко всем результатам поиска. Навигация должна быть интуитивной, позволяя пользователю легко находить и просматривать требуемую информацию, независимо от объёма данных.
Сортировка результатов. При тестировании функции сортировки результатов убеждаемся, что эта опция работает корректно и предсказуемо. Это включает в себя проверку того, что результаты поиска правильно сортируются в соответствии с выбранными пользователем критериями, такими как дата, релевантность, цена или алфавитный порядок. Необходимо протестировать различные варианты сортировки, чтобы убедиться, что каждый из них выполняет свою задачу и результаты отображаются в правильном порядке.
Поговорим о фильтрах. В данном контексте фильтры – это инструменты в приложениях, которые помогают уточнить или сузить результаты поиска по определённым критериям, чтобы пользователь мог быстрее найти нужную информацию. Например, при поиске книги в интернет-магазине можно использовать фильтры, чтобы отобразить книги только определённого жанра, автора или выпущенные в определённый период. Это удобный способ исключать лишние данные.
Уточнение результатов поиска и фильтрация. Пользователи должны иметь возможность уточнять поиск с помощью фильтров, категорий или изменения запроса. Проверяем, что пользователи могут сужать выборку данных с помощью доступных фильтров. Проверяем работу фильтров, чтобы они корректно применялись и отсеивали только те результаты, которые не соответствуют выбранным критериям. Необходимо также убедиться, что результаты после применения фильтров точно соответствуют заданным условиям.
Комбинирование фильтров. Изучая работу фильтров важно убедиться, что фильтры корректно работают в сочетании друг с другом, обеспечивая точное и ожидаемое сужение результатов поиска. Это означает, что при применении нескольких фильтров одновременно система должна учитывать все выбранные критерии и отображать только те результаты, которые соответствуют всем установленным условиям. Необходимо протестировать различные комбинации фильтров, чтобы убедиться, что они правильно взаимодействуют между собой и что результаты поиска точно отражают выбранные параметры. Например, если пользователь применяет фильтры по категории, цене и дате, отображаемые результаты должны удовлетворять всем этим критериям.
Сброс фильтров. Необходимо убедиться, что пользователь имеет возможность сбросить все применённые фильтры, чтобы вернуться к отображению всего списка результатов. Функция сброса должна быть легко доступной и интуитивно понятной, позволяя пользователю одним действием отменить все ранее выбранные фильтры. После сброса фильтров приложение должно корректно обновить результаты поиска, отобразив все доступные элементы без ограничений.
Интуитивность применения фильтров. При тестировании фильтров в поиске важно проверить, что они легко находятся и интуитивно понятны для пользователя. Фильтры должны быть хорошо видимы на странице и иметь чёткие обозначения, которые ясно указывают, какие данные они фильтруют. Пользователь должен сразу понимать, как применить фильтр и какие результаты он ожидает увидеть после его использования. Надписи, иконки или описания рядом с фильтрами должны быть максимально понятными и не оставлять места для двусмысленных интерпретаций.
Скорость работы фильтров. Интерфейс должен быстро реагировать на применение фильтров, предоставляя немедленную обратную связь о процессе фильтрации. После выбора фильтров пользователь должен сразу увидеть, что фильтрация выполняется, например, через появление индикатора загрузки или мгновенное обновление списка результатов. Даже при обработке больших объёмов данных фильтрация не должна заметно замедлять отображение результатов. Важно, чтобы фильтры работали плавно и без задержек.
Интеграция фильтров с другими компонентами. При проверке интеграции фильтров с другими компонентами приложения, такими как пагинация8 или сортировка результатов поиска, требуется убедиться, что все элементы взаимодействуют корректно. Применение фильтров не должно нарушать работу пагинации – при фильтрации результаты должны правильно разбиваться на страницы, и пользователь должен иметь возможность переходить между страницами отфильтрованных данных. Также необходимо проверить, что фильтры корректно работают в сочетании с функцией сортировки и результаты после применения фильтров остаются отсортированными в соответствии с выбранными критериями. Эти проверки гарантируют, что все компоненты приложения работают согласованно.




