На моем курсе студенты тестируют реальный проект. Там нет багов, внедренных специально под них. Иногда ребятам везет попасть на день выкладки свежего билда, вот где глазки то разгораются! В остальные дни баги искать тяжеловато, особенно новичкам.
Нас часто спрашивают — «Какие баги мы не нашли?». Сегодня я хочу рассказать о баге, который нашелся в подсказках Дадаты, и который хорошо показывает, зачем и как пытаться искать технологические границы.
Для поиска технологической границы надо пихать «Войну и мир» во все доступные для ввода поля. ВО ВСЕ!
Стоит там ограничение или нет → все равно пытаемся пропихнуть.
Взять ту же форму регистрации.
Поле «Имя» ограничено по вводу, поля пароля — нет. Это не значит, что «Войну и мир» надо вставлять только в пароль. В имя тоже пытаемся. Можно ли ввести больше N символов? А если вкопипастить? А если посмотреть на HTML и снять ограничение по длине?
Нас часто спрашивают — «Какие баги мы не нашли?». Сегодня я хочу рассказать о баге, который нашелся в подсказках Дадаты, и который хорошо показывает, зачем и как пытаться искать технологические границы.
Для поиска технологической границы надо пихать «Войну и мир» во все доступные для ввода поля. ВО ВСЕ!
Стоит там ограничение или нет → все равно пытаемся пропихнуть.
Взять ту же форму регистрации.
Искать границу надо только там, где нет ограничений?
Поле «Имя» ограничено по вводу, поля пароля — нет. Это не значит, что «Войну и мир» надо вставлять только в пароль. В имя тоже пытаемся. Можно ли ввести больше N символов? А если вкопипастить? А если посмотреть на HTML и снять ограничение по длине?
Самая простейшая проверка → копипаст большого текста в любое поле.
Включая... поля для ввода подсказок 👀
Все, вообще все. Вы не знаете внутреннего механизма, вы не можете предполагать, что он там один на все подсказки → значит, проверяем все поля.
Нашли баг — подвесили подсказки. Туда вкопипастили какую-то рекламную лабуду из ВК, типа «Продам Жигули, куплю котенка». Текста было много, а в подсказках по юр лицам поисковый механизм работает по условию OR → вот ему и поплохело.
Вставь «Войну и мир» — поищи границу!
То есть механизм брал каждое слово и искал его в справочнике по условию «Слушай, у тебя есть слово 1 ИЛИ слово 2 ИЛИ слово 3 ИЛИ слово 4...?». Воспроизводилось (по словам разработчика) только на юридических лицах и на банках, хотя стоит ли верить разработчикам 😏
Но суть в том, что сама по себе проверка элементарная — запихать большой кусок текста во все поля, которые увидели на своем пути. Причем, если попробовать ввести много слов в подсказки по ФИО и подумать «О, тут нет границы → нигде в подсказках ее нет», то баг можно пропустить. Не зная код, всегда перепроверяйте!
В perlclip можно задать условие "x xxx xx " x 50, но обычно там просто генеряет единую строку. И такой вариант тут не прокатит: «OR» условие между словами. То есть «нагенерить миллионную строку без пробелов» баг бы не выявило. Помните об этом, когда придумываете тесты )))
PS — добавила пост в общую копилку багов и копилку историй.
А что такое ЮЛ?
ОтветитьУдалитьюридическое лицо
Удалить