четверг, 19 декабря 2019 г.

Тур домоседа: как за 20 минут найти 4 бага

В моей школе есть практическое задание — выбрать для своего сайта любой исследовательский тур и применить. 20 минут поисследовать и написать результаты.

Так вот, в этот раз благодаря туру домоседа студентка успела найти 4 бага. Отличный результат, я считаю! И да, тур правда очень хорош для поиска багов. Так что вот вам пример его применения:


Проект — https://elibrary.ru

Научная электронная библиотека. Содержит тексты научных публикаций и аннотаций к ним. Есть различные инструменты поиска, возможность авторизоваться, купить доступ к платным материалам, а также оставлять комментарии к статьям.

Для исследования сайта студентка выбрала "тур домоседа".
Одна из самых главных функций этого сайта - сложный поиск. Здесь есть различные формы поиска с большим количеством всевозможных строк, чекбоксов и прочего. Хочется посмотреть, как эти формы будут вести себя при минимальном количестве действий с ними. Ну и, конечно, затронуть заодно другой функционал, такой как регистрация или настройки.

Что получилось:
  • Форма "Вход" на главной странице: всё хорошо, форма не дает войти, если не заполнены поля "логин" и "пароль", выводя сообщение, что эти поля обязательны для заполнения.
  • Форма регистрации: зарегистрироваться без заполнения всех обязательных полей (отмеченных звездочкой) невозможно, форма выдает сообщение "не все обязательные поля заполнены". Также нельзя зарегистрироваться, не проставив галочку об ознакомлении с правилами пользования, - выводится соответствующее сообщение.
  • Однако выяснилось, что при заполнении обязательных полей и попытке регистрации система выдает ошибку 500. При этом, если указан корректный емейл, на него уходит письмо о подтверждении регистрации, по которому можно ее завершить. Появление этой ошибки не зависит от того, заполнены ли дополнительные поля или какие именно данные введены - корректные или нет.
  • Форма поиска на главной странице: пустую строку ввести нельзя, просит ввода не менее 2 символов.
  • Форма расширенного поиска: пустую строку искать нельзя, система просит ввести в поле поиска не менее 2 символов. Но если что-либо ввести и после этого "продолжить поиск среди найденных результатов", то - при том, что форма поиска та же - можно нажать на "поиск" при пустой строке ввода и получить в выдаче все предыдущие найденные публикации.
  • Поиск в журналах открытого доступа: если ничего не вводить и оставить все чекбоксы по дефолту, то нажатие на "Поиск" выдает список всех публикаций в этих журналах (чуть более 5 млн на данный момент). Но если выбрать затем графу "продолжить поиск среди найденных результатов" и, также не меняя дефолтных параметров, нажать на "Поиск", то в выдаче окажется уже только 10000 публикаций.
  • Форма поиска по каталогу журналов: поиск по умолчанию дает в поисковой выдаче все журналы из базы.
  • Форма поиска по авторскому указателю: аналогично, в выдаче по умолчанию все авторы из базы.
  • Форма поиска по списку организаций: аналогично, в выдаче по умолчанию все организации из базы.
  • Форма поиска по списку издательств: поиск по умолчанию невозможен - нужно ввести что-то в поисковое поле, либо выставить фильтры.
  • Форма поиска по каталогу книг: аналогично, поиск по умолчанию невозможен - нужно ввести что-то в поисковое поле, либо выставить фильтры.
  • Поиск по тематическому рубрикатору: при пустом поле выдаются все рубрики.
  • Поиск журнала в рубрике: если оставить поисковую строку пустой и нажать на "поиск", то появляется "К сожалению, страница с этим адресом отсутствует на сайте" и картинка грустного котика из Шрека. Оказалось, что такое появляется при любом заполнении поля, то есть поиск в принципе не работает.

Итого
  • Найдена ошибка 500 при регистрации: появляется вне зависимости от корректности заполнения формы.
  • Проблема с поиском в журналах открытого доступа: при повторном поиске мы не меняли никакие параметры поиска, а выдача сократилась на два порядка.
  • Не работает форма поиска журнала в рубрике.
  • Проблемы с единообразием: в похожих ситуациях поиск по умолчанию может выдавать все объекты в базе, а может не работать без дополнительных уточнений
За отведенное время я успела исследовать не все формы - остались как минимум еще поиск по ключевым словам и настройки, но большую часть полей ввода протестировать удалось.

PS — работа так же опубликована в конфлюенсе в разделе «работы студентов» (доступно без авторизации)

Комментариев нет:

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