Перейти к содержимому

Фотография

Пример тестирования поля «Имя»


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 17

#1 baranceva

baranceva

    Профессионал

  • Admin
  • PipPipPipPipPipPip
  • 4 150 сообщений
  • ФИО:Баранцева Наталья


Отправлено 13 января 2017 - 06:53

Все примеры тестов строятся на числах:

  • ввести 0;
  • подходящее значение;
  • больше, чем надо;
  • меньше, чем надо;
  • отрицательное;
  • дробное;
  • очень большое;
  • очень маленькое (0,00000000000000000000000000001);
  • ...

Тестировщики кивают головами и говорят — «Все понятно!». А потом им предлагают строковое поле и все, ступор о_О

 

Что вводить в строку? Символы русские, английские, спецсимволы, циферки, перемешал — готово! Но так и робот может проверить, тестировщик то зачем?)) И как вы отловите баги, когда имя “Иван” считается некорректным, потому что распространенное? (А такое бывает — пруфлинк, поиск по «Иванов Иван Иванович»)

 

Тренер Ольга Назина подготовила пример тестирования поля «Имя» для своих студентов — смотрите и вдохновляйтесь! :) Столько уникальных для поля тестов, а ведь казалось бы, простая строка...

 

Смотреть пример...


  • 0
Наталья Баранцева
Тренинги по тестированию ПО

#2 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 13 января 2017 - 08:26

прикольненько, только без инджектиков :(

 

ну и раскладочка не только русская и английская бывает, может и немец со своими ö и ß прийти, или китаец с иероглифами


  • 0

#3 Freiman

Freiman

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 591 сообщений
  • ФИО:Андрей Адеркин
  • Город:Йошкар-Ола

Отправлено 13 января 2017 - 08:36

И арабы c RTL


  • 0

#4 Molechka

Molechka

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 224 сообщений
  • ФИО:Ольга Назина (Киселева)
  • Город:Москва


Отправлено 13 января 2017 - 09:20

прикольненько, только без инджектиков :(

 

ну и раскладочка не только русская и английская бывает, может и немец со своими ö и ß прийти, или китаец с иероглифами

 

Я бы все же отнесла это к спецсимволам :)

 

Хотя, безусловно, разные раскладки — интересные кейсы, но в первую очередь у нас используются именно русская и английская :) 

И кейс "забыл сменить раскаладку" или "я пишу транслитом и мне на всех по барабану" все же чаще, чем "я пришел на русский сайт и пишу по арабски" =)

 

Просто иероглифы или писанина "задом наперед" — это как раз проверки абстрактной строки.

 

Поделить на "символы русские, английские, латиноамериканские, циферки арабские, римские, японские, смешиваем это все" можно любую строку текста
  • имя
  • паспорт
  • кличка котика
  • название школы
  • организация
  • должность
  • ...
А я учу студентов думать о конкретной строке :)

  • 0
Автор сайта для начинающих тестировщиков http://testbase.ru/
Автор портала проверки названий багов http://bugred.ru/
Веду блог http://okiseleva.blogspot.com/

#5 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 13 января 2017 - 09:55

 

 

Я бы все же отнесла это к спецсимволам :)

ну инджекты это не спецсимволы :) конечно они содержат спецсимволы, но смысл совершенно другой

 

пример самого простого XSS инджекта, в поле имя вводим:

Иван<script>alert(123)</script>

 

Если ввелось, то ищем на каких веб-интерфейсах потом оно будет отображаться, может у пользователей, может у оператора. Если энкодинга не было и скрипт отрабатывает, окошко 123 показывается, то хакер может взломать или пользователей системы либо самого оператора

 

и конечно в скрипте не будет безобидное окошко 123 ;)

 

 

 

А я учу студентов думать о конкретной строке :)

вот студенты будут думать "узко" и прошляпят даже очевидные уязвимости


  • 0

#6 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 13 января 2017 - 10:06

 

 

Хотя, безусловно, разные раскладки — интересные кейсы, но в первую очередь у нас используются именно русская и английская :) 

И кейс "забыл сменить раскаладку" или "я пишу транслитом и мне на всех по барабану" все же чаще, чем "я пришел на русский сайт и пишу по арабски" =)

ну вот потом начальнику попробуй объясни это :) "ну я же тестировал только основные кейсы про большинство людей"

 

мы же тестируем без учёта "насколько частый вариант"

 

например в поле "сумма перевода" мы конечно введём и "0" и "-1", мы ведь не скажем "ну большинство клиентов ведь будут позитивные суммы вводить"


  • 0

#7 Molechka

Molechka

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 224 сообщений
  • ФИО:Ольга Назина (Киселева)
  • Город:Москва


Отправлено 13 января 2017 - 10:12

 

 

 

Я бы все же отнесла это к спецсимволам :)

ну инджекты это не спецсимволы :) конечно они содержат спецсимволы, но смысл совершенно другой

 

пример самого простого XSS инджекта, в поле имя вводим:

Иван<script>alert(123)</script>

 

Если ввелось, то ищем на каких веб-интерфейсах потом оно будет отображаться, может у пользователей, может у оператора. Если энкодинга не было и скрипт отрабатывает, окошко 123 показывается, то хакер может взломать или пользователей системы либо самого оператора

 

и конечно в скрипте не будет безобидное окошко 123 ;)

 

 

 

А я учу студентов думать о конкретной строке :)

вот студенты будут думать "узко" и прошляпят даже очевидные уязвимости

 

 

О, это, кстати, классная мысль, спасибо!

Заданий даже на простейшие уязвимости у меня нет, добавила себе в TODO.

 

Абсолютно согласна с вами, хотя бы очевидное надо уметь искать :)

Может, и ссылки какие порекомендуете? Добавлю в доп материалы  :smile:

 

Как раз собираюсь написать разарботчику про баги в Багги (как бы смешно это не звучало, да), надо еще на XSS проверить, если он умный и режет такое. надо разрешить ввод, пусть будет где баловаться  :victory:


  • 0
Автор сайта для начинающих тестировщиков http://testbase.ru/
Автор портала проверки названий багов http://bugred.ru/
Веду блог http://okiseleva.blogspot.com/

#8 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 13 января 2017 - 10:28

про имена неплохой гайд, рекомендуют только поле "Full name", так как не у всех есть все части имя-фамилия-отчество, у исландцев нет фамилий например

https://www.w3.org/I...-personal-names

 

OWASP Zed Attack Proxy (ZAP)

https://www.owasp.or...k_Proxy_Project

 

устанавливаем ZAP, запускаем прокси, щупаем сервис, подключаем плагин FuzzDb, и за пару минут посылаем тысячи разных атак в это наше поле "имя", тут и SQL инджекты, и XSS и всё остальное. Свой фаззер тут же создаём, с нужными нам данными, его тоже пускаем 

 

ну и конечно Active Scan на endpoint запускаем тоже

 

ведь человеку просто не под силу запомнить и послать в поле "всё что нужно".

 

Плюс "нахаляву" автоматически получим рекомендации по безопасности, какие там Header'ы программеры должны добавить


  • 0

#9 Molechka

Molechka

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 224 сообщений
  • ФИО:Ольга Назина (Киселева)
  • Город:Москва


Отправлено 13 января 2017 - 10:57

 

 

 

Хотя, безусловно, разные раскладки — интересные кейсы, но в первую очередь у нас используются именно русская и английская :) 

И кейс "забыл сменить раскаладку" или "я пишу транслитом и мне на всех по барабану" все же чаще, чем "я пришел на русский сайт и пишу по арабски" =)

ну вот потом начальнику попробуй объясни это :) "ну я же тестировал только основные кейсы про большинство людей"

 

мы же тестируем без учёта "насколько частый вариант"

 

например в поле "сумма перевода" мы конечно введём и "0" и "-1", мы ведь не скажем "ну большинство клиентов ведь будут позитивные суммы вводить"

 

И согласна, и нет :)

 

Про "попробуй начальнику объясни" — я ж не говорю, что менее приоритетное вообще тестировать не надо. Надо) Наверное — зависит от фирмы.

Условия же везде разные, где-то надо до каждого пикселя докапываться, а где-то неработающий пункт меню "не баг, зачем вообще завел?"  :smile:

 

Ведь задача тестировщика — предоставлять информацию. Если начальству важна информация "а если все раскладки мира перепробовать?", то, конечно, это стоит проверять.

Опять же, зависит от того, сколько народа посещает сайт.

 

Вот хоть обставьтесь багов на то, что http://bugred.ru/ не анализирует заведомый треш типа "123456" или арабские символы. Ну и что? )) Он не для этого нужен.

Хотя, если один человек введет арабские символы и у всех начнет падать — вот тут придется исправлять...

 

 

 

А насчет "сумма перевода":

а) Ноль и отрицательное как раз часто проверяют, на числовых полях ступора «что тестить?» меньше.

б) Это важно проверить, потому что пользователь может ввести данные случайно. Но опечататься и ввесли иероглиф все-таки разные вещи)))

 

Я могу случайно вкопипастить диалог в скайпе, потому что не сработал Ctrl + C. Вот мне надо посмотреть отчет с даты из другого отчета. Я ее тык, скопипастила. А оно не скопипастилось)))) И я в поле с датой вставила текст от прошлого копирования. Я не пытаюсь сломать систему нарочно, но такое бывает. Потому, наверное, и проверяем негатив. Как пишет Джоэл Спольски, когда у тебя пользователей миллионы, тебе могут ввести даже то, что ты никогда не предполагал)))

 

 

 

В общем, я согласна с тем, что всякие редкие тесты вполне могут быть полезными и нужными. НО! В первую очередь надо тестировать наше поле, а не абстрактную строку =) 


  • 0
Автор сайта для начинающих тестировщиков http://testbase.ru/
Автор портала проверки названий багов http://bugred.ru/
Веду блог http://okiseleva.blogspot.com/

#10 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 13 января 2017 - 11:19

 

 

Ведь задача тестировщика — предоставлять информацию. Если начальству важна информация "а если все раскладки мира перепробовать?", то, конечно, это стоит проверять.

ну Юникод и разные ö и ß, иероглифы, длинные строки, пробелы в начале и пробелы в конце надо проверить без разницы "просило тебя начальство это сделать или не просило", так же тут и непечатные символы типа возврата каретки, таб, новая строка, плюс тесты на максимальную длину строки

 

начальство вообще часто просит "протестировать поле Имя", и не просит что там конкретно надо протестировать а что нет. Это тестировщик должен знать что надо тестировать


  • 0

#11 Molechka

Molechka

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 224 сообщений
  • ФИО:Ольга Назина (Киселева)
  • Город:Москва


Отправлено 13 января 2017 - 11:19

 

OWASP Zed Attack Proxy (ZAP)

https://www.owasp.or...k_Proxy_Project

 

устанавливаем ZAP, запускаем прокси, щупаем сервис, подключаем плагин FuzzDb, и за пару минут посылаем тысячи разных атак в это наше поле "имя", тут и SQL инджекты, и XSS и всё остальное. Свой фаззер тут же создаём, с нужными нам данными, его тоже пускаем 

 

ну и конечно Active Scan на endpoint запускаем тоже

 

ведь человеку просто не под силу запомнить и послать в поле "всё что нужно".

 

Плюс "нахаляву" автоматически получим рекомендации по безопасности, какие там Header'ы программеры должны добавить

 

Мне кажется, это уже все-таки в тему тестирования безопасности :-)

Один курс, который покрывает "все-все-все", это, конечно, круто, но толку от него маловато )))

 

Безопасность — отдельная глубокая тема. Тут или учить капитально, с "скачиваем фаззер, делаем свой", или не затрагивать тему, чтобы не создавать ложные ожидания. Тоже хороший вопрос, кстати, нужно ли об этом говорить — потому что если будет тема / ДЗ про безопасность, то будут и ожидания, что тебя щас тут всему и сразу научат, а на деле только пара простеньких запросов.

 

Безопасности я учить не хочу) А вот классы эквивалентности — без низ никуда. даже при простой локализации бага помогают. Поэтому и тема отдельная есть))


  • 0
Автор сайта для начинающих тестировщиков http://testbase.ru/
Автор портала проверки названий багов http://bugred.ru/
Веду блог http://okiseleva.blogspot.com/

#12 Molechka

Molechka

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 224 сообщений
  • ФИО:Ольга Назина (Киселева)
  • Город:Москва


Отправлено 13 января 2017 - 11:22

ну Юникод и разные ö и ß, иероглифы, длинные строки, пробелы в начале и пробелы в конце надо проверить без разницы "просило тебя начальство это сделать или не просило", так же тут и непечатные символы типа возврата каретки, таб, новая строка, плюс тесты на максимальную длину строки

 

Так я же не спорю :)

Я говорю о том, что это — классы для "любой абстрактной строки", универсальная серебряная пуля. И в итоге любое поле проверяют только так — просто всякие извращения. А значения для самого поля — а как это? Имена???? Нууууууу, можно ввести мужское, можно женское. Конец фантазии. Отсюда и наглядный пример, что тестов может быть сильно больше 


  • 0
Автор сайта для начинающих тестировщиков http://testbase.ru/
Автор портала проверки названий багов http://bugred.ru/
Веду блог http://okiseleva.blogspot.com/

#13 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 13 января 2017 - 12:06

урок называется "Пример тестирования поле Имя", вот я и подумал что урок о тестировании поля - что и бизнес надо проверить, и безопасность и всё остальное. Многие ведь воспримут этот урок как руководство к действию, и пойдут тестировать только бизнес

 

тогда уж уточнить надо что "этот и тот типы тестирования надо будет проводить отдельно, а тут разговор будет только про бизнес-кейсы"

 

ну и "все раскладки мира" не надо проверять, так как почти все раскладки производят один и тот же юникод

 

довольно достаточно будет четырёх кейсов:

Иван

Ivan

Ivanà

阪熊


  • 0

#14 Molechka

Molechka

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 224 сообщений
  • ФИО:Ольга Назина (Киселева)
  • Город:Москва


Отправлено 13 января 2017 - 12:18

урок называется "Пример тестирования поле Имя", вот я и подумал что урок о тестировании поля - что и бизнес надо проверить, и безопасность и всё остальное. Многие ведь воспримут этот урок как руководство к действию, и пойдут тестировать только бизнес

 

тогда уж уточнить надо что "этот и тот типы тестирования надо будет проводить отдельно, а тут разговор будет только про бизнес-кейсы"

 

ну и "все раскладки мира" не надо проверять, так как почти все раскладки производят один и тот же юникод

 

довольно достаточно будет четырёх кейсов:

Иван

Ivan

Ivanà

阪熊

 

А как же арабское?)

Спасибо, добавлю себе кейсы с иероглифами отдельным полем к следующей перезаписи))

 

Но про безопасность все равно не согласна — тогда надо дописать уж «Тут мы говорим только о функциональном тестировании, а не тестировании надежности, стабильности, безопасности, автоматизации итд итп». А то так же можно подумать, что тут и автоматизации сразу научат, и нагрузке, что уж там! :) В ютубе поправила описание, добавила, что это про функциональное тестирование  :smile:


  • 0
Автор сайта для начинающих тестировщиков http://testbase.ru/
Автор портала проверки названий багов http://bugred.ru/
Веду блог http://okiseleva.blogspot.com/

#15 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 13 января 2017 - 12:27

интересно вот как заинтересовать тестеров безопасностью, ведь ввести "Иван<script>alert(123)</script>" очень просто, и тоже просто проверить вылетает ли где-нибудь "123"

 

ведь наверное многие начинающие тестеры думают что это слишком сложно, уж точно не для них, что кто-то другой, "умный", должен тестировать безопасность... а обычно того "другого, умного" и не существует, и даже простые уязвимости уходят в прод, а потом школьники хакают всё подряд...


  • 0

#16 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 13 января 2017 - 13:27

ну насчёт того, что это может и не ошибка когда спец-символы в имени ;)

 

использование разных < > ? & / и т.п. вот это сразу будет нарушение безопасности. Ведь имён с такими спец-символами нет ;) Разве кого-то зовут %Иван% ?


  • 0

#17 SALar

SALar

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 298 сообщений
  • Город:Москва


Отправлено 15 января 2017 - 13:11

д’Артаньян

de' Medici 

И много, много прочих вариантов... https://habrahabr.ru/post/146901/

 Разве кого-то зовут %Иван% ?

А что, нет?


  • 0

-- 

Сергей Мартыненко

Блог 255 ступеней (байки для оруженосца)

facebook (Дети диаграммы Ганта)

ВебПосиделки клуба имени Френсиса Бэкона 

 


#18 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 15 января 2017 - 13:41

 

д’Артаньян

de' Medici 

И много, много прочих вариантов... https://habrahabr.ru/post/146901/

 заметь, как раз против символа ' я ничего не имел

также есть имена с тире, типа Lauren-May

 

я не говорил что "все спец-символы запретить"

 

 

 Разве кого-то зовут %Иван% ?

А что, нет?

ну хорошо, кого так зовут?


  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных