Как тестировать поиск на сайте

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

О видах тестирования

К поиску применимы все виды тестирования программного обеспечения. Перечислим некоторые из них.

  1. Нагрузочное тестирование: необходимо проверить производительность поискового модуля (или поискового API, если оно существует).
  2. Тестирование безопасности поиска (например, проверка на различные уязвимости: XSS, Code injections)
  3. Тестирование удобства пользования поиском.
  4. Функциональное тестирование поиска.
  5. Проверка релевантности поисковой выдачи.
  6. Проверка парных поисковых запросов.

О функциональном тестировании поиска

Проверки, которые можно сделать в рамках функционального тестирования поиска:

  1. Поисковая строка на сайте обычно не чувствительна к регистру. Поэтому нужно проверить, что один и тот же поисковый запрос в разных регистрах приводит к одной и той же поисковой выдаче: например, «ХОЛОДИЛЬНИК«, «холодильник«, «ХоЛоДиЛьНиК«.
  2. Выдача поисковых результатов обычно происходит по нажатию на кнопку «Поиск» (или изображение лупы) или Enter на клавиатуре. Необходимо проверить, что оба способа срабатывают.
  3. Функционал поиска может включать в себя различные типы сортировки поисковых результатов. Например, для интернет-магазинов характерны сортировки по цене, рейтингу товара, времени доставки товара. Будет полезным проверить, что при включённой сортировке по цене, найденные товары в выдаче действительно отсортированы по атрибуту «цена».
  4. Проверка по вхождению текста. 1) Берётся случайный объект поиска: например, статья на сайте или товар в интернет-магазине. 2) В статье (названии товара) берётся случайное слово. Это слово отправляется в строку поиска. 3) Проверяется, присутствует ли начальная статья (или товар) в поисковой выдаче для этого слова.
  5. Проверка корректности работы поисковых подсказок.
  6. Выделение в множестве поисковых запросов классов эквивалентности. Проверка нескольких запросов из каждого класса. Для выделения классов эквивалентности полезно изучить типы поисковых запросов.
  7. От частного к общему. Рассмотрим два запроса: «холодильник» и «холодильник Ariston». Запрос «холодильник» шире запроса «холодильник Ariston». Суть проверки состоит в том, чтобы удостовериться, что поисковая выдача широкого запроса «холодильник» содержит в себе всю выдачу для запроса «холодильник Ariston».

Об оценке релевантности поисковой выдачи

Релевантность поисковой выдачи — важная характеристика качества работы поисковой системы на сайте. Она показывает, насколько найденные поиском объекты соответствуют введённому поисковому запросу.

Релевантность поисковой выдачи можно оценивать следующими способами:

  1. Труд асессоров (оценщиков) — людей, которые вручную проверяют соответствие найденного документа (или товара) поисковому запросу.
  2. Оценить релевантность поисковой выдачи на основе онлайн-метрик сайта: количестве кликов на результаты поиска, количестве добавлений товаров в корзину (актуально для интернет-магазина).

О проверке парных поисковых запросов

Парные поисковые запросы — это пары запросов, поисковая выдача для которых ожидается одинаковой.

Примеры:

  1. Синонимы: «сушилка для овощей и фруктов» — «дегидратор».
  2. Корректный запрос и запрос с опечаткой: «програММист» — «програМист».
  3. Корректный запрос и запрос с пропуском пробела: «шоколадный торт» — «шоколадныйторт».
  4. Запросы с разным порядком слов: «разработчик java» — «java разработчик».
  5. Корректный запрос и запрос с ошибочной раскладкой клавиатуры: «телевизор» — «ntktdbpjh».
  6. Запрос и его версия в транслитерации: «Nike» — «Найк».
  7. Морфология. Разные формы слова: «ноутбук» (ед. ч.) — «ноутбуки» (мн. ч.).
  8. Запрос и запрос с необязательным вспомогательным словом: «монитор» — «купить монитор» (интернет-магазин); «тестировщик» — «вакансии тестировщика» (сайт вакансий).

Представим, что для одного из запросов в паре {query_1; query_2} уже получена хорошая оценка релевантности. Тогда достаточно сравнить поисковые результаты запросов query_1 и query_2. Если результаты совпадают, можно сделать вывод о том, что оценка релевантности другого запроса тоже хорошая.

Таким образом, выявление парных поисковых запросов снижает затраты на оценку релевантности поисковых выдач.

Кейсы, специфичные для тематики сайта

В зависимости от тематики сайта можно выделить специфичные кейсы при тестировании поиска.

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

Кейс №2. Интернет-магазин книг. Вводим в строку поиска имя и фамилию писателя. В поисковой выдаче ожидаем увидеть все книги автора, которые есть в магазине.

Кейс №3. Интернет-магазин одежды.

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

Кейс №4. Сервис по поиску работы:

  • Вводим в форму поиска название компании. В поисковой выдаче ожидаем увидеть ссылку на вакансии этой компании или страницу самой компании.
  • Сравниваем поисковые выдачи для запросов-синонимов «разработчик Java» и «программист Java». Ожидаем увидеть похожие результаты.

Список литературы:

  1. «Нагрузочное тестирование» https://ru.wikipedia.org/.
  2. «Тестирование безопасности» http://www.protesting.ru/testing/types/security.html.
  3. «Виды тестирования ПО» http://wiki.rosalab.ru/.
  4. «Релевантность» https://ru.wikipedia.org/.
  5. «Тестирование поиска (статья-“помогайка”)» http://vikips.blogspot.com.
  6. «Как можно протестировать поиск на сайте» https://searchengines.guru.
  7. «Тестирование поиска» https://software-testing.ru.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *