Чит-лист регистрации от Алексея Лупана

Материал из Testopedia
Версия от 20:07, 8 ноября 2011; Natalya Rukol (обсуждение | вклад) (Смена/удаление логинов)

Это снимок страницы. Он включает старые, но не удалённые версии шаблонов и изображений.
Перейти к: навигация, поиск

Регистрация нового пользователя

  • Зарегистрировать нового пользователя с логином new_user. Expected: можно.
  • Зарегистрировать нового пользователя с логином new_user_test. Expected: можно.
  • Зарегистрировать нового пользователя с логином new-user. Expected: можно.
  • Зарегистрировать нового пользователя с логином new1234user. Expected: можно.
  • Зарегистрировать нового пользователя с логином new@user. Expected: alert.
  • Зарегистрировать нового пользователя с логином newuser и паролем newuser (полное совпадение). Expected: alert.
  • использование только ASCII символов в логине – Expected: alert.
  • регистрация пользователя с логином, содержащим пробелы или состоящим из одних пробелом – Expected: alert.
  • регистрация пользователя с паролем, содержащим пробелы или состоящим из одних пробелом – Expected: alert.
  • регистрация пользователя с логином содержащим XSS или SQL injections. – Expected: alert.
  • а можно ли зарегистрировать пользователя “admin”, и пользователя “аdmin” (где а – из русской расскладки)?
  • В некоторых случаях разработчики проверяют пользователя в базе с помощью LIKE, и не обрабатывают user input. Поэтому нужно проверить комбинацию %%%/%%% (знак % повторяется 3 раза, чтобы обойти валидацию на минимальную длину).

Логин под существуюшим пользователем – смена пароля:

  • Создать аккаунт с максимально возможным числом символом в логине

- Попробовать залогиниться - Попробовать сменить пароль Причина: возможно несовпадение максимумов между строками ввода нового пароля, ввода пароля, смены пароля, и в БД. Дополнительно: проделать те же шаги, но с количеством символов макс+1 - Дополнительно: проделать те же шаги, но с макс. количеством разрешенных символов + пробел (и другие безобидные); с макс. количеством разрешенных символов + 1 запрещенный.

  • Создать аккаунт с максимально возможным числом символом в пароле

- Попробовать залогиниться - Попробовать сменить пароль (а может – и сам логин?) Причина та же: возможно несовпадение максимумов между строками ввода нового пароля, ввода пароля, смены пароля, и в БД.

Ввод некорректных данных

  • Ввeсти корректный логин и корректный пароль. Expected: успешно залогинен. Разлогиниться. Почистить кэш и куки (открыть/закрыть браузер?).
  • Оставить оба поля пустыми. Нажать на Login. Expected: alert.
  • Оставить пустое поле login. Нажать на Login. Expected: alert.
  • Оставить пустое поле password. Нажать на Login. Expected: alert.
  • Ввeсти корректный логин и некорректный пароль. Expected: alert.
  • Ввeсти некорректный логин, но корректный пароль. Expected: alert.
  • Ввeсти некорректный логин и некорректный пароль. Expected: alert.
  • В поле логина ввeсти корректный пароль, а в поле пароля ввести корректный логин. Expected: alert.
  • Ввeсти логин <script>alert(123)</script> и корректный пароль. Expected: alert.
  • Ввeсти в поле логина SQL запрос (‘ or ‘a’ = ‘a’; DROP TABLE user; SELECT * FROM blog WHERE code LIKE ‘a%’;) — структура запроса зависит от DB.
  • Ввeсти в поле логина скрипт (<script>alert(“Hello, world!”)</alert>, <script>document.getElementByID(“…”).disabled=true</script>)
  • Ввeсти в поле логина html-теги (<form action=”http://live.hh.ru”><input type=”submit”></form>)
  • Ввeсти в поле логина сложную последовательность символов вроде “♣☺♂” , “”‘~!@#$%^&*()?>,./\<][ /*<!–”", “${code}”;–>
  • Ввeсти в поле логина текст состоящий из одних пробелов;
  • Ввeсти в поле логина правильный логин, начинающийся с нескольких пробелов, и правильный пароль. Expected: alert.
  • Ввeсти в поле логина правильный логин, после которого следуют нескольких пробелов, и правильный пароль. Expected: alert.
  • Ввeсти корректный логин и корректный пароль. Нажать на кнопку “Назад” в браузере. Expected: непонятно – или The page should be expired, или увидеть те же поля. Если второе – ввести в поля снова логин и пароль. Перейти. Залогинен?
  • Ввeсти корректный логин. Указать пароль с использованием букв РАЗНОГО регистра.
  • Ввeсти логин с использованием букв РАЗНОГО регистра. Указать корректный пароль.
  • Зарегистрировать пользователя с логином VasEA. Expected: можно. Попытаться залогиниться, используя в логине буквы только одного регистра (vasea). Expected: можно.
  • Зарегистрировать пользователя с логином petea/iZMaIL. Expected: можно. Попытаться залогиниться, используя в пароле буквы только одного регистра (petea/izmail). Expected: alert. Алерт должен указать на причину?
  • Проверить ограничение на длину логина и пароля при регистрации? Ввести qqweqweqweqweqweqweqweqweqweqweqweqweqweqwe / qqweqweqweqweqweqweqweqweqweqweqweqweqweqwe
  • Ввести логин/пароль Aa!@#$%^&*()-_+=`~/\,.?><|b / PaSSword!@#$%^&*()-_+=`~/\,.?><| Есть ли ограничения на допустимые символы?
  • Ввести логин/пароль Иван/Болван Возможно ли создание имени/пароль с например кириллицей, если да – то как потом эта форма отрабатывает?
  • Ввeсти логин ksjdksbdshdoueywfgjwevflwjeyfvowyecsydcvsldc (несуществующий в базе), оставить поле пароля пустым. Expected: such user doesn’t exist.
  • Открыть первый бразуер. Залогиниться валидным юзером. Открыть второй браузер. Залогиниться тем же самым валидным юзером. Expected: можно. Разлогиниться в первом браузере. Expected: можно. Перейти во второй браузер. Сделать что-нибудь, что может сделать только залогиненный юзер. Expected: можно.
  • Открыть браузер. Ввести в поля валидные данные. Нажать на кнопку Login. Отключить интернет. Получить “страница недоступна”. Подключить интернет обратно. Зайти на сайт. Expected: не залогинен.
  • Блокируется ли акаунт/IP того, кто введет n-количество раз не правильный пароль?
  • Установить фокус на поле логина. Ввести текст. Нажать кнопку Tab на клавиатуре. Expected: фокус перемещается на поле пароля. Ввести текст. Нажать кнопку Tab на клавиатуре. Expected: фокус перемещается на галочку “remember me”. Нажать кнопку Space на клавиатуре. Expected: появилась галочка. Нажать кнопку Tab на клавиатуре. Expected: фокус перемещается на кнопку Login. Нажать кнопку Enter на клавиатуре. Expected: процесс пошёл.
  • User should be a registered user with his/her account expired. Clicks on the Login button.
  • A message should appear stating ‘Your account has been expired’.
  • Проверка на ‘Remember me on this computer’. Заполнить поля валидными данными. Чекнуть галочку Remember me. Залогиниться. Закрыть браузер. Открыть бразуер. Открыть страницу сайта. Expected: логин для входа не требуется.
  • Ввести логин существующего пользователя, обрамив его уголками: <userlogin>. Причина: иногда валидатор вырезает запрещенные символы и проверяет остаток, однако после прохождения проверки передает дальше оригинальную строку.

Смена/удаление логинов

  • В базе или настройках сайта указать, что срок годности определенного логина истек. Залогиниться под этим логином. Expected: Alert.
  • Залогиниться под корректными логином/паролем. Сменить пароль. Залогиниться под новым паролем. Expected: пароль сменен, можно зайти.
  • Смена пароля и заход под старым

- запомнить пароль
- войти в систему
- поменять пароль
- разлогиниться
- залогиниться обратно со старым паролем.
Expected: не пускает.

  • Залогиниться под корректными логином/паролем. Переименовать аккаунт. Перегрузить браузер. Залогиниться под старыми логином/паролем. Expected: не пускает. Залогиниться под новым логином/паролем. Expected: пускает.
  • Залогиниться под корректными логином/паролем. Удалить аккаунт. Перегрузить браузер. Залогиниться под старыми логином/паролем. Expected: не пускает.

Особые случаи

  • Ввeсти корректный логин и корректный пароль. Скопировать полученный url и вставить его в другой браузер. Expected: It should not display the user’s welcome page.
  • Подумать об обработке операции “вставить”, т.е. рассмотреть различные способы ввода данных.
  • Как формируется запрос к серверу с данной формы (get/post)? Как передается пароль – в виде хэша или плэйн-текстом в теле ПОСТа?
  • Если данные передаются в адресной строке браузера в виде «login=bla-bla&password=bla-bla»

- применить все варианты некорректных данных, включая запрещенные символы, и пограничные значения; - передать еше какой-нибудь параметр из существующих, напр. «login=bla-bla&password=bla-bla&state=update»