Верификация - это процесс проверки программного продукта. Что такое верификация

Понятия “верификация” и “валидация” вошли в нашу речь с активным использованием , терминалов и разных платежных систем. Но кроме банковской сферы, эти слова используются в менеджменте, программировании и прочих отраслях науки. В интернете верификация используется для того, чтобы пользователь мог подтвердить свое право на владение учетной записью или карточкой для оплаты.

Что означают слова «верификация» и «валидация»?

Есть две версии происхождения слова «верификация». В соответствии с первой, оно происходит от слова verus (истинный) и facere (делать). Согласно второй, слово пришло из латинского языка, где термин verificatia означает «подтверждение».

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

Если объяснять простыми словами, что такое верификация, то получится следующее: компания производит продукцию или оказывает услуги, а с помощью этой процедуры подтверждает качество своего продукта. Результат этого процесса – ответ на вопрос: подлинник перед нами или подделка.

Валидация – это доказательство того, что продукт (или услуга) удовлетворяют пользователя. Иначе говоря, результат валидации – это ответ на вопрос: изготавливаем ли мы продукцию, которая вас устраивает.

Что такое верификация в банке?

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

Как это происходит:

  1. Когда человек отправил заявку на получение ссуды и получил положительный ответ, организация должна подтвердить принадлежность карты этой личности.
  2. Организация блокирует на карте символическую сумму денег. Например, 98 копеек. Как правило, это небольшая символическая сумма, но всегда разная.
  3. Сотрудник организации связывается с держателем карты и спрашивает, какая сумма была заблокирована.
  4. Через интернет-банкинг, по телефону или с помощью сообщения клиент узнает размер этой суммы и сообщает ее сотруднику организации.
  5. МФО получает подтверждение данных и возвращает заблокированные деньги, после чего переводит займ.

Это необходимая мера, защищающая тех, кто пользуется микро-кредитами.

Что нужно знать о верификации?

Для защиты банковских карт применяется код верификации карты – это цифры, наносимые на карту при ее выпуске. Этот код называют CVV2 или CVC2. Данное число кодируется в магнитной ленте или чипе карты и хранится в строгой тайне. Этот код служит для верификации карты при взаимодействии с терминалами. Его нельзя сообщать кому-либо. Если же человек предлагает вам указать эти цифры якобы для перевода денег, то вы, скорее всего, имеете дело с мошенником. Подтверждение личности держателя карты осуществляется другими способами.

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

В сфере производства различных товаров процедура верификации применяется для выявления соответствия полученного продукта определенным требованиям, которые рассматриваются как основополагающие и зафиксированы в определенных документах, спецификациях или положениях.

Верификация в IT

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

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

Применение

Процедура верификации может быть автоматической. Например, при регистрации на том или ином ресурсе пользователю может быть отправлено сообщение на указанный электронный ящик. Перейдя по автоматически сгенерированной ссылке, посетитель получает доступ к ресурсу, подтвердив, что e-mail является настоящим. Верификацией также могут являться системы отправки SMS-сообщений с автоматически сгенерированным системой кодом, ввод которого нужно произвести в специальной форме. Операция позволяет определить, находится ли данный номер телефона во пользователя и был ли он указан верно.

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

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

В статье «Моделирование объекта как целого и как композиции» я рассмотрел два подхода к моделированию объекта: как целого и как конструкции. В текущей статье нам это деление понадобится.

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

Итак, можно начинать. Мы можем утверждать, что если правильно описан объект как целое, если свод знаний верен, и если правила вывода были соблюдены, то полученное описание конструкции объекта, будет верным. То есть, на основе этого описания будет построен функциональный объект, соответствующий реальным условиям эксплуатации. Какие могут возникнуть риски:

1. Использование неправильных знаний об Объекте. Модель Объекта в головах у людей может не соответствовать реальности. Не знали реальной опасности землетрясений, например. Соответственно, могут быть неправильно сформулированы требования к объекту.

2. Неполная запись знаний об Объекте – что-то пропущено, сделаны ошибки. Например, знали о ветрах, но забыли упомянуть. Это может привести к недостаточно полному описанию требований к объекту.

3. Неверный свод знаний. Нас учили приоритету массы над остальными параметрами, а оказалось, что надо было наращивать скорость.

4. Неправильное применение правил вывода к описанию объекта. Логические ошибки, что-то пропущено в требованиях к конструкции объекта, нарушена трассировка требований.

5. Неполная запись полученных выводов о конструкции системы. Все учли, все рассчитали, но забыли написать.

6. Созданная система не соответствует описанию.

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

Что такое верификация? По-русски, верификация – это проверка на соответствие правилам. Правила оформляются в виде документа. То есть, должен быть документ с требованиями к документации. Если документация соответствует требованиям этого документа, то она прошла верификацию.

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

Часто валидацию требований путают с валидацией продукта, построенного на основе этих требований. Так делать не стоит.

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

Верификация данных: что это в общем понимании?

Для начала рассмотрим общий смысл, особо не вдаваясь в описание того, где могут использоваться такие технологии. На самом деле этот термин происходит от двух латинских слов (verus и facere), которые образуют соответствующее словосочетание, а при соединении обозначают «проверка/подтверждение истины».

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

Проверка подлинности информации: зачем это нужно?

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

  • общая информация о самом человеке;
  • регистрационные документы;
  • регистрация на интернет-ресурсах;
  • информация для банков и платежных систем;
  • соответствие какого-то товара или продукта применяемым региональным или международным стандартам;
  • проверка соответствия копии оригиналу и другое.

Верификация данных и клиента: что это такое в банковском секторе?

Первым делом рассмотрим именно банковский сектор, поскольку сегодня очень многие из нас пользуются кредитами, поточными счетами или теми же пластиковыми картами. Почему изначально затрагивается именно эта тема? Так как в этот же аспект входит и проверка паспортных данных самого человека, которые удостоверяют его личность (в равной степени это можно отнести и к любой другой сфере).

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

Использование верификации в Интернете

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

В данном случае работает несколько другое понятие верификации данных. Что это такое с точки зрения подтверждения, понять несложно, поскольку при заполнении соответствующей анкеты вам будет предложено ввести адрес электронной почты или номер мобильного телефона, после чего подтвердить данные о себе, ответив на письмо или входящее СМС. Иногда владельцы платежных систем могут связаться с вами лично.

Кроме того, есть еще один аспект, касающийся именно платежных систем. Дело тут в том, что в некоторых из них вы должны будете предоставить фотокопию паспорта, кода и банковской карты, к которой будут привязаны электронные кошельки. Тут тоже работает верификация данных. Что это такое в данном случае? Это есть обычная проверка на соответствие паспортных данных регистрируемого субъекта и держателя кошелька/карты/счета.

Обратите внимание, что или кода в данном случае сверку не проходит, поскольку теми же сервисами WebMoney могут пользоваться люди из стран, разбросанных по всему миру, а проверить их при всем своем желании система не сможет даже чисто технически (у нее на это просто не хватит вычислительных ресурсов, не говоря уже о блокировке доступа к государственным базам данных).

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

Пример использования верификации в прикладном ПО

Теперь несколько слов о компьютерах. Рассматривать соответствие разрабатываемых программ каким-то стандартам не будем, а приведем один из самых простых примеров на основе всем известной программы для записи информации с прожигом оптического диска Nero Express.

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

По завершении записи в программе появится окно, в котором будет указано, что начата верификация данных. Что это такое в данной ситуации? Это есть проверка соответствия записанных файлов исходным оригиналом, не говоря уже о тестировании поверхности носителя. В случае успешной проверки можете не сомневаться, что записанный диск можно будет без всяких проблем воспроизвести не только в программных, но и на бытовых плеерах.

Ошибки проверки

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

Ошибок, которые появляются при идентификации пользователя или клиента банка, в большинстве случаев это тоже может относиться к проблемам установленного программного обеспечения или даже к нарушениям связи при доступе к Интернету. При такие сбои могут относиться исключительно к тому, что ошибки имеются в самом вводимом коде (еще до запуска компиляции). Чаще всего используемые редакторы сначала подчеркивают строки с неправильным синтаксисом команды, а при попытке компиляции выдают соответствующее уведомление.

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

В заключение

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

При моделировании исследователь должен быть уверен в корректности модели, в соответствии модели реальному прототипу. Точность математического моделирования зависит от того, насколько хорошо математическая модель отражает свойства объекта. Исследователю важно знать, с какой погрешностью он получает результат, потому что в случае большой погрешности расчет теряет смысл.

На точность моделирования влияют следующие особенности:

■ упрощение модели;

■ ошибки при построении модели;

■ использование элементов с низкой точностью, с линейной аппроксимацией;

■ наличие в модели вырожденных конечных элементов;

■ некорректные связи;

■ некорректные параметры моделей;

■ некорректные свойства элементов;

■ некорректные начальные и граничные условия;

■ погрешности метода расчетов.

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

Верификация модели (model verification) – проверка ее истинности, адекватности. Дословный перевод с английского: verification – это: 1) контроль, проверка; Sync: check, examination; 2) удостоверение, подтверждение (предсказания, сомнения) (а); подтверждение под присягой (б); 3) засвидетельствование. В отношении к дескриптивным моделям верификация модели сводится к сопоставлению результатов расчетов по модели с соответствующими данными действительности – фактами и закономерностями экономического развития. В отношении нормативных (в том числе оптимизационных) моделей положение сложнее: в условиях действующего экономического механизма моделируемый объект подвергается различным управляющим воздействиям, не предусмотренным моделью; надо ставить специальный экономический эксперимент с учетом требований чистоты, т.е. устранения влияния этих воздействий, что представляет собой трудную, во многом еще не решенную задачу.

Верификация имитационной модели есть проверка соответствия ее поведения предположениям экспериментатора. Когда модель организована в виде вычислительной программы для компьютера, то сначала исправляют ошибки в ее записи на алгоритмическом языке, а затем переходят к верификации. Это первый этап действительной подготовки к имитационному эксперименту. Подбираются некоторые исходные данные, для которых могут быть предсказаны результаты просчета. Если окажется, что ЭВМ выдает данные, противоречащие тем, которые ожидались при формировании модели, значит, модель неверна, т.е. не соответствует заложенным в нее ожиданиям. В обратном случае переходят к следующему этапу проверки работоспособности модели – ее валидации.

Валидация модели (model validation) – проверка соответствия данных, получаемых в процессе машинной имитации, реальному ходу явлений, для описания которых создана модель. Она производится тогда, когда экспериментатор убедился на предшествующей стадии (верификации) в правильности структуры (логики) модели, и состоит в том, что выходные данные после расчета на компьютере сопоставляются с имеющимися статистическими сведениями о моделируемой системе.

В более общем виде верификация – это подтверждение на основе представления объективных свидетельств того, что установленные требования были выполнены. Если образно, то верификация – процедура сопоставления того, что сделано (или еще пока делается), с тем, что было задумано (предписано) сделать, т.е. сопоставление законченного или промежуточного результата с входными требованиями – "взгляд назад".

Валидация – подтверждение на основе представления объективных свидетельств того, что требования, предназначенные для конкретного использования или применения, выполнены. Образно говоря, валидация – это процедура сопоставления того, что задумано сделать (или еще пока делается), с тем, что необходимо потребителю для конкретного применения, т.е. сопоставление планируемого или промежуточного результата деятельности с текущими выходными требованиями – "взгляд вперед". Дословный перевод с английского: validation – это: 1) ратификация, утверждение, Sync: ratification; 2) легализация, признание законной силы, придание юридической силы.

Верификация является инструментом валидации, ее частью. Верификация продолжается вплоть до момента кодирования программы, а валидация осуществляется непосредственно после. Поэтому в практике моделирования с использованием ЭВМ верификация и валидация моделей завершается после проведения вычислительного эксперимента и подтверждения его результатами соответствия как реальным процессам исследуемого объекта, так соответствия конкретным условиям применимости (или требованиям). Однако в большинстве случаев процессы верификации, валидации, тестирования и реализации пересекаются по времени.

Используются два подхода к валидации программного обеспечения. Первый подход, дедуктивный, представлен такими направлениями исследований, как автоматическое доказательство теорем, использованием мультимножеств и графов, а также разнообразных специализированных алгебр. Программная система описывается в рамках некоего формализма, после чего выполняется строгое математическое доказательство обладания данной системой теми или иными свойствами. Второй подход – модельный; его последователи не стремятся вписать систему в рамки теории, а вместо этого строят модель системы, которую можно рассматривать как машину или автомат. Любое требование к системе проверяется для каждого возможного состояния автомата.

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

В том случае, когда свойство оказывается нарушенным, в виде контрпримера предоставляется диагностирующая информация.

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

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

Построение моделей и формулировка требований требуют высокого уровня знаний и умения их применять. Результаты могут вводить в заблуждение (верификатор – тоже программа и тоже может ошибаться, модель может содержать ошибку; правда, основные процедуры проверки моделей формально доказаны с помощью пакетов автоматического доказательства теорем). Нет верификаторов, поддерживающих обобщения, например, нельзя проверить систему, если в ней не зафиксировать число сущностей.

Примеры успешного применения модельного подхода можно обнаружить, изучая процесс разработки сложных систем, оперирующих большими объемами данных: СУБД, комплексы потоковой обработки речевой и текстовой информации, системы обеспечения информационной безопасности. Модельный подход к верификации программного обеспечения позволяет при правильном разбиении всего комплекса, проектировании и разработке модулей и атомарных составляющих выявлять логические ошибки еще на этапе проектирования. Так, при разработке программного обеспечения потоковой обработки растровых изображений в рамках модельного подхода была сформирована модель для верификации менеджера заданий для потоковой обработки и обработчиков атомарных заданий, позволившая выявить ошибки в проектировании протоколов взаимодействия модулей комплекса и алгоритме определения обработчика атомарного задания. Данная модель основана на использовании сетей Петри и сопутствующих алгоритмов.

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

пригодность. Выполняет ли приложение предназначенную ему задачу? Может быть верифицировано путем моделирования правильного сопутствующего окружения (подход, аналогичный тестированию);

точность. Насколько точны результаты работы приложения? Трудно реализуется при модельном подходе; логическая верификация в данном случае будет более эффективна;

безопасность. Не происходит ли неавторизованной утечки информации? Верифицируется напрямую с формулированием соответствующих запросов. Также существует целый ряд немодельных верификаторов, решающих эту же задачу;

соответствие. Соответствует ли реализованная функция данному стандарту? Стандарт используется как спецификация (источник требований), реализация функции моделируется;

совместимость. Может ли данное приложение общаться с соответствующими программными продуктами от других производителей? Близким приближением является подразумеваемая совместимость при наличии соответствия стандарту и отсутствии недокументированных возможностей. При необходимости более точной проверки выполняет автоматическое дизассемблирование и эмуляцию заданных участков программного кода, ручную отладку, построение графа передачи управления и данных.

Множество атрибутов надежности характеризует способность программного обеспечения поддерживать определенный уровень предоставляемых услуг при данных условиях и в течение заданного промежутка времени:

завершенность. Является ли изначально предоставляемый уровень услуг достаточным? Все ли было реализовано? Это свойство по определению не может быть проверено формальным тестированием: на каждую ожидаемую функцию формулируется требование (или множество требований), которое проверяется на модели;

устойчивость к ошибкам. Ведет ли себя программа адекватно в случае предоставления заведомо неверных входных данных? Очень неэффективно и громоздко реализуется в модельном подходе, существуют неплохие методы тестирования, решающие эту проблему;

устойчивость к окружению (прочность ). Может ли приложение работать нормально в нестандартном или неустойчивом окружении? Применение модельного подхода в данном случае возможно только при наличии возможности моделирования окружения. Однако корректное моделирование стресс-ситуации – весьма нетривиальная задача;

восстанавливаемость. Может ли приложение продолжать работу после сбоя? Как правило, это свойство явно прописывается в программе и нуждается только в проверке. Может быть проверено как модельной верификацией, так и тестированием.

Множество атрибутов по удобству пользования характеризует трудности при использовании программного обеспечения и их субъективную оценку тем или иным множеством пользователей:

понятность. Насколько интуитивно ясен пользовательский интерфейс приложения? Не поддается научной формализации. Несмотря на то что менее формальные правила существуют уже давно, модельная верификация невозможна;

обучаемость. Приспосабливается ли приложение к специфике пользователя? Используются алгоритмы искусственного интеллекта, которые могут быть верифицированы, соответственно может быть верифицирован и признак;

управляемость. Легко ли управлять работой приложения? Эта область, традиционная для бета-тестирования, в последнее время переходит в руки специалистов по пользовательским интерфейсам.

Множество атрибутов производительности выявляет связь уровня предоставляемых приложением услуг с объемом используемых при этом ресурсов:

поведение во времени. Адекватен ли временной график использования ресурсов? В данном случае нужно тестировать реальную систему, а не ее модель (например, для нахождения утечки памяти). Абсолютно не подходит для модельной верификации;

использование ресурсов. Эффективно ли используются ресурсы? Имеется направленность на реальную систему, и существуют эффективные методы формального тестирования, которые в основном базируются на смеси сетей Петри и специализированных языков описания моделей верификации, при прогонке которых происходит количественная оценка потенциально используемых ресурсов; максимальное значение дает вполне эффективную оценку, пригодную для большинства реализаций;

алгоритмизация. Насколько оптимальны использованные алгоритмы? Классический анализ алгоритмов вместе с формальной их верификацией дает быстрые и точные результаты.

Множество атрибутов поддержки связано с усилиями по внесению определенных изменений в работающее приложение:

анализируемость. Насколько легко определить части, нуждающиеся в изменении? Не поддается формализации;

изменяемость. Какие усилия требуются для внесения изменений? Не поддается формализации, уровень может быть установлен априори;

настраиваемостъ. Можно ли достичь желаемого эффекта без изменения самой программы, изменяя только настройки? Задача решается тестированием в реальных условиях;

стабильность. Как ведет себя программа при внесении изменений на лету? Эффективно решается модельной верификацией с помощью недетерминированных параллельных процессов;

тестируемость. Насколько легко проверяется работа изменившегося контура? Решается параллельно с тестированием или превентивно явным образом и к верификации отношения практически не имеет.

Множество атрибутов переместимости характеризует способность программного обеспечения быть перенесенным из одного окружения в другое:

приспособляемость. Может ли приложение изменяться в соответствии с изменениями окружения? Взаимодействующие недетерминированные последовательные процессы дают хороший результат, в том числе и в модельном подходе;

устанавливаемость. Может ли приложение устанавливаться на разные платформы или в разные конфигурации? Как правило, явно задается в спецификации и явно реализуется и в проверке не нуждается;

согласованность. Какие стандарты были использованы в приложении? Не нуждается в проверке, однако само соответствие стандартам проверять можно и нужно;

заменяемость. Может ли приложение быть использовано так же, как его эквивалент от другого производителя? Зависит ли от списка опций соответствующих приложений, которые могли бы быть или должны были быть реализованы?

Это относится к фазе формулирования требований, поэтому в верификации не участвует.

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