Что значит пройти валидацию
Верификация и валидация — что это такое простыми словами
Здравствуйте, уважаемые читатели блога KtoNaNovenkogo.ru. Слова валидация и верификация пришли в русский язык относительно недавно (в отличии, например, от моветона с комильфо или от ангажированности) вместе с международными стандартами разработки и приемки продуктов и технологий. В связи с этим, как обычно, возникает некоторая путаница с переводом технических терминов на русский язык и их трактовкой.
Кроме непосредственно технологических процессов, слова верификация и валидация активно используются в интернете, например, при регистрации в платежных системах (Skrill, Пейпал, Яндекс Деньгах, Киви, Perfect Money и др.), где для привязки к аккаунту пластиковой карты бывает необходимо пройти процесс ее верификации (проверки). Владельцы же сайтов знают, что Html код веб-страниц нужно проверять на валидность в специальном сервисе на соответствие требованиям.
Также вас может интересовать значение слова валидация в связи с тем, чтоб при входе в Контакте, Мой Мир или Однокласники у вас выскакивает окно с требованием пройти валидацию вашего аккаунта с помощью ввода номера телефона или отправки СМС. Как правило, это результат действия вируса заразившего ваш компьютер, поэтому чуть ниже мы и этой проблемы входа коснемся, а также вариантов ее решения.
Что такое верификация и чем она отличается от валидации?
Давайте я попробую объяснить простыми словами изначально заложенный в эти слова смысл, ибо тот технический перевод, что вы можете найти, например, в Википедии (верификация и валидация) мало на что годится, если вы не специалист в этой области и с подобным никогда не сталкивались.
Итак, что же такое это за слова такие хитрые? Как я уже говорил, прямой перевод толкования терминов приводит к тому, что валидация и верификация кажутся нам словами синонимами и означают проверку (собственно, на бытовом уровне это зачастую так и бывает). Однако, разница между ними есть, причем кардинальная.
Давайте для общего развития я попробую пояснить разницу. Слово верификация (от английского verification) означает проверку или тестирование. Какой бы технологический процесс не взять (изготовление механического изделия, написание программного обеспечения и т.п.), то верификация будет означать проверку правильности и качества выполнения всех этапов изготовления. Если собирали велосипед, то проверятся наличие всех необходимых элементов (руля, педалей, рамы и т.д) и соответствие их указанным в техзадании параметрам качества.
Слово валидация (от английского validation) ближе всего к понятию аттестация, а по сути означает комплексную проверку изделия требованиям заказчика им же самим. Если собирали велосипед, то он будет валидирован после того, как на нем прокатятся представители заказчика и признают его удовлетворяющим своим «хотелкам».
Это безусловно грубое упрощение, но зато позволяющее пояснить разницу между понятиями простыми и доступными всем словами.
Еще один «грубый» пример. Допустим, было разработано новое лекарственное средство. Его формула и ТЗ передаются на фабрику. Исполнитель по окончанию работ проверяет (верифицирует) его химический состав и качество на соответствие ТЗ (техзадания). Заказчик же проводит валидацию полученного лекарства, испытывая его действие на пациентах или мышах. Если желаемый эффект будет достигнут, а побочные действия окажутся в рамках прогнозов, то лекарство будет успешно валидировано (аттестовано).
То же самое касается и программного обеспечения. Исполнитель выполняет работу, проводит верификацию на предмет соответствия функционала ПО техзаданию, а вот уже заказчик ставит ПО у себя и смотрит — выполняет ли оно возложенную на него задачу или нет. От результатов будет зависеть и решение по валидации или отправке на доработку.
Другими словами. Верификация — это подтверждение того, что задание было выполнено в полном соответствии с требованиями заказчика. А валидация — это проверка того, так ли как надо результирующее изделие (продукт) функционирует на практике. Может возникнуть ситуация, когда ТЗ выполнено, а изделие не работает или работает не так как надо. Поэтому процесс валидации является более всеобъемлющим и показательным, чем верификации (штамп «валидировано» ставится поверх штампа «верифицировано», если так можно выразиться).
Валидация и верификация в онлайн-сервисах интернета?
Скорее всего приведенные выше объяснения вас глубоко не тронули, ибо вам узнать значение этих слов нужно было совсем по другой причине (вне рамок отношений заказчик — исполнитель). Дайте догадаюсь почему?
Ну, возможно, вы вирус цепанули на комп и вас теперь в какую-нибудь социальную сеть всплывающее окно «Пройдите валидацию» не пускает. Вы смутно догадываетесь, что сообщать свой номер телефона или отправлять СМС не является лучшим решением проблемы, поэтому и решили погуглить на тему «что такое валидация». Заранее скажу, что отправлять ничего не нужно, а нужно комп чистить и файл Хостс приводить в исходный вид. Об этом чуть ниже мы поговорим подробнее.
Также, возможно, что вы зарегистрировались в какой-нибудь платежной системе (или другом онлайн-сервисе), где предлагают верифицировать вашу платежную карту, валидировать сайт или сделать что-то подобное. Буржуйские термины вам показались не слишком понятными и вы решили поискать ответ в Яндексе.
В этом случае опасаться нечего. Вас могут, например, при попытке привязки карты к аккаунту платежной системы, попросить верифицировать свою кредитку (проверить ее на способность проведения платежей). Обычно с нее снимают небольшую сумму, а потом просят вас указать, а сколько именно было снято. Если указали, то карта верифицируется и ей можно будет пользоваться для пополнения виртуального счета или вывода с него средств.
Слово верификация тут используется по прямому назначению, т.е. как синоним слова проверка или тестирование. Так как многие сервисы в рунете создаются по образу и подобию ранее созданных платежных систем буржунета, то и терминология зачастую заимствуется тоже оттуда. В общем, тут вам предлагают просто потетстить карточку на предмет работоспособности перед началом ее использования.
Некоторые сервисы предлагают пройти процедуру валидации, т.е. аттестации (подтверждения) вашего аккаунта, чтобы получить больше возможностей и прав. Выражается это обычно в подтверждении своей личности (нужно прислать скан паспорта; либо сделать сигну в обнимку с экраном компа, где открыта страница сервиса; либо указать номер телефона и потом ввести код полученный через СМС). Все это довольно часто владельцы сервисов обзывают валидацией, ибо слово получило достаточно большое распространение и стало можно сказать «модным».
Валидация аккаунта Вконтатке и Одноклассниках — у вас вирус
Последнее время довольно распространен вирус, который при входе на сайты популярных социальных сетей (Вконтакте, Одноклассники, Мой мир и др.) выбрасывает табличку с сообщением, что ваш аккаунт должен пройти валидацию описанным способом.
Это мошенники. Очень ненавязчиво и требовательно они вытянут из вас деньги (платные СМС сообщения и т.п. вещи), заставят установить какую-нибудь гадость на свой компьютер или сделают еще что-то не очень приятное. Что же делать?
Во-первых, не вестись на все эти уловки. Кто вас попросил о валидации — администрация социальной сети или злоумышленник, который с помощью вируса подменил страницу социальной сети? Как проверить? Довольно просто.
Во-вторых, нужно начать искать способ удаления вируса или хотя бы на первых порах нейтрализации его последствий. Если у вас антивирус не стоит, или он не активен (не оплатили очередной период, не обновили антивирусные базу, его заблокировал вирус), то попробуйте скачать портативную и бесплатную версию Доктора Веба (доверяю ему уже больше десяти лет) и просто запустите быструю проверку.
Наверняка он скажет, что у вас изменен файл Hosts и предложит его починить. После этого при входе в Контакт, Одноклассники и другие сети у вас валидацию требовать уже не будут.
Если данная утилита по каким-то причинам вам не помогла (не получилось скачать, не запустилась и т.п.), то можно самому попробовать найти и почистить от лишних записей так называемый файл Hosts.
Дело в том, что вирус мог в нем прописать строчку с адресом соцсети и совершенно не относящимся к ней IP-адресом. Браузер всегда сначала обращается к файлу Хостс на вашем компе (а только потом в интернет), и если там находит соответствие IP адреса и домена (например, vk.com 109.121.92.15), то сайт соцсети он будет открывать именно с этого IP, а там уже будет подготовлен фейковый сайт как две капли воды похожий на настоящий, но который при попытке входа будет выкидывать сообщение о валидации.
Если ничего из вышенаписанного вам не помогло, то пробуйте другие антивирусы или можете восстановить свою операционную из образа, если его раньше делали к примеру с помощью Акрониса. В худшем случае вам придется либо нести комп к специалисту, либо самостоятельно винду переустанавливать, а в дальнейшем быть максимально осторожным и обязательно пользоваться антиирусом, чтобы никаких табличек с валидацией более не выскакивало.
Удачи вам! До скорых встреч на страницах блога KtoNaNovenkogo.ru
Эта статья относится к рубрикам:
Комментарии и отзывы (5)
Есть простое русское слово «проверка», которым можно заменить и верификацию, и валидацию, и аутентификацию, и многие другие непонятные простому русскому человеку иностранные слова.
Еще одно прозападное слово, засоряющее Русский язык. Можно использовать аналогичное слово: Подтверждение. Ведь согласитесь, звучит намного лучше, чем какая-то «верификация».
Думаю, сейчас все в курсе, что такое верификация, ее постоянно приходится проходить в инете при входе в свой аккаунт.
Когда-то я попался на удочку фальшивой валидации ВК. Результат — страницу пришлось размораживать, а из лички ушел «залп» из нескольких десятков спамовых сообщений.
Такие слова, как «верификация» и «валидация», довольно часто можно услышать в различных телепередачах, но мало кто из людей знает, что они означают. Их звучание довольно сходное, и те, кто произносят эти слова, часто сами путаются в них. Из контекста слушатель догадывается, что дело и там, и там связано с проверкой чего-то. Что же в действительности означают эти слова, что у них общего и чем отличается валидация от верификации?
Происхождение термина
Философский и научный термин «верификация» пришел в наш язык из латыни (от лат. verus — «истинный», и facere — «делать»). Он означает проверку какого-либо предположения на соответствие заранее сформулированным требованиям, стандартам или спецификациям. Содержание термина существенно меняется в зависимости от контекста.
Верификация в науке
Для этого проводятся серии натурных или мысленных экспериментов, и если их результаты подтверждают гипотезу, она считается верифицированной и становится научной концепцией или даже теорией.
Верификация на производстве товаров и в предоставлении услуг
Наиболее широко процесс начал использоваться при производстве программного обеспечения и разработке сложных технических систем. Из этих отраслей метод распространился и в другие отрасли.
Подтверждение на основе представления объективных свидетельств того, что установленные требования были выполнены. (ИСО 9000:2000)
Производственная верификация заключается в сборе документальных доказательств того, что проектируемый и производимый продукт (или услуга) соответствует всем требованиям технического задания, производственных спецификаций и стандартов отрасли на каждом этапе производственного цикла. В случае сложных и продолжительных производственных процессов важно не откладывать сбор таких свидетельств на ночь перед отгрузкой продукции.
В производстве сложных систем и программных продуктов применяют следующие методы верификации:
Тестирование и анализ документов представляют собой наиболее широко и часто используемые подходы. Сопоставление научно-технической и проектной документации также весьма популярно, однако для многих передовых разработок трудно подобрать аналогичный проект.
Проведение альтернативных расчетов по независимому алгоритму позволяет получить базу для оценки точности расчетов, выполненных по проверяемому алгоритму. Один из наиболее часто используемых способов альтернативных расчетов – это калькулятор.
Верификация субъекта услуги
В этом случае происходит идентификация личности пользователя, какого-либо сетевого сервиса, например Twitter. В данном случае это означает проверку подлинности пользователя и подтверждения его личности. Аналогичные идентификации проводят и другие социальные медиа, сетевые торговые площадки и платежные системы.
Верификация заемщика в банке заключается не только в установлении его личности, но и в проверке его соответствия требованиям банка к пользователю данного продукта, таких как:
В русскоязычных медиа термин иногда используется в значении «проверка публикуемых фактов». Это чисто русский новояз, весь мир пользуется простым термином “fact cheking”, или «проверка фактов».
Валидация
Валидация на транспорте
Валидатором (от англ. valid – «действительный, правомерный») называют также специальное приспособление, с помощью которого проводят проверку электронных проездных документов. Таким образом определяют правомочность посадки пассажира в салон общественного транспорта. Часто валидатор совмещают с турникетом. Это позволяет экономить значительные средства на организации и проведении контроля оплаты проезда пассажирами. Применяют такие устройства также и для контроля прохода сотрудников на территорию предприятия.
Валидация в системе управления качеством
Формулировка в стандарте ИСО несколько невнятная и слишком похожа на определение «верификации».
«Валидация — подтверждение на основе представления объективных свидетельств того, что требования, предназначенные для конкретного использования или применения, выполнены».
Основное отличие
В чем основное отличие верификации и валидации?
Верификация – обязательный внутренний процесс проверки изделия или услуги на соответствие стандартам и спецификациям.
«-К пуговицам претензии есть?
-К лацканам претензии есть?
К рукавам претензии есть?
«-Костюм можно носить?
Основная задача верификации и валидации
Основная задача верификации состоит в том, что она подтверждает тот факт, что удалось произвести правильный продукт, абстрактно соответствующий всем утвержденным стандартам и спецификациям. Основная задача валидации заключается в том, чтобы подтвердить, что продукт может успешно использоваться конкретным потребителем в вот таких-то конкретных условиях.
Верификация проводится всегда, а вот валидация может и не проводиться.
Примеры верификации и валидации
Завод по производству лекарственных препаратов всегда будет проверять, соответствуют ли они техническим условиям и стандартам (верификация), а вот проверку, подойдут ли эти препараты определенному пациенту с таким-то набором симптомов, не будет (валидация).
Компания выпускает ботинки, предназначенные для загородных прогулок. Эти ботинки полностью соответствуют техническим условиям, и это проверяется для каждой пары (верификация). А вот подойдет ли эта обувь для высокогорных восхождений, предстоит определять отдельно (валидация).
Еще один пример, относящийся практически к любому предприятию. Отдел технического контроля осуществляет верификацию, а аудиторы проводят валидацию.
Валидация что это? Это не верификация!
Ответ на вопрос Валидация что это довольно коварен, потому что его часто путают с верификацией. Но, не смотря на то, что значения терминов очень похожи, обозначают они разные действия.
Определение термина Валидация что это.
Валидация что это? Произошло слово от английского «validation», что в переводе означает подтверждение законной силы.
Валидацию проводят только при необходимости, оценивая соответствие характеристик продукции требованиям. Результатом является вывод о возможности применения продукции в определенных условиях.
Где уместно будет применить
Рассмотрим на примерах:
Разница между валидацией и верификацией
Верификация — обычно внутренний процесс управления качеством, обеспечивающий согласие с правилами, стандартами или спецификацией. Простой способ запомнить разницу между валидацией и верификацией заключается в том, что валидация подтверждает, что «вы создали правильный продукт». А верификация подтверждает, что «вы создали продукт таким, каким и намеревались его сделать».
Ещё один пример типичной верификации: проведение испытания оборудования. Имея определенные требования на руках, мы проводим испытание продукта и фиксируем, соблюдены ли требования. Результат верификации — ответ на вопрос «Соответствует ли продукт требованиям?».
Но далеко не всегда продукт, соответствующий установленным требованиям, можно применять в конкретной ситуации. Например, лекарство прошло все положенные испытания и поступило в продажу. Значит ли это, что оно может быть применено каким-то конкретным больным?
Нет, так как каждый организм имеет свои особенности и конкретно для него, это лекарство может быть губительным, то есть кто-то (врач) должен подтвердить: да, этому больному можно принимать это лекарство. То есть врач должен выполнить валидацию: придать законную силу конкретному применению.
Другой пример: предприятие выпускает трубы, предназначенные для закладки в землю, в соответствии с некоторыми ТУ (Техническими условиями). Продукция этим ТУ соответствует, но поступил заказ, предполагающий укладку труб по дну моря. Могут ли трубы, соответствующие имеющимся ТУ, быть применены в данном случае? Именно валидация и дает ответ на этот вопрос.
Можно видеть, что еще одно отличие состоит в том, что верификация производится всегда, а вот необходимость в валидации может и отсутствовать. Она появляется только тогда, когда возникают требования, связанные с конкретным применением продукции. Если фармацевтический завод выпускает лекарства, то он будет проверять лишь их соответствие требованиям, а проблемами применения конкретных лекарств конкретными пациентами заниматься не будет.
Ответ на вопрос Валидация что это
Таким образом, можно констатировать следующее:
Исходя из вышеописанного, валидация должна быть определена как подтверждение на основе представления объективных свидетельств того, что требования. Предназначенные для конкретного использования или применения, точно и в полном объёме предопределены, а цель достигнута.
Эссе о валидации данных
Зачем нужна валидация данных?
Казалось бы, «невалидные» данные, не удовлетворяющие определённым ограничениям, могут вызвать сбой в работе программы. Но что это означает? Предположим, в каком-то месте программы возникает исключение при попытке преобразовать строку в число, если строка имеет некорректный формат. Разумеется, если исключение не будет нигде перехвачено, это может привести к аварийному завершению программы. Но это маловероятный сценарий развития событий. Скорее всего в каком-то месте сработает перехватчик, который либо выдаст пользователю какое-то сообщение об ошибке в программе, либо сделает запись в журнал ошибок, после чего программа постарается восстановиться от сбоя и продолжить работу. То есть даже если валидацию не выполнять, вполне вероятно, что ничего страшного не случится.
Где и когда выполнять валидацию данных?
Как уже было сказано выше, с точки зрения уменьшения нагрузки лучше всего вообще не выполнять валидацию данных.
Но если всё-таки проверка нужна, логика подсказывает, что удобно проверять данные в том месте, где они попадают в программу из внешнего мира. После такой проверки можно быть уверенным, что в программу попадают правильные данные и в дальнейшем они могут использоваться без дополнительных проверок.Это может быть пользовательский интерфейс, через который человек вводит данные. Это может быть файл, содержащий настройки программы или данные, которые программа должна обработать. Это может быть база данных, в которую информация может попадать из других программ. Это может быть сетевой протокол обмена данными с другими программами. Наконец, это может быть программный интерфейс, который использует другая программа, вызывая некоторые функции/процедуры и передавая в них параметры.
Как выполнять валидацию данных?
Какой способ валидации следует применять на практике в том или ином случае? Чаще всего одним способом ограничиться не удаётся, да и не нужно. Валидацию данных можно и нужно выполнять в несколько этапов, усложняя проверки.
Сначала, по мере ввода, следим за тем, чтобы данные не содержали недопустимых символов. Например, для числового поля пользователю может быть запрещён ввод нецифровых символов.
После того, как ввод завершён, можно проверить всё значение целиком. Для введённого числа могут быть какие-то ограничения, например, оно не должно превышать определённого максимального допустимого значения. Если наше числовое поле представляет собой возраст, оно должно находиться в пределах от 0 до, скажем, 120.
Когда заполнены все поля, можно проверить, согласованы ли введённые значения друг с другом. Например, если в форме кроме поля для указания возраста есть поле для ввода номера паспорта, приложение может проверить, что при заполнении номера паспорта возраст должен быть не менее 14 лет.
Наконец, если всё введено корректно, можно попытаться начать обработку, выполняя проверки по ходу дела, а также в самом конце, и если что-то пошло не так, выполнить откат к исходному состоянию.
Ну и, конечно же, проверки на следующем уровне могут подстраховывать проверки предыдущих уровней. Скажем, для веб-приложений обязательной является проверка данных, пришедших на сервер в HTTP-запросе, независимо от того, выполнялась ли перед этим предварительная валидация в браузере или нет. Причина этого в том, что проверку на клиентской стороне можно обойти. Для других видов приложений обойти проверки не так просто, но иногда тоже вполне возможно, как показано в примере чуть ниже.
Тестирование валидаторов
Завершим статью демонстрацией различных видов валидаторов, а также некоторыми рекомендациями относительно того, как при тестировании проверять правильность их работы.
Начнём с посимвольной проверки. Графический редактор Paint, диалог изменения размеров рисунка, ширина рисунка. В это поле допускается вводить только цифры, при попытке ввести другие символы выдаётся сообщение об ошибке:
Однако, проявив смекалку, можно обойти эту валидацию вводимых символов: через буфер обмена удаётся вставить в это поле отрицательное число, несмотря на то, что минус является недопустимым символом:
Впрочем, это не приводит к негативным последствиям, потому что на следующем уровне стоит ещё одна проверка, которая срабатывает при нажатии кнопки OK:
Есть и другие ограничения для этого поля, которые тоже проверяются после нажатия кнопки OK:
А вот находящееся совсем рядом в том же диалоге поле для ввода наклона рисунка не содержит валидации символов, несмотря на то, что это тоже числовое поле. Более того, при вводе недопустимых символов после нажатия OK можно увидеть вот такое странное сообщение, практически не поддающееся расшифровке:
Все вышеописанные примеры связаны с проверкой отдельно взятого поля. Пример валидации комбинации полей можно найти в том же приложении, но в другом месте — в диалоге настройки параметров страницы для печати. Если указать размеры полей страницы так, чтобы в сумме они превосходили ширину страницы, получим вот такое сообщение:
Ну и, наконец, в заметке «Почему не хватает памяти, чтобы уменьшить размеры рисунка?» описана ошибка, связанная с тем, что в этом графическом редакторе отсутствует корректная обработка сбоев и откат транзакции при слишком сильном увеличении размера рисунка.
Тестировщику необходимо все эти ситуации отрабатывать. Во-первых, нужно проверять валидацию на всех уровнях. Во-вторых, нужно проверять согласованность валидаторов на разных уровнях. В-третьих, надо искать пути обхода валидаторов, пытаясь добраться до следующего уровня без предварительных проверок.
Заключение
Большая часть этой статьи посвящена не способам тестирования валидаторов, а описанию их устройства. Почему? Потому что врага надо знать в лицо. Чтобы найти дефект валидации данных, надо понимать, где искать и на что обращать внимание.