тестируемый компонент: авторизация на сайте — мегалекции

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

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

Тестируем регистрацию на сайте люксор

Всех новичков беспокоит вопрос – а откуда набираться опыта, знаний? Что бы потестить, в конце то концов??? Ответ прост – да все, что угодно. Вон, на форуме пишут, что люди, начитавшись Савина, даже лужи тестируют

Smile :)

Давайте рассмотрим простой пример, например, регистрацию на сайте довольно известного кинотеатра – Люксор.

Итак, открываем сайт – http://www.luxorfilm.ru/cinema/center/
Нажимаем справа сверху кнопку “Войти”, а потом – регистрация.

И вот перед нами более-менее стандартная форма регистрации. Как будем тестировать?

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

То есть, ничего не трогая, сразу нажимаем на “Сохранить”. Наверняка у нас на более сложные формочки будет спецификация, в которой четко прописано, какие поля обязательны для заполнения, а какие – нет.

Итак, какие поля обязательны на данном сайте? Кстати сказать, по правилам хорошего тона обязательные поля обычно отмечают звездочкой. Здесь это не сделано, очевидно, потому, что все поля являются обязательными. Но все ли?

Тут мы замечаем одну интересную вещь – около полей “подтвердите пароль” и “введите код из картинки” не появилось сообщений об ошибке. Хммм…

Но, прежде чем бежать регистрировать баг, давайте убедимся, что эти поля действительно необязательны для заполнения. Бывает и такое, что, если не заполнены “основные” поля, сообщения об ошибках появляются только около них. А заполнишь их – сообщения появятся и около других полей. Так у нас и происходит с полем кода картинки. Заполняем строго те поля, около которых появились сообщения об ошибках и видим следующую картину:

Окей! Заполняем код из картинки и нажимаем сохранить – ага, пароль сбросился, это, в принципе, правильно. Заполняем пароль и код из картинки… И регистрация проходит успешно!

Тут в нашу голову наверняка закралось сомнение – а зачем нам вообще нужно поле “Подтвердите пароль”, если его необязательно заполнять?

Так как эта формочка довольно простая, то даже без спецификации можно догадаться, что данное поле нужно для того, чтобы человек, вводя длинный, правильный (то есть сложный) пароль, не ошибся. Поэтому система сверяет пароль из поля “Пароль” и пароль из поля “Подтвердите пароль” и, если они отличаются, выводит соответствующее сообщение об ошибке.

На данном сайте такой проверки нет. Но ведь тогда и поле не имеет смысла. Итак, теперь можно с чистой совестью писать баг:

——————————————————————————————————————-

Шаги для воспроизведения:

  1. Открываем сайт
  2. Нажимаем на кнопку “Войти”
  3. Нажимаем на кнопку “Регистрация” (можно было изначально дать линк на http://www.luxorfilm.ru/Users/Registration.aspx, но ведь название странички может и измениться, поэтому такую ссылку вставить можно, но как дополнение к шагам. Да да, шаги тоже могут изменяться, но их суть часто остается прежней)
  4. Заполняем все поля, кроме “Подтвердите пароль”.
  5. Нажимаем “Регистрация”.

Результат

Пользователь успешно создан.

Ожидаемый результат
Видим сообщение об ошибке, что введенный пароль не совпадает с паролем, введенным в поле “Подтвердите пароль”.

Иначе, если поле “Подтвердите пароль” не обязательно для заполнения – его лучше вообще убрать с формы, так как никакой смысловой нагрузки оно не несет.

——————————————————————————————————————-

Отлично. обязательность полей проверили, позитивный тест-кейс на успешную регистрацию тоже проверили. Параллельно нашли usability багу – когда ставишь курсор в какое-либо поле, ты не видишь его там. То есть, если пользователь переключается между полями с помощью кнопки Tab, он не видит, срабатывает такой переход или нет… Это некритично, но неудобно – заводим минорную багу, когда поправят, тогда поправят.

Кстати, насчет заведенной нами баги про обязательность поля. Казалось бы, ну кто будет так делать, да? Оставлять поле пустым? По крайней мере, специально… А как вы думаете, я на это наткнулась – занималась в праздники тестированием рандомных сайтов? Smile :)

Итак, user-story, как я дошла до жизни такой, а точнее, до такого блог-поста:

Собрались мы “назавтра” в кино. Разумеется, чтобы места были хорошими, их лучше забронировать заранее, например, вечером предыдущего дня. Открываю сайт Люксора – не открывается Sad :(

Мда, бывает с ним такое… Ладно, тогда пытаюсь забронировать билеты на следующий день, уже перед выходом. Ура, сайт работает! Выбираем сеанс, места, подтверждаем, что согласны с условиями бронирования и-и-и-и… А где кнопка “забронировать”???

Да что ж такое-то… Ладно, вон там есть кнопка “Войти”, может, если войти в систему, то будет бронь работать? Сомнительно, конечно, но вдруг? Итак, регистрируемся, email, ФИО, пол… А хотя зачем им моя дата рождения? Нажимаем сразу “Регистрация”!

Упс, логин и пароль не заполнила, и правда, куда без них. Заполняем, нажимаем “регистрация”, и… Взгляд утыкается в строку “подтвердите пароль”, которую я, разумеется, не заполнила, так как спешу и мысли о другом. Что сказали заполнить, то и заполнила… И вот сейчас сайт продумается и выдаст мне новое сообщение об ошибке… А так как он сегодня тугодум, то это лишнее время…

И вдруг перед моим изумленным взором возникает сообщение об успешной регистрации о_О

А ведь не искала специально…

Но что-то мы отвлеклись. Раз уж решили обсудить, как будем тестировать эту формочку, то давайте закончим рассуждения:

  1. Проверяем обязательность заполнения полей – нажимаем “Сохранить”, ничего не заполнив, смотрим, где появились сообщения об ошибках.
  2. Проверяем план-минимум, то есть заполняем только обязательные поля и убеждаемся, что внутри системы не зашито обязательным какое-то необязательное поле.
  3. Проверяем план-максимум, то есть заполняем вообще все, а после регистрации в личном кабинете проверяем, что информация сохранилась правильно.
  4. Пока мы прошли первые 3 шага, заодно проверили и юзабилити формы регистрации, вон, даже багу нашли.
  5. Теперь пора докапываться до самих полей. Итак, заполняем все поля корректно, кроме поля “email” – вводим туда что-нибудь, не являющееся email-ом. Ок, сообщение об ошибке есть. Отлично. Копаем дальше – а если email невалидный, но содержит “@”? А если он косит под валидный, но не является стандартным? Например, [email protected]? Итд. Сверяем со спецификацией – какие проверки должны быть у поля, соответствуют ли они реальности? Потом смотрим, а какова максимальная длина поля? О, 64 символа? Вводим граничное значение, проверяем, что работает. Потом вводим 65 символов, проверяем, что не работает. Потом ищем технологическую границу (то есть вводим ооооочень длинное значение, ну, скажем, нажимаем “9” и зажимаем кнопочку секунд на 5-10) – вдруг сайт упадет?
  6. Остальные поля, например, ФИО, проверяем на длину, если нет других ограничений.
  7. Вот разве что дата требует отдельного внимания. У меня, например, календарь вообще не открывается, можете кидать помидоры в сторону ИЕ, но мне лениво пробовать в мозилле. Хотя, если бы надо было протестировать, протестировала бы везде. Опять же, прежде чем заводить багу “не открывается popup календаря”, надо локализовать проблему – он вообще не открывается или только в вашем браузере? Когда видите такие проблемы в веб-приложениях, всегда локализовывайте проблему. Далее. Вводим дату вручную – корректную, нижнюю границу (что-то типа 01.01.0001) и верхнюю (01.01.3333), веб-сайты, кстати, часто падают на таких некорректных значениях просто потому, что они не могут их обработать, код соответствующий не написан.

И последний, 8 пункт – на закуску осталось самое интересное. Казалось бы, на такой простой формочке уже все проверено? Ан нет. Попробуйте ввести неправильные данные, а потом – правильные. Желательно иметь доступ к БД, чтобы быть точно уверенным, что тест корректный.

А именно – вводим все поля, выбирая логин, например, “а1”. А вот email указываем некорретный. Появляется сообщение об ошибке, мы ее исправляем и снова пытаемся зарегистрироваться. Но теперь нам выводится сообщение о том, что пользователь “а1” уже существует в системе! Но ведь он не был зарегистрирован!

Вот для того, чтобы в этом убедиться, нам и нужна БД – изначально делаем select, проверяя, что пользователя “а1” в системе нет. Потом регистрируем его так, чтобы регистрация не удалась, а потом корректно. И если мы видим сообщение об ошибке “пользователь “а1″ уже существует в системе” – смело идем и регистрируем багу. Так как при ошибочном вводе транзакция должна откатываться, а не сохраняться в БД.

Резюмируем:

  1. Обязательность полей.
  2. План-минимум.
  3. План-максимум.
  4. Юзабилити.
  5. Длина полей для ввода.
  6. Спец проверки для email.
  7. Спец проверки для даты.
  8. Корректный ввод после некорректного.

Кстати, хочу заметить, что, если вы новичок и имеете только теоритический опыт, гораздо лучше будет, если, приходя на собеседования, вы не просто будете важно заявлять “Я прочитал Савина”, а показывать, как вы применили эти знания. Или хотя бы пытались применить.

Например, “я люблю ходить в кино и поэтому, прочитав такие-то книжки, я решил попробовать свои силы на любимом сайте и провести функциональное тестирование системы. Я открыл формочку регистрации и провел такие-то и такие-то тесты. Сделал я это потому-то и потому-то. И даже баги нашел, представляете? Такие-то и такие-то. И даже в суппорт им написал, вот так-то и так-то (тут мы показываем, как умеем красиво, четко и понятно формулировать баги)“. Это будет показывать как минимум вашу заинтересованность, ваш энтузиазм и стремление учиться!

Просто попробуйте, открыть часто посещаемый сайт и попробовать его протестировать. Это поможет вам структурировать свои знания и чувствовать себя увереннее! А иначе получится так, что – приходишь на собеседование, четко рассказываешь заученные формулировки функционального и нагрузочного тестирования… А потом тебе дают простенькую формочку – “как будешь тестировать?”. И все, ты начинаешь волноваться, разом забываешь только что рассказанные определения, путаешься в показаниях и прочая прочая.

А если ты уже сам, дома, посидел над любой формочкой, подглядывая в книгу, поразмышлял, а какое тут возможно функциональное/smoke/нагрузочное тестирование, то и сидя на собеседовании, ты будешь чувствовать себя увереннее – потому что ты уже практиковался, а значит, есть не просто слова, а понимание этих слов.

PS — и напоследок, еще одна бага из этого кинотеатра. Пришли мы в зал, места 9 и 10. Сели. И тут я смотрю перед собой – на спинках впереди-сидящих ведь тоже дублируются номера кресел. И что я вижу? После 9 идет 12 Smile :)


На самом деле там забавнее, идет такая нумераци – 8, 9 , 12, 11, 12. Но сфотографировать это не удалось, увы. Вот вам и еще одна бага! Зато забавная:

– У тебя какое место?
– 12.
– Тебе справа или слева? Smile :)

PPS — а еще про одну багу я писала позднее, на этот раз про бронирование билетов на сайте.

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

Тестируемый компонент: авторизация на сайте — мегалекции

Составить тест-кейсы на тестирование формы авторизации на страничке.

Форма авторизации имеет:

· поле ввода электронной почты (электронная почта служит логином для авторизации, поддерживает по документации до 20 символов);

· поле ввода пароля (поддерживает по документации до 20 символов);

· чекбокс «Запомнить почту и пароль» (по умолчанию неактивен);

· кнопку «Авторизироваться».

После успешной авторизации пользователь должен увидеть сообщение “Всё окей”. В случае неудачной авторизации пользователь должен увидеть сообщение “Извини, не в этот раз”.

Комментарии к спеку:

· не указано в спеке до 20 символов в поле ввода электронной почты и пароля: включительно или нет? (я взял не включительно, то есть максимум 19 символов);

· не указано минимально допустимое количество символов в поле ввода электронной почты и пароля (создал тест-кейс для тестирования пустых полей ввода);

· не указано какие символы допустимы в пароле;

· не указано название сайта (я принял его за «example.ru»);

· не указаны координаты расположения формы авторизации на веб-странице;

· при необходимости можно дополнить тест-комплект тест-кейсами на проверку клавиш «Backspace» и «Escape».

Среда выполнения: Google Chrome 41.0.2272.101 m.

Тестируемый компонент: Авторизация на сайте

Комментарий: Используй Логин[email protected] и Пароль=123456789Abcdef для успешной авторизации на сайте.

Номер тест-кейса:008 Названия тест кейса: Проверка поля ввода пароля на количество знаков
Предусловие 1) перейти на сайт; 2) если вы уже авторизированы – выйдите из вашего аккаунта; 3) галочка снята в чекбоксе «Запомнить почту и пароль»
№ шага Шаги к воспроизведению Ожидаемый результат
Ввод в поле ввода пароля «123456789Abcdefghij» – 19 знаков Значение в поле ввода пароля (19 знаков):*******************
Ввод в поле ввода пароля «123456789Abcdefghijk» – 20 знаков Значение в поле ввода пароля (19 знаков):*******************
Ввод в поле ввода пароля «123456789Abcdefghijklmno» – 24 знаков Значение в поле ввода пароля (19 знаков):*******************
Окончание тест-кейса
Номер тест-кейса:009 Названия тест кейса: Проверка полей ввода электронной почты и пароля на математические символы, знаки пунктуации, пробел
Предусловие 1) перейти на сайт; 2) если вы уже авторизированы – выйдите из вашего аккаунта; 3) галочка снята в чекбоксе «Запомнить почту и пароль»
№ шага Шаги к воспроизведению Ожидаемый результат
Ввод в поле ввода пароля «#№!;$%:^&?*(@») =*/ .->» – 24знака Значение в поле ввода пароля (19 знаков):*******************
Ввод в поле ввода электронной почты ««#№!;$%:^&?*(@») =*/ .->» – 24 знака Значение в поле ввода электронной почты (19знаков): #№!;$%:^&?*(@») =*/
Ввод в поле ввода пароля «#№!;$%:^&?*(@») =*/ » – 20 знаков Значение в поле ввода пароля (19 знаков):*******************
Ввод в поле ввода электронной почты «#№!;$%:^&?*(@») =*/ » – 20 знаков Значение в поле ввода электронной почты (19знаков): #№!;$%:^&?*(@») =*/
Ввод в поле ввода пароля «#№!;$%:^&?*(@») =*/» – 19 знаков Значение в поле ввода пароля (19 знаков):*******************
Ввод в поле ввода электронной почты «#№!;$%:^&?*(@») =*/» – 19 знаков Значение в поле ввода электронной почты (19знаков): #№!;$%:^&?*(@») =*/
Кликнуть левой клавишей мыши по кнопке «Авторизироваться» 1) Авторизация не выполнена
2) Сообщение на экране «Извини, не в этот раз»
Окончание тест-кейса
Номер тест-кейса:013 Названия тест кейса: Проверка авторизации при смене раскладки клавиатуры
Предусловие 1) перейти на сайт; 2) если вы уже авторизированы – выйдите из вашего аккаунта; 3) галочка снята в чекбоксе «Запомнить почту и пароль»
№ шага Шаги к воспроизведению Ожидаемый результат
Ввод в поле ввода электронной почты «Фгерю»нфтвучюкг» Значение в поле ввода электронной почты: Фгерю»нфтвучюкг
Ввод в поле ввода пароля «123456789ФИСВУА» Значение в поле ввода пароля:***************
Кликнуть левой клавишей мыши по кнопке «Авторизироваться» 1. Авторизация не выполнена
2. Сообщение на экране «Извини, не в этот раз»
Окончание тест-кейса
Номер тест-кейса:014 Названия тест кейса: Проверка максимального количества неуспешных попыток авторизации
Предусловие 1) перейти на сайт; 2) если вы уже авторизированы – выйдите из вашего аккаунта; 3) галочка снята в чекбоксе «Запомнить почту и пароль»
№ шага Шаги к воспроизведению Ожидаемый результат
Ввод в поле ввода электронной почты «Фгерю»нфтвучюкг» Значение в поле ввода электронной почты: Фгерю»нфтвучюкг
Ввод в поле ввода пароля «123456789ФИСВУА» Значение в поле ввода пароля:***************
Кликнуть левой клавишей мыши по кнопке «Авторизироваться» 1.Авторизация не выполнена
2.Сообщение на экране «Извини, не в этот раз»
Ввод в поле ввода электронной почты «Фгерю»нфтвучюкг» Значение в поле ввода электронной почты: Фгерю»нфтвучюкг
Ввод в поле ввода пароля «123456789ФИСВУА» Значение в поле ввода пароля:***************
Кликнуть левой клавишей мыши по кнопке «Авторизироваться» 1.Авторизация не выполнена
2.Сообщение на экране «Извини, не в этот раз»
Ввод в поле ввода электронной почты «Фгерю»нфтвучюкг» Значение в поле ввода электронной почты: Фгерю»нфтвучюкг
Ввод в поле ввода пароля «123456789ФИСВУА» Значение в поле ввода пароля:***************
Кликнуть левой клавишей мыши по кнопке «Авторизироваться» 1.Авторизация не выполнена
2.Сообщение на экране «Извини, не в этот раз».
3. Сообщение на экране «Вы превысили максимально возможное число попыток авторизации. Ваш аккаунт заблокирован. Чтобы разблокировать аккант проверьте вашу почту».
Окончание тест-кейса

Воспользуйтесь поиском по сайту:

Тестируемый компонент: Авторизация на сайте — МегаЛекции

Похожее:  Видеоинструкции по работе в ЛКК ЮЛ

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *