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

Фотография

Придумайте тесты для валидации email


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

#1 frei_by

frei_by

    Постоянный участник

  • Members
  • PipPipPip
  • 177 сообщений
  • ФИО:Дмитрий

Отправлено 03 февраля 2011 - 12:04

Я думаю многие сталкивались с классической задачей "протестировать форму регистрации" логин + email + проль.

В данном случае инетерес предаставляет именно поле email.
Какие для такого теста можно придумать тестовые данные? есть собачка, нет собачки, есть точка для доменной зоны (.com) нет точки...

Сегодня нашёл в интернете интересную статью о том как программисты мерялись валидаторами email. Набор тестовых данных впечатлил.
http://www.dominicsayers.com/isemail/ - статья
http://www.dominicsa...ail/results.php - результаты.
(http://code.google.com/p/isemail/) - исходники.

Особо инетресны случаи, когда email вроде...
first.last@[IPv6:::12.34.56.78] - корректный email ))
first.(")middle.last(")@iana.org - корректный email ))
test@example - снова, согласно RFC, корректный email ))
  • 1

#2 stmark

stmark

    Опытный участник

  • Members
  • PipPipPipPip
  • 404 сообщений
  • ФИО:Докучаев Сергей
  • Город:Ярославль


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

Серьёзно ребята к делу подошли. Меня хватило только на один стандарт, затем составил набор правил и набор векторов.
Больше к ним не возвращался. Теперь стоит пересмотреть подход. Благодарю за ссылки!

P.S. В общем было бы здорово составить такие датасеты для всех стандартных случаев. Для того, что бы каждому заново не приходилось изобретать велосипед.
  • 0

#3 Natalya Rukol

Natalya Rukol

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

  • Admin
  • PipPipPipPipPipPip
  • 2 001 сообщений
  • Город:Moscow


Отправлено 03 февраля 2011 - 13:33

Я в своё время отказалась от анализа RFC при тестировании полей е-мейл.
Причина в том, что поддерживаемый стандартом синтаксис не поддерживается большинством почтовых серверов, а "корректный" е-мейл test@example в обычном ПО (чаще всего это формы регистрации) проходить НЕ должен.

Поэтому, с точки зрения изучения стандартов - прикольно, с точки зрения практической применимости - неприменимо.
  • 0

#4 Куатор

Куатор

    Постоянный участник

  • Members
  • PipPipPip
  • 247 сообщений
  • ФИО:Комендантов Илья
  • Город:Украина, Одесса

Отправлено 03 февраля 2011 - 13:45

Я думаю многие сталкивались с классической задачей "протестировать форму регистрации" логин + email + проль.

Сегодня нашёл в интернете интересную статью о том как программисты мерялись валидаторами email. Набор тестовых данных впечатлил.
http://www.dominicsayers.com/isemail/ - статья
http://www.dominicsa...ail/results.php - результаты.
(http://code.google.com/p/isemail/) - исходники.


Полезно было бы собрать базу такого рода тестовых случаев для стандартных полей .. УХ! )
  • 0
Идеальный тестировщик - человек с золотыми руками, растущими из ж...

#5 stmark

stmark

    Опытный участник

  • Members
  • PipPipPipPip
  • 404 сообщений
  • ФИО:Докучаев Сергей
  • Город:Ярославль


Отправлено 03 февраля 2011 - 15:55

Я в своё время отказалась от анализа RFC при тестировании полей е-мейл.
Причина в том, что поддерживаемый стандартом синтаксис не поддерживается большинством почтовых серверов, а "корректный" е-мейл test@example в обычном ПО (чаще всего это формы регистрации) проходить НЕ должен.

Поэтому, с точки зрения изучения стандартов - прикольно, с точки зрения практической применимости - неприменимо.


Не согласен. Приложения бывают разные. А тут рассматривается общий случай.
В целом конечно же, если приложение не специфично, то стандарты можно "упростить".
Кстати, можно полюбопытствовать, чем Вы руководствовались при выборе тестовых данных, если отказались от рассмотрения стандартов?
  • 0

#6 LeshaL

LeshaL

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

  • Members
  • PipPipPipPipPipPip
  • 1 094 сообщений
  • ФИО:Алексей Лянгузов
  • Город:Saint-Petersburg


Отправлено 03 февраля 2011 - 16:25

Я в своё время отказалась от анализа RFC при тестировании полей е-мейл.
Причина в том, что поддерживаемый стандартом синтаксис не поддерживается большинством почтовых серверов, а "корректный" е-мейл test@example в обычном ПО (чаще всего это формы регистрации) проходить НЕ должен.

Поэтому, с точки зрения изучения стандартов - прикольно, с точки зрения практической применимости - неприменимо.

Наташа, полностью согласен!
Лично не понимаю, почему вдруг у тестировщиков "заскок", что какая-то програмулька, при регистрации обязана поддерживать все возможные по RFC адреса. НЕТ НЕТ и НЕТ. Если моя программа понимает только адреса типа "четыре цифры, собака, goggle.com" - то это правильно. Потому, что так задумано. И такие адреса не противоречат RFC, а следовательно будут поняты любым почовым сервером.
Ошибкой будет, если принимается _невалидный_ адрес.

Другое дело, если вы пишите ПО почтового сервера. Тады да, обязан понимать.

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

first(Welcome to the ("wonderful" (!)) world of email)@iana.org

. Вы придете к разработчику с багом, а он ваш пошлёт подальше - он будет абсолютно прав. Не занимайтесь ерундой.
  • 0
Regards,
Alexey

#7 Clauster

Clauster

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

  • Members
  • PipPipPipPipPipPip
  • 1 913 сообщений
  • ФИО:Худобородов Валерий
  • Город:Espoo

Отправлено 03 февраля 2011 - 23:08

Овчинка выделки не стоит
  • 0

#8 Куатор

Куатор

    Постоянный участник

  • Members
  • PipPipPip
  • 247 сообщений
  • ФИО:Комендантов Илья
  • Город:Украина, Одесса

Отправлено 04 февраля 2011 - 05:21

[quote name='LeshaL' timestamp='1296750343' post='83895']
Лично не понимаю, почему вдруг у тестировщиков "заскок", что какая-то програмулька, при регистрации обязана поддерживать все возможные по RFC адреса. НЕТ НЕТ и НЕТ. Если моя программа понимает только адреса типа "четыре цифры, собака, goggle.com" - то это правильно. Потому, что так задумано. И такие адреса не противоречат RFC, а следовательно будут поняты любым почовым сервером.
Ошибкой будет, если принимается _невалидный_ адрес.

Так что, резюме, если вы убьёте кучу времени на поиск и составление хитро*опых адресов и окажется, что ваша программа не понимает что-то типа [quote]first(Welcome to the ("wonderful" (!)) world of email)@iana.org[/quote]. Вы придете к разработчику с багом, а он ваш пошлёт подальше - он будет абсолютно прав. Не занимайтесь ерундой.
[/quote]
По-моему ситуация немного обратная. Если программа понимает только "адреса типа 'четыре цифры, собака, goggle.com'" - отлично. Но если тестирование black-box, и есть возможность проверить как можно более случаев - это тоже прекрасно, вдруг программист реализовал валидацию, основываясь на стандартах. Если поле мэйла примет "что-то типа [quote]first(Welcome to the ("wonderful" (!)) world of email)@iana.org" - но не сможет потом его корректно использовать, это как раз баг...
То есть, проблема не в том, что тестировщик прибежит с багом мол ваша прога не понимает э-мэйл по стандарту такому-то, а в том, что она как раз принимает что-то отличное от точки, собачки и доброго слова и потом не может с этим ничего сделать. Посему и хочется проверить множество вариантов, если есть такая возможность, желательно автоматически :)
  • 0
Идеальный тестировщик - человек с золотыми руками, растущими из ж...

#9 LeshaL

LeshaL

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

  • Members
  • PipPipPipPipPipPip
  • 1 094 сообщений
  • ФИО:Алексей Лянгузов
  • Город:Saint-Petersburg


Отправлено 04 февраля 2011 - 09:37

По-моему ситуация немного обратная. Если программа понимает только "адреса типа 'четыре цифры, собака, goggle.com'" - отлично. Но если тестирование black-box, и есть возможность проверить как можно более случаев - это тоже прекрасно, вдруг программист реализовал валидацию, основываясь на стандартах. Если поле мэйла примет "что-то типа

first(Welcome to the ("wonderful" (!)) world of email)@iana.org"

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

Да, вы правы - это хороший довод. С этой точки зрения стоит проверять.
Даже история смутно вспомнилась с какой-то соц-сетью или сайтом, где они принимали при регистрации пароли определнного вида, но потом, при логине такие пароли не работали.
  • 0
Regards,
Alexey

#10 Freiman

Freiman

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

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

Отправлено 04 февраля 2011 - 09:48

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

на вконтакте такое было http://www.webplanet...e_password.html

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

Да, при создании аккаунта этот номер не пройдёт, и в поле пароля придётся вбить не менее шести символов. Но зато потом можно зайти в раздел настроек и задать в качестве нового пароля любую последовательность из двух и более символов, которая включает как минимум один знак !, $ или &. Причина состоит в том, что перечисленные знаки "ВКонтакте" превращает в пятисимвольные последовательности "!", "$" и "&".

Соответственно, нельзя задать пароль, который состоял бы более чем из шести знаков !, $ или &, поскольку в результате его длина как бы будет более 32 символов, что не допускается.

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


  • 0

#11 Clauster

Clauster

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

  • Members
  • PipPipPipPipPipPip
  • 1 913 сообщений
  • ФИО:Худобородов Валерий
  • Город:Espoo

Отправлено 04 февраля 2011 - 11:05

А что будем делать, когда в зоне рф начнут создавать почтовые службы?
  • 0

#12 LeshaL

LeshaL

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

  • Members
  • PipPipPipPipPipPip
  • 1 094 сообщений
  • ФИО:Алексей Лянгузов
  • Город:Saint-Petersburg


Отправлено 04 февраля 2011 - 12:45

А что будем делать, когда в зоне рф начнут создавать почтовые службы?

Вообще этот .РФ придумали назло тестировщикам.
А зачем ещё?
  • 0
Regards,
Alexey

#13 ch_ip

ch_ip

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

  • Members
  • PipPipPipPipPipPip
  • 1 097 сообщений
  • ФИО:Павел Абдюшев
  • Город:Москва


Отправлено 02 октября 2013 - 06:34

164 теста как раз по RFC с объяснением кейсов:
http://isemail.info/...email/test/?all
[10:43:26] Alexei Barantsev: нет, вот про email: http://habrahabr.ru/post/175375/
  • 1

#14 vuchenka

vuchenka

    Постоянный участник

  • Members
  • PipPipPip
  • 174 сообщений
  • ФИО:Ирина
  • Город:Минск

Отправлено 15 октября 2013 - 13:02

164 теста как раз по RFC с объяснением кейсов:
http://isemail.info/...email/test/?all
[10:43:26] Alexei Barantsev: нет, вот про email: http://habrahabr.ru/post/175375/

спасибо большое, полезные ссылки. Может у вас еще есть какие полезные, форумы и т.п.
  • 0

"Не сломал - значит, не старался!"


#15 Zhu

Zhu

    Опытный участник

  • Members
  • PipPipPipPip
  • 288 сообщений
  • ФИО:Рина Ужевко
  • Город:Москва


Отправлено 20 ноября 2013 - 12:15

у меня только одна мысль -
НАФИГА? :rtfm:
  • 0
Bugs@Feature
Не бывает совершенных программ, бывают недотестированные.


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

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