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

Фотография

Тестирование текстового поля


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

#1 baranceva

baranceva

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

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


Отправлено 29 ноября 2019 - 07:25

Автор: Кристин Джеквони (Kristin Jackvony)
Оригинал статьи
Перевод: Ольга Алифанова

 

text-field1.jpg

 

Текстовое поле в приложении кажется таким обычным делом, однако это одна из наиболее важных вещей, которую мы можем протестировать. Почему? Потому что текстовые поля дают доступ к приложению и его базе данных. Валидация текстового поля – это то, что предотвращает появление в базе плохих данных. Эти данные могут вызвать разнообразные проблемы для пользователей и разработчиков. Валидация также предотвращает атаки межсайтового скриптинга и SQL-инъекции.

 

Читать статью полностью...


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

#2 Spock

Spock

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

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

Отправлено 29 ноября 2019 - 10:55

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


  • 0

#3 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 29 ноября 2019 - 11:05

Да, статья жжот:

 

 

Тестировать текстовое поле можно миллионами способов, и я коснусь этих способов в статье. Для начала давайте представим, что мы тестируем текстовое поле, не имея никакой информации о том, что оно делает:

 

  • Нажмите Submit, ничего не заполняя.
  • Нажмите пробел несколько раз, находясь в поле, а затем нажмите Submit.
  • Посмотрите, сколько символов можно ввести в текстовое поле, а затем нажмите Submit (отличный инструмент для подсчета символов - https://lettercount.com).

 

 

 

ничего себе, сразу начинаем с сабмита, а потом пробелы

Ну и инструмент  https://lettercount.com архиважный, как мы до этого что-то тестировали, я не знаю


  • 0

#4 baranceva

baranceva

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

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


Отправлено 29 ноября 2019 - 11:17

После таких комментариев, которые превращают форум в помойку, хочется закрыть форум и такое решение уже обсуждается на полном серьезе :-(

 

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


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

#5 Spock

Spock

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

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

Отправлено 29 ноября 2019 - 11:30

ну во первых Джеквони замахнулась на тестирование безопасности, учит других но по факту "слышала звон но не знает где он" - не понимает элементарного принципа работы инжектов.

 

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

 

Ей кажется что надо делать интерфейсную валидацию чтобы не допустить "вредоносный код" в базу, несмотря на то что РЕСТ протокол будет полностью открыт

 

Как указано выше, она сразу начинает ломать поле вместо того чтобы исследовать как работает фича, и работает ли вообще

 

представляете, как Джеквони замедляет свою команду разработки десятками бессмысленных багов про "правильную интерфейсную валидацию"

 

 

 

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

ну эти статьи это же такой "юмор для тестировщиков" насколько я понимаю, откуда тут серьёзности взяться? на каждую её статью (которых очень много) серьёзных комментариев не хватит сил и сарказма писать :)


  • 0

#6 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 871 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 29 ноября 2019 - 12:03

Во-первых, не стоит попрекать человека тем, что он работал учителем музыки (или водителем или бухгалтером или продавцом пылесосов) в прошлом.

 

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

 

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

 

Давайте разберём конкретные замечания к этой статье.

 

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

 

2) "код типа "скрипт" не должен попасть в базу данных иначе это считается атакой" -- это было в другой статье, и там она тоже никого не обманула, такой способ валидации тоже встречается на практике. Иногда, действительно, используются и другие способы защиты от XSS, и тот факт, что Jira использует другой способ, никоим образом не обесценивает метод защиты "удалением скриптов".

 

А что написано в этой статье?

Попробуйте межсайтовый скриптинг – введите такой скрипт: <script>alert("I hacked this!")</script>. Если при нажатии на Submit появится всплывающее окно – значит, поле уязвимо для XSS-атаки.

Это же правда (хотя и не вся правда), если появится всплывающее окно -- уязвимость действительно есть (другое дело, что если не появится -- это ещё не значит, что уязвимости нет, но это уже другой уровень!)

 

3) "РЕСТ протокол будет полностью открыт" -- в статье вообще не упоминается про REST, опять таки, это совершенно другой уровень! Более того, если бы она написала про REST -- вы бы поворчали, что этого мало, почему про WebSockets ничего не написала, ведь там будет протокол полностью открыт. Всегда можно найти то, про что ещё автор не сказал.

 

4) "сразу начинает ломать поле" -- статья про валидацию! Поэтому она показывает, какие тесты можно сделать для проверки валидации. А не для проверки функции, в которой это поле как-то участвует. Может быть это недостаточно хорошо подчёркнуто, не выделено жирным шрифтом. Но мне кажется, что это ясно видно из первого абзаца. Поэтому говорить о том, что "она забыла протестировать фичу" в данном контексте совершенно неправильно.

 

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

 

Ну а если хотите написать лучше, чем Джеквони -- пишите, мы с удовольствием будем публиковать! В том числе и сложные тексты (но не слишком сложные :))


  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#7 Spock

Spock

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

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

Отправлено 29 ноября 2019 - 14:27

 

 

4) "сразу начинает ломать поле" -- статья про валидацию!

статья кстати называется "Тестирование текстового поля", а не "Валидация текстового поля". Поэтому и ожидается что рассказ будет про именно тестирование, которое конечно включает в себя "сломать", но это не первой важности дело

 

 

 

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

 

2) "код типа "скрипт" не должен попасть в базу данных иначе это считается атакой" -- это было в другой статье, и там она тоже никого не обманула, такой способ валидации тоже встречается на практике. Иногда, действительно, используются и другие способы защиты от XSS, и тот факт, что Jira использует другой способ, никоим образом не обесценивает метод защиты "удалением скриптов".

 

А что написано в этой статье?

Попробуйте межсайтовый скриптинг введите такой скрипт: <script>alert("I hacked this!")</script>. Если при нажатии на Submit появится всплывающее окно значит, поле уязвимо для XSS-атаки.

Это же правда (хотя и не вся правда), если появится всплывающее окно -- уязвимость действительно есть (другое дело, что если не появится -- это ещё не значит, что уязвимости нет, но это уже другой уровень!)

да в том то и дело, что не надо выполнять такие тесты, которые не нужны. Валидации "скрипт" не место в интерфейсе (ну может и место, но только в отдельных редких случаях). 

 

 

 

3) "РЕСТ протокол будет полностью открыт"

это указание что валидация на "скрипт" не нужна в интерфейсе

 

 

 

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

я отлично отношусь к "популяризационным" статьям. Особенно которые не углубляются туда куда не надо, и где нет понимания. Если бы Джеквони спокойно тестировала поле, то и отлично. Но она обычно начинает "охоту на ведьм", постоянно изобретая никому не нужные валидации и фичи типа "номер телефона должен быть форматирован", "валидация на скрипт должна быть в интерфейсе"

 

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

 

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


  • 0

#8 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 871 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 29 ноября 2019 - 16:29

1) О том, в каком порядке следует выполнять тесты, почему позитивные важнее негативных, тоже немало статей. Одно другому не мешает.

 

2) В статье нигде не указано, что валидация производится именно в интерфейсе. И REST тут совершенно ни при чём, даже для обычных форм валидация должна выполняться на сервере. Да, на клиентской стороне может выполняться дополнительная валидация, но это скорее для повышения удобства, чтобы пользователь быстрее получил обратную связь, узнал, что он ввёл неподходящие данные, а не для защиты приложения.

 

3) А вы действительно считаете, что валидацию тестировать не нужно? Или нужно, но не так?


  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#9 Spock

Spock

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

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

Отправлено 29 ноября 2019 - 16:56

 

 

1) О том, в каком порядке следует выполнять тесты, почему позитивные важнее негативных, тоже немало статей. Одно другому не мешает.Поч

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

 

 

 

2) В статье нигде не указано, что валидация производится именно в интерфейсе. 

всё там указано, что именно через интерфейс. например "Click Submit without filling in the text field"

 

 

 

3) А вы действительно считаете, что валидацию тестировать не нужно? Или нужно, но не так?

конечно надо тестировать валидацию, но комплексно, зная какая валидация есть на бэкенде, понимая какая часть валидации должна быть на пользовательском интерфейсе а какая на бэкенде


  • 0

#10 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 871 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 29 ноября 2019 - 17:23

2) В статье нигде не указано, что валидация производится именно в интерфейсе. 

 

всё там указано, что именно через интерфейс. например "Click Submit without filling in the text field"

 

Совершенно верно, при этом форма (возможно) отправляется на сервер и там выполняется валидация. Пользователь (обычный человеческий пользователь, не робот) всё делает "через интерфейс". Но валидация может выполняться как на клиентской стороне (в браузере), так и на сервере. В статье просто не делается разделения между этими двумя случаями.

 

P.S. Кстати, вот в таким стиле комментировать статью -- это гораздо лучше, чем ехидничать про учителя музыки.


  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#11 Spock

Spock

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

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

Отправлено 29 ноября 2019 - 18:17

 

P.S. Кстати, вот в таким стиле комментировать статью -- это гораздо лучше, чем ехидничать про учителя музыки.

ну такой вот уровень статьи...

 

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

 

видимо она знает только про Е2Е автоматизацию но не слышала про компонентные тесты, иначе бы у нее например не возникали проблемы с большим количеством полей на одной форме


  • 0

#12 Vasiliy

Vasiliy

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

  • Members
  • PipPipPipPipPipPip
  • 2 959 сообщений
  • ФИО:Касимов Василий
  • Город:Москва

Отправлено 02 декабря 2019 - 08:50

Коллеги, может получится ввести градацию по уровням подготовки читателей для публикаций? 


  • 0

#13 baranceva

baranceva

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

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


Отправлено 02 декабря 2019 - 09:03

Коллеги, может получится ввести градацию по уровням подготовки читателей для публикаций? 

Хорошо, давайте статьи Кристин Джеквони я буду публиковать в раздел для Начиинающих, вне зависимости от их темы.


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

#14 Сергей

Сергей

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

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

Отправлено 03 декабря 2019 - 19:43

Коллеги, я уже предлагал, что к каждой статье должна быть краткая аннотация, на кого нацелена на статья, уровень читателя.
  • 0

"Если ты хороший плотник и делаешь красивую тумбочку, ты не будешь прибивать сзади фанеру, даже несмотря на то, что задняя часть повернута к стене, и никто ее не видит. Ты будешь хорошо спать ночью, только если тебе удалось воплотить в своем произведении эстетическую красоту и качество." © Стив Джобс



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

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