Задать вопрос
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com

Чем можно протестировать работу поискового движка на корректность выдаваемых им результатов?

Приветствую.

Подскажите, с помощью чего лучше всего можно протестировать поиск на корректность выдачи результатов?

Почему возник вопрос?
Всегда найдётся кто-то из пользователей, кто точно выловит очередной баг и это не совсем устраивает. Хотелось бы все недочёты устранить заранее по-максимуму своими силами.

Есть ли чек-листы, тест-кейсы или алгоритмы последовательности действий, которыми можно оттестировать корректность выдачи поисковых результатов и работу поискового алгоритма в целом, чтобы быть уверенным в корректности логики его работы?

Нужно чётко уловить грань между:
"здесь должен был найти, но не нашёл - это баг"
и
"здесь странный результат, хотя, действительно: как он мог догадаться, что речь в запросе именно об этом? - это не баг"
(может есть готовые инструменты?....)

Тестировать нужно здесь.

Заранее, Спасибо.
  • Вопрос задан
  • 3838 просмотров
Подписаться 1 Оценить 6 комментариев
Решения вопроса 3
Alex23leonidovich
@Alex23leonidovich
Тестировал свой писк по этому чек-листу https://multisearch.io/files/multisearch_checklist.pdf
Ответ написан
dimonchik2013
@dimonchik2013
non progredi est regredi
задача не тривиальная, в книжках вообще прямо говорят что поиск потчи всегда субьективен
поэтому - берете субьективный фактор и строите под него алгоритм

самое простое , что используем мы: тот же запрос на конкуренте и сравнение плотностей
еще проще - сравнение плотности сниппетов с запросом, но тогда страдают синонимы и query-specific words

ну а бальщина "старый поиск - юзер Н минут на сайте, а новый - К минут" - думаю, любой маркетолог вам скажет
Ответ написан
lxsmkv
@lxsmkv
Test automation engineer
зависит от требований которые закладывались в систему поиска.
- толерантность к опечаткам - подмена символа или нескольких в строке
- одинаковый ответ при одинаковом запросе.
- реакция на длинный запрос (пытается ли она найти пересечения)
- взять два ключевых слова в одной и обратной последовательности (я ввожу "sony apple" и "apple sony" но система выводит только продукты apple, наверно так не должно быть)
- порог соответствия, что результаты ниже определенного требованиями порога не выводятся. (пишу "пленка" выводятся только 10-15 результатов и далеко не все продукты содержащие слово "пленка" - наверное так не должно быть)
- как реагирует алгоритм если в базе очень мало записей? А если очень много записей с очень высокой схожестью?

Чем тестировать ? У вас есть api, берите jmeter шлите через аpi запросы и проверяйте ответы.
Или не jmeter a другой интрумент для тестирования web api. в конце концов pycurl или python + curl вариантов достаточно. Первоочередная сложность не в инструменте а в определении требований к системе поиска.

А вообще юниттестами можно и нужно тестировать сам алгоритм выдачи, алгоритм анализа звукосочетаний и прочие содержащиеся в системе алгоритмы.

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

Войдите, чтобы написать ответ

Похожие вопросы