Поисковая строка — один из самых популярных инструментов на сайте. Качество работы поиска может иметь огромное влияние на лояльность пользователей сайта, и следовательно, сказаться на коммерческих успехах компании.
Содержание
О видах тестирования
К поиску применимы все виды тестирования программного обеспечения. Перечислим некоторые из них.
- Нагрузочное тестирование: необходимо проверить производительность поискового модуля (или поискового API, если оно существует).
- Тестирование безопасности поиска (например, проверка на различные уязвимости: XSS, Code injections)
- Тестирование удобства пользования поиском.
- Функциональное тестирование поиска.
- Проверка релевантности поисковой выдачи.
- Проверка парных поисковых запросов.
О функциональном тестировании поиска
Проверки, которые можно сделать в рамках функционального тестирования поиска:
- Поисковая строка на сайте обычно не чувствительна к регистру. Поэтому нужно проверить, что один и тот же поисковый запрос в разных регистрах приводит к одной и той же поисковой выдаче: например, «ХОЛОДИЛЬНИК«, «холодильник«, «ХоЛоДиЛьНиК«.
- Выдача поисковых результатов обычно происходит по нажатию на кнопку «Поиск» (или изображение лупы) или Enter на клавиатуре. Необходимо проверить, что оба способа срабатывают.
- Функционал поиска может включать в себя различные типы сортировки поисковых результатов. Например, для интернет-магазинов характерны сортировки по цене, рейтингу товара, времени доставки товара. Будет полезным проверить, что при включённой сортировке по цене, найденные товары в выдаче действительно отсортированы по атрибуту «цена».
- Проверка по вхождению текста. 1) Берётся случайный объект поиска: например, статья на сайте или товар в интернет-магазине. 2) В статье (названии товара) берётся случайное слово. Это слово отправляется в строку поиска. 3) Проверяется, присутствует ли начальная статья (или товар) в поисковой выдаче для этого слова.
- Проверка корректности работы поисковых подсказок.
- Выделение в множестве поисковых запросов классов эквивалентности. Проверка нескольких запросов из каждого класса. Для выделения классов эквивалентности полезно изучить типы поисковых запросов.
- От частного к общему. Рассмотрим два запроса: «холодильник» и «холодильник Ariston». Запрос «холодильник» шире запроса «холодильник Ariston». Суть проверки состоит в том, чтобы удостовериться, что поисковая выдача широкого запроса «холодильник» содержит в себе всю выдачу для запроса «холодильник Ariston».
Об оценке релевантности поисковой выдачи
Релевантность поисковой выдачи — важная характеристика качества работы поисковой системы на сайте. Она показывает, насколько найденные поиском объекты соответствуют введённому поисковому запросу.
Релевантность поисковой выдачи можно оценивать следующими способами:
- Труд асессоров (оценщиков) — людей, которые вручную проверяют соответствие найденного документа (или товара) поисковому запросу.
- Оценить релевантность поисковой выдачи на основе онлайн-метрик сайта: количестве кликов на результаты поиска, количестве добавлений товаров в корзину (актуально для интернет-магазина).
О проверке парных поисковых запросов
Парные поисковые запросы — это пары запросов, поисковая выдача для которых ожидается одинаковой.
Примеры:
- Синонимы: «сушилка для овощей и фруктов» — «дегидратор».
- Корректный запрос и запрос с опечаткой: «програММист» — «програМист».
- Корректный запрос и запрос с пропуском пробела: «шоколадный торт» — «шоколадныйторт».
- Запросы с разным порядком слов: «разработчик java» — «java разработчик».
- Корректный запрос и запрос с ошибочной раскладкой клавиатуры: «телевизор» — «ntktdbpjh».
- Запрос и его версия в транслитерации: «Nike» — «Найк».
- Морфология. Разные формы слова: «ноутбук» (ед. ч.) — «ноутбуки» (мн. ч.).
- Запрос и запрос с необязательным вспомогательным словом: «монитор» — «купить монитор» (интернет-магазин); «тестировщик» — «вакансии тестировщика» (сайт вакансий).
Представим, что для одного из запросов в паре {query_1; query_2} уже получена хорошая оценка релевантности. Тогда достаточно сравнить поисковые результаты запросов query_1 и query_2. Если результаты совпадают, можно сделать вывод о том, что оценка релевантности другого запроса тоже хорошая.
Таким образом, выявление парных поисковых запросов снижает затраты на оценку релевантности поисковых выдач.
Кейсы, специфичные для тематики сайта
В зависимости от тематики сайта можно выделить специфичные кейсы при тестировании поиска.
Кейс №1. Онлайн-кинотеатр. Попробовать ввести в поле поиска имя известного актёра, фильмы с участием которого точно есть в базе сервиса. В результатах выдачи ожидаем увидеть все фильмы с его участием из базы сервиса, а, возможно, и ссылку на отдельную страницу актёра.
Кейс №2. Интернет-магазин книг. Вводим в строку поиска имя и фамилию писателя. В поисковой выдаче ожидаем увидеть все книги автора, которые есть в магазине.
Кейс №3. Интернет-магазин одежды.
- Вводим в поисковую строку название бренда одежды. В поисковой выдаче ожидаем увидеть все товары этого бренда.
- Вводим в поле поиска запрос со словом «мужские», например, «ботинки мужские». В выдаче ожидаем увидеть только ботинки для мужчин.
Кейс №4. Сервис по поиску работы:
- Вводим в форму поиска название компании. В поисковой выдаче ожидаем увидеть ссылку на вакансии этой компании или страницу самой компании.
- Сравниваем поисковые выдачи для запросов-синонимов «разработчик Java» и «программист Java». Ожидаем увидеть похожие результаты.
Список литературы:
- «Нагрузочное тестирование» https://ru.wikipedia.org/.
- «Тестирование безопасности» http://www.protesting.ru/testing/types/security.html.
- «Виды тестирования ПО» http://wiki.rosalab.ru/.
- «Релевантность» https://ru.wikipedia.org/.
- «Тестирование поиска (статья-“помогайка”)» http://vikips.blogspot.com.
- «Как можно протестировать поиск на сайте» https://searchengines.guru.
- «Тестирование поиска» https://software-testing.ru.