пятница, 1 мая 2015 г.

Баги повсюду — пейджинг страниц в JIRA

Люблю JIRA, хороший баг-трекер. И задачи свои выполняет. Но это не значит, чо он идеален. Или что в нем нет багов. Наткнулась сегодня на одну забавную проблему, хочу поделиться Smile :) 

Моя задача — проревьюить все задачи по проекту. Для этого я открыла фильтр, указала проект и отсортировала список по возрастанию. И начала листать страницы, читая заголовки задач.

Листаю, листаю... 

На первой странице параметра в URL строке нет, на второй появляется startIndex=50. На третьей startIndex=100, а я все листаю.

Страница 19, startIndex=900, все нормально, долистываю список до конца и вижу пейджинг



Переключаюсь на 20 страницу, startIndex=950.
Дохожу до конца страницы → хм, уже не все нормально...



Нажимаю на страницу 21 в пейджинге → ничего не просиходит.
Нажимаю на 21, зажав Ctrl → в новой вкладке открывается URL с параметром startIndex=1000, но потом страница обновляется, параметр снова становится startIndex=950...

«Не смогла» © Sad :(

Пришлось отсортировывать задачи теперь уже по убыванию и возвращаться к первой странице. Благо задач было меньше 2000.

Оказывается, JIRA не может осилить простейший пейджинг. Я же не прошу у нее 500 результатов на странице выводить, выводи сколько умеешь, просто дай мне кликать дальше и дальше...

Как найти такой баг? Элементарно. Когда мы видим пейджинг в приложении, обязательно тыкаем на него и смотрим на URL. Если URL не меняется, ну упс, такого бага не найдем. Зато кнопки «назад» и «обновить» в браузере наверняка будут вести себя неадекватно с точки зрения пользователя...

Но если URL меняется! Если там появляется параметр.ю отвечающий за пейджинг... Можно попробовать его менять! Это же простое число, какие проверки мы можем провести? Какие значения вбить?

1000 — большое значение, но вполне адекватное, позитивный тест.
1000000000000000000 и более (генерим строку через Perlclip) — а не повесится ли система, если ли ограничение у параметра?
0 — граничное значение, в отрицательную строну пейджинг не может уйти
- 1 — а вдруг уйдет?
- 100 — мы видели, что пейджинг меняется с шагов в 50, поэтому «минус один» может не сработать, а «минус сто» как знать...
22 — раз система предлагаем шаг 50, давайте попробуем его уменьшить!

Всего несколько очевидных проверок — а уже на первой нашли баг. Конечно, разработчики могут отмахиваться "да вы просто ломаете систему, нормальные пользователи так не сделают", но такая отмазка прокатит для падения на значении 100000000000. А значение 1000 вполне адекватное, особенно с учетом того, что шаг — 50. И тут задача тестировщика — поставить себя на место реального пользователя. Отделить некритичную ошибку «я пытаюсь все сломать» от позитивного сценария. Показать проблему разработчикам, «продать» ее. Иначе, увы, никто ничего не исправит.

А я ведь не пыталась сломать, я просто использовала фильтр Sad :(

PS — добавила пост в общую копилку багов.

2 комментария:

  1. Об этом недостатке не знает лишь самый ленивый- вам делать нечего, как по такой мелочи статью на пол тысячи символов писать))

    ОтветитьУдалить
    Ответы
    1. А как вы считали, сколько знает об этом недостатке, а сколько нет?

      Удалить