Пошла регаться на портал госуслуг. Заполняешь инфу о себе, а потом придумываешь пароль. Хороший пароль — это фраза. Например, "Шла Саша по шоссе". И запомнить легко, и подобрать сложно. Набираю такой пароль, повторяю его...
— Введенные пароли не совпадают
— Снова ввожу "повторение пароля"
— Введенные пароли не совпадают
— о_О
Пробую и так, и сяк. Стерла и снова ввела первый пароль, потом второй. Тут сидящий рядом муж замечает — «Так у тебя даже длина разная!». Я смотрю на экран, стираю первое поле и начинаю снова вводить. Вот для скриншота ввела «Раз два три»:
Первое поле — при вводе пробела звездочка в поле появляется и тут же пропадает (запретили ввод, походу).
Второе поле — пробел не режется. Поэтому пароль получается длиннее:
Вот тебе и проверка!
Во-первых, зачем вообще запрещать какие-то символы в пароле? Тебе, наоборот, лучше — пароль сложнее. При этом как пользователю узнать, что у него что-то порезалось? Пароль же скрыт под звездочками. Я даже не вижу, что символ "пропал"...
Во-вторых, если ставить проверки, то везде:
— при регистрации в обоих полях ввода пароля;
— при авторизации;
В данном случае продолбали второе поле. Это как раз из серии "делать втупую" — аналитик сказал вырезать пробелы в пароле, разработчик убрал. Пробелы в поле "пароль". Ровно что сказали. А тестировщик тоже проверил ровно то, что написано в ТЗ. Но просто проверить задачу нельзя. Надо покопать вокруг. На что еще повлияет? Так так так, хотим вырезать пробелы. А где вообще вводится пароль? О, тут два поля, а второе сделали? Нет? Reopen, дорабатываем. А на авторизации? Нет? Надо доделать, вы что! Это пользователь зарегается, а войти потом не сможет! Потому что откуда ему знать, что при регистрации форма вырезала пробелы?
В общем, давайте оформим по шаблону:
***********************************************************************
Шаги для воспроизведения
— при регистрации в обоих полях ввода пароля;
— при авторизации;
— ручным вводом и когда пароль вкопипастили;
Тогда пользователь даже не заметит, что система вносит в его пароль свои правки.
***********************************************************************
В ожидаемом результате мы предлагаем свою идеальную картину мира, но мы можем чего-то не знать. Может, это требование свыше или решает какую-то проблему. На этот случай мы расписываем, где поправить, чтобы требование работало везде.
Это вполне нормально в баге, описать результат "или или". Иначе баг отложат, вернутся через полгода и скажут «Ээээ, ну надо же вырезать, потому что... Поэтому просто поправлю второе поле». А в авторизации останется неработающим, потому что о ней мы ничего не писали. И снова reopen, обсуждения и все такое. Предлагайте сразу возможные варианты!
— Введенные пароли не совпадают
— Снова ввожу "повторение пароля"
— Введенные пароли не совпадают
— о_О
Пробую и так, и сяк. Стерла и снова ввела первый пароль, потом второй. Тут сидящий рядом муж замечает — «Так у тебя даже длина разная!». Я смотрю на экран, стираю первое поле и начинаю снова вводить. Вот для скриншота ввела «Раз два три»:
Первое поле — при вводе пробела звездочка в поле появляется и тут же пропадает (запретили ввод, походу).
Второе поле — пробел не режется. Поэтому пароль получается длиннее:
Вводишь одно и то же, но значения отличаются по длине
Вот тебе и проверка!
Во-первых, зачем вообще запрещать какие-то символы в пароле? Тебе, наоборот, лучше — пароль сложнее. При этом как пользователю узнать, что у него что-то порезалось? Пароль же скрыт под звездочками. Я даже не вижу, что символ "пропал"...
Во-вторых, если ставить проверки, то везде:
— при регистрации в обоих полях ввода пароля;
— при авторизации;
В данном случае продолбали второе поле. Это как раз из серии "делать втупую" — аналитик сказал вырезать пробелы в пароле, разработчик убрал. Пробелы в поле "пароль". Ровно что сказали. А тестировщик тоже проверил ровно то, что написано в ТЗ. Но просто проверить задачу нельзя. Надо покопать вокруг. На что еще повлияет? Так так так, хотим вырезать пробелы. А где вообще вводится пароль? О, тут два поля, а второе сделали? Нет? Reopen, дорабатываем. А на авторизации? Нет? Надо доделать, вы что! Это пользователь зарегается, а войти потом не сможет! Потому что откуда ему знать, что при регистрации форма вырезала пробелы?
В общем, давайте оформим по шаблону:
***********************************************************************
При регистрации с пробелом в пароле ошибка «Данные не совпадают»
Шаги для воспроизведения
- Открыть регистрацию на госуслугах — https://esia.gosuslugi.ru/registration/
- Заполнить ФИО, телефон и емейл
- Ввести пароль с пробелом в оба поля, например: «Раз два три»
Результат
В поле «Пароль» пробелы вырезались, а в поле «Подтвердите пароль» — нет. В итоге разная длина и ошибка «Пароли не совпадают». См рис «Ошибка пароля».
Ожидаемый результат
Когда пользователь вводит одну и ту же строку, она должна считаться одинаковой. Непонятно, зачем вырезать пробелы — стоит убрать это ограничение.
Но, если оставить, то вырезать их везде:
— при регистрации в обоих полях ввода пароля;
— при авторизации;
— ручным вводом и когда пароль вкопипастили;
Тогда пользователь даже не заметит, что система вносит в его пароль свои правки.
***********************************************************************
В ожидаемом результате мы предлагаем свою идеальную картину мира, но мы можем чего-то не знать. Может, это требование свыше или решает какую-то проблему. На этот случай мы расписываем, где поправить, чтобы требование работало везде.
Это вполне нормально в баге, описать результат "или или". Иначе баг отложат, вернутся через полгода и скажут «Ээээ, ну надо же вырезать, потому что... Поэтому просто поправлю второе поле». А в авторизации останется неработающим, потому что о ней мы ничего не писали. И снова reopen, обсуждения и все такое. Предлагайте сразу возможные варианты!
См также:
Шаблон бага → использовался в статье
Шаблон улучшения — Как продумывать свое улучшение с примером, когда это приводит к отказу от постановки задачи.
Как заводить задачи в баг-трекер → подробнее о том, как ставить задачу и заполнять обязательные поля.
PS — добавила пост в общую копилку багов.

Шаги для воспроизведения
ОтветитьУдалить1. Открыть регистрацию на госуслугах — https://esia.gosuslugi.ru/registration/
2. Заполнить ФИО, телефон и емейл
3. Ввести пароль с пробелом в оба поля, например: «Раз два три»
Я правильно понимаю, что мы не бьем п.2 на три отдельных пункта ("Заполнить поле ФИО валидными данными, например, Иванов Иван Иванович", заполнить поле "Телефон"...) потому что здесь сосредоточены исключительно на проверке поля "Пароль"?
А не будет (не бывает?) такого, что разработчик закроет баг, потому что "Да я че, еще должен прикидывать, что там вводить надо? Пффф!" ?
Ни у кого, кроме Вас не встречал в учебных материалах, чтобы в ОР было еще и предложение по улучшению ("Непонятно, зачем вырезать пробелы — стоит убрать это ограничение"). Другой бы кто сказал - не поверил бы) Век живи - век учись)
ОтветитьУдалить