для чего нужна валидация
Валидация — что это простыми словами? Чем отличается валидация от верификации? + ПРАКТИЧЕСКИЙ СОВЕТ
Здравствуйте, дорогие читатели! Добро пожаловать на блог!
Валидация — что это простыми словами? Чем отличается валидация от верификации? Ответы на эти вопросы — в статье.
Многие слова «валидация» и «верификация» считают синонимами. Но это не так. Разница есть, но она очень тонкая. Давайте разбираться.
Валидация и верификация — что это простыми словами?
Справедливости ради надо сказать, что в разных областях деятельности (в банках, в платежных системах, в интернете), в разных отраслях производства эти термины используются по-разному. Я решила привести здесь определение валидации и верификации из стандарта ISO 9000.
Мы видим, что определения совпадают в значительной части, но не полностью. Однако, несмотря на такое большое совпадение валидация и верификация — это разные действия.
Чтобы проще было понять, что такое валидация, давайте сначала разберемся, чем валидация отличается от верификации.
Чем отличается валидация от верификации?
Итак, что такое верификация? Более детально можете узнать из этой статьи, но здесь скажем коротко, что слово «верификация» происходит от английского слова «verification» — проверка. А слово «валидация» происходит от английского «validation» — придание законной силы.
Примеры валидации и верификации в разных сферах.
Без примеров трудно понять отличия валидации и верификации. Приведем несколько примеров из разных областей.
Пример из области медицины
Скажем, разработали новое лекарство. Провели многочисленные тесты для ПРОВЕРКИ, что лекарство лечит такую-то болезнь. Здесь речь идет о ВЕРИФИКАЦИИ (о проверке соответствия лекарства его предназначению). Но Вы знаете, что на самом деле лекарство подходит не всем. Чтобы начать лечение Вам нужна ВАЛИДАЦИЯ врача. Только врач может ПОДТВЕРДИТЬ, что это лекарство подойдет КОНКРЕТНО Вам.
ВЕРИФИКАЦИЯ — это тестирование лекарства с целью ПРОВЕРКИ на соответствие его предназначению. А ВАЛИДАЦИЯ — это ПОДТВЕРЖДЕНИЕ врача, что лекарство подойдет КОНКРЕТНОМУ больному.
Пример из области производства
Предположим завод по производству велосипедов принял заказ на партию велосипедов. Так вот, ВЕРИФИКАЦИЮ (ПРОВЕРКУ) на соответствие требованиям заказчика выполняет сам завод-производитель. А вот ВАЛИДАЦИЮ (ТЕСТИРОВАНИЕ, ПРОВЕРКУ) на соответствие своим требованиям будут выполнять представители самого заказчика.
Пример из области IT
Аналогичный пример можно привести из области IT. Компания — разработчик программного обеспечения получила заказ на разработку какого-то софта. Программа, которая была создана, прошла тестирование. Результатом тестирования является ВЕРИФИКАЦИЯ на стороне компании, выполняющей заказ, что программа полностью соответствует тех заданию заказчика. А вот ВАЛИДАЦИЮ будет выполнять сам заказчик, когда установит программное обеспечение и протестирует его.
Пример из сферы интернета
Социальная сеть Твиттер проводит ВЕРИФИКАЦИЮ аккаунтов знаменитостей, чтобы участники сети точно знали, что посты публикуются действительно этой знаменитостью. В результате верификации в аккаунте знаменитости появляется синий значок с галочкой.
Еще пример. Для того, чтобы стать продавцом на Амазоне, Вам необходимо пройти ВЕРИФИКАЦИЮ личности. Также необходимо пройти верификацию при регистрации аккаунтов во всех платежных системах (Вебмани, Яндекс.Деньги, Киви и т.д.)
Пример из законодательной области
Инициативный депутат решил улучшить жизнь и придумал прогрессивный Закон. Законотворческие органы выполнят ПРОВЕРКУ нового Закона на соответствие другим Законам и международному праву и ВЕРИФИЦИРУЮТ его. Но Закон вступит в силу не сразу, а только через месяц — после его ВАЛИДАЦИИ (придания законной силы) высшим органом законодательной власти. За этот месяц можно отозвать Закон, выявив вред для каких-то КОНКРЕТНЫХ слоев населения.
Например, соц сеть Твиттер верифицирует аккаунты знаменитостей для того, чтобы пользователи были уверены, что сообщения действительно публикует эта знаменитость или её официальный представитель. В аккаунте пользователя Твиттере, который прошел такую верификацию, ставится синий значок с галочкой.
Теперь можно сделать общий вывод, что верификация (проверка) встречается чаще, чем валидация. Валидация (подтверждение для конкретного случая) нужна не всегда.
Практический совет
Вы спросите, для чего нужно разбираться в этих терминах? Скажу, что есть и практическая польза. Главная цель верификации и валидации — безопасность, чтобы Ваши банковские карты и аккаунты были защищены. Однако, пользуясь тем, что многие не разбираются в этих терминах, злоумышленники для похищения личных данных часто применяют такой способ, как сообщение с просьбой верифицировать или валидировать вашу банковскую карту, аккаунт и т.д..
Практический совет: При появлении окна с просьбой верификации или валидации Ваших данных проверьте в адресной строке данные сайта, нет ли пропущенных или лишних символов. Либо попробуйте зайти в эту программу с другого устройства и если такого сообщения не появляется, значит Ваш компьютер надо лечить от опасных вирусов.
Резюме
Надеюсь, статья, оказалась полезной для Вас и Вы теперь знаете ответы на вопросы: Валидация — что это простыми словами? Чем отличается валидация от верификации?
Вот по традиции порция полезного видео. В котором Жак Фреско учит мыслить нестандартно, не так, как все. ЭТИ НЕСКОЛЬКО МИНУТ БУДУТ ТОЧНО ПОТРАЧЕНЫ НЕ ЗРЯ!
Желаю всем новых идей и много сил для их реализации!
Эссе о валидации данных
Зачем нужна валидация данных?
Казалось бы, «невалидные» данные, не удовлетворяющие определённым ограничениям, могут вызвать сбой в работе программы. Но что это означает? Предположим, в каком-то месте программы возникает исключение при попытке преобразовать строку в число, если строка имеет некорректный формат. Разумеется, если исключение не будет нигде перехвачено, это может привести к аварийному завершению программы. Но это маловероятный сценарий развития событий. Скорее всего в каком-то месте сработает перехватчик, который либо выдаст пользователю какое-то сообщение об ошибке в программе, либо сделает запись в журнал ошибок, после чего программа постарается восстановиться от сбоя и продолжить работу. То есть даже если валидацию не выполнять, вполне вероятно, что ничего страшного не случится.
Где и когда выполнять валидацию данных?
Как уже было сказано выше, с точки зрения уменьшения нагрузки лучше всего вообще не выполнять валидацию данных.
Но если всё-таки проверка нужна, логика подсказывает, что удобно проверять данные в том месте, где они попадают в программу из внешнего мира. После такой проверки можно быть уверенным, что в программу попадают правильные данные и в дальнейшем они могут использоваться без дополнительных проверок.Это может быть пользовательский интерфейс, через который человек вводит данные. Это может быть файл, содержащий настройки программы или данные, которые программа должна обработать. Это может быть база данных, в которую информация может попадать из других программ. Это может быть сетевой протокол обмена данными с другими программами. Наконец, это может быть программный интерфейс, который использует другая программа, вызывая некоторые функции/процедуры и передавая в них параметры.
Как выполнять валидацию данных?
Какой способ валидации следует применять на практике в том или ином случае? Чаще всего одним способом ограничиться не удаётся, да и не нужно. Валидацию данных можно и нужно выполнять в несколько этапов, усложняя проверки.
Сначала, по мере ввода, следим за тем, чтобы данные не содержали недопустимых символов. Например, для числового поля пользователю может быть запрещён ввод нецифровых символов.
После того, как ввод завершён, можно проверить всё значение целиком. Для введённого числа могут быть какие-то ограничения, например, оно не должно превышать определённого максимального допустимого значения. Если наше числовое поле представляет собой возраст, оно должно находиться в пределах от 0 до, скажем, 120.
Когда заполнены все поля, можно проверить, согласованы ли введённые значения друг с другом. Например, если в форме кроме поля для указания возраста есть поле для ввода номера паспорта, приложение может проверить, что при заполнении номера паспорта возраст должен быть не менее 14 лет.
Наконец, если всё введено корректно, можно попытаться начать обработку, выполняя проверки по ходу дела, а также в самом конце, и если что-то пошло не так, выполнить откат к исходному состоянию.
Ну и, конечно же, проверки на следующем уровне могут подстраховывать проверки предыдущих уровней. Скажем, для веб-приложений обязательной является проверка данных, пришедших на сервер в HTTP-запросе, независимо от того, выполнялась ли перед этим предварительная валидация в браузере или нет. Причина этого в том, что проверку на клиентской стороне можно обойти. Для других видов приложений обойти проверки не так просто, но иногда тоже вполне возможно, как показано в примере чуть ниже.
Тестирование валидаторов
Завершим статью демонстрацией различных видов валидаторов, а также некоторыми рекомендациями относительно того, как при тестировании проверять правильность их работы.
Начнём с посимвольной проверки. Графический редактор Paint, диалог изменения размеров рисунка, ширина рисунка. В это поле допускается вводить только цифры, при попытке ввести другие символы выдаётся сообщение об ошибке:
Однако, проявив смекалку, можно обойти эту валидацию вводимых символов: через буфер обмена удаётся вставить в это поле отрицательное число, несмотря на то, что минус является недопустимым символом:
Впрочем, это не приводит к негативным последствиям, потому что на следующем уровне стоит ещё одна проверка, которая срабатывает при нажатии кнопки OK:
Есть и другие ограничения для этого поля, которые тоже проверяются после нажатия кнопки OK:
А вот находящееся совсем рядом в том же диалоге поле для ввода наклона рисунка не содержит валидации символов, несмотря на то, что это тоже числовое поле. Более того, при вводе недопустимых символов после нажатия OK можно увидеть вот такое странное сообщение, практически не поддающееся расшифровке:
Все вышеописанные примеры связаны с проверкой отдельно взятого поля. Пример валидации комбинации полей можно найти в том же приложении, но в другом месте — в диалоге настройки параметров страницы для печати. Если указать размеры полей страницы так, чтобы в сумме они превосходили ширину страницы, получим вот такое сообщение:
Ну и, наконец, в заметке «Почему не хватает памяти, чтобы уменьшить размеры рисунка?» описана ошибка, связанная с тем, что в этом графическом редакторе отсутствует корректная обработка сбоев и откат транзакции при слишком сильном увеличении размера рисунка.
Тестировщику необходимо все эти ситуации отрабатывать. Во-первых, нужно проверять валидацию на всех уровнях. Во-вторых, нужно проверять согласованность валидаторов на разных уровнях. В-третьих, надо искать пути обхода валидаторов, пытаясь добраться до следующего уровня без предварительных проверок.
Заключение
Большая часть этой статьи посвящена не способам тестирования валидаторов, а описанию их устройства. Почему? Потому что врага надо знать в лицо. Чтобы найти дефект валидации данных, надо понимать, где искать и на что обращать внимание.
Что такое валидация идеи стартапа и почему она обязательна
Развитие бизнеса всегда связано с определенными рисками. Уже в первый год своей жизни, большинство стартапов закрываются и чаще всего это происходит из-за отсутствия спроса на их продукт.
Чтобы уменьшить вероятность неудачи, нужно валидировать идею проекта и создать MVP. В этой статье, вы узнаете что такое валидация и как ее провести.
По данным исследования CBInsights, в 42% стартапы проваливались из-за того, что созданный продукт был никому не нужен. Увлекаясь своей идеей, фаундеры решали интересные им проблемы, а не те в которых нуждался рынок.
Главная цель создания стартапа — создание продукта, который нужен людям. При этом, он должен соответствовать и предвосхищать их ожидания.
Проверить востребованность рынка в том или ином продукте, можно через валидацию. При этом, для проектов на pre-seed стадии реализации, это критически важный этап.
Многие основатели недостаточно серьезно относятся к подготовке проекта к запуску, из-за чего так быстро проваливаются. Чтобы создать успешный стартап, нужны не только страсть к идее и амбиции, но и доля реализма. Чтобы новый бизнес не увел вас в долговую яму, нужно просто провести первичное тестирование идеи.
Говоря о валидации в экосистеме стартапов, имеют в виду тестирование и проверку жизнеспособности бизнеса. В процессе, доказывают или опровергают гипотезу того, что рынок нуждается в том или ином продукте, а аудитория готова за него платить.
Протестировав свою идею, вы:
Протестировать востребованность идеи можно как угодно: от личного общения с потенциальными клиентами до проведения масштабного социологического исследования. Но, при любых обстоятельствах, ваши действия должны соответствовать определенным этапам:
Прежде чем тестировать идею, определитесь с качествами своего будущего продукта, а именно:
Главная цель валидации — получить доказательство того, что рынок нуждается в определенном продукте. Сформируйте минимальный перечень четких и измеримых целей, которых хотелось бы достичь до окончания исследования, например:
Создайте веб-страницу будущего проекта с формой сбора информации о заинтересованных пользователях, проведите масштабную рассылку опросника или создайте MVP-продукта.
В результате, нужно собрать фидбек со стороны потенциальных потребителей. Это могут быть прямые отзывы или ожидания от будущего продукта.
После окончания работы над исследованием, нужно принять важное решение и определиться с тем, будет ли рентабельно продолжает работу над стартапом. Иногда, после валидации идеи, фаундеры полностью меняют направленность своей основной идеи и приходят к чему-то принципиально новому. Единственное правило — убедиться в том, что в продукте нуждаются и потребители будут готовы за него платить.
Наряду с проверкой идеи, стоит исследовать покупателя и саму индустрию. Есть несколько проверенных способов и подходов к валидации:
Чтобы убедиться в наличии проблемы и проверить гипотезы, можно:
Используйте формы в Google Forms, SurveyMonkey, TypeForm или даже свою страницу в социальных сетях.
Чтобы не тратиться на разработку сайта с нуля, можете воспользоваться конструкторами сайтов (например, WIX, Weebly или Tilda).
Подробней о том, как реализовать подобную демо-версию проекта, читайте в статье по ЭТОЙ ссылке.
Наша команда выделила несколько основных нюансов, о которых не стоит забывать как во время валидации идеи, так и после нее:
Монетизируйте идею. Это ожидаемый и логичный сценарий дальнейшего развития проекта. При этом, хорошо если вы запустите предпродажи продукта уже на стадии его разработки.
Помните об адаптивности. Общество меняется и бизнес тоже должен меняться. Подстраивайте идею и проект под реалии окружающего мира. Иногда может даже возникнуть необходимость отказаться от гипотез или кардинально поменять подход к созданию продукта.
Не принимайте близко к сердцу неудачи. Бывает трудно отказаться от своих гипотез и осознать, что разрабатывать продукт будет абсолютно нерентабельно. Если идея не пройдет проверку, лучше воспринять это как ценный опыт и перейти к валидации другого стартапа.
Учтите опыт других предпринимателей. Обращайте внимание на кейсы других компаний, проанализируйте их ошибки и удачные решения. Так, вы получите возможность поучиться и совершенствовать навыки ведения бизнеса.
Валидация поможет избежать скоропостижного провала, но она не устранит все проблемы, с которыми сталкиваются фаундеры в процессе развития проекта. При этом, вы, как минимум, детально изучите рынок и получите бесценный опыт.
Инвестиционная компания Adventures Lab, активно ищет стартапы. Мы поможем инкубировать вашу идею, запустить бизнес и развить его по максимуму. Заявить о своем проекте можно, просто заполнив специальную форму на нашем сайте.
Ок. Моя идея робот каждому. Как проверить востребованно ли это будет?
«Используйте формы в Google Forms, SurveyMonkey, TypeForm или даже свою страницу в социальных сетях.» и такой совет я слышу от многих, все эти миллиардные ВиСи и фаундеры, все эти инноваторы знающие число ПИ и 20 последующих точке цифр, все эти Стенфордцы и ВАЙКомбинаторщики, все дают этот совет. Но мы в 21 веке, в эру ковида, пора что-то придумать получше или попробовать.
ps: я уже написал бету, давайте пообщаемся?