Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Верификация и валидация (с точки зрения разработки По)



Верификация и валидация (с точки зрения разработки По)

Термины верификация и валидация связаны с проверкой качества программного обеспечения.

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

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

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

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



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

Различие между верификацией и валидацией проиллюстрировано на рисунке 1.


Рисунок 1 – Соотношение верификации и валидации

 

Приведенные определения получены некоторым расширением определений из стандарта IEEE 1012 на процессы верификации и валидации. В стандартном словаре терминов программной инженерии IEEE 610.12 1990 года определение верификации по смыслу примерно то же, а определение валидации несколько другое – там говорится, что валидация должна проверять соответствие полученного в результате разработки ПО исходным требованиям к нему. В этом случае валидация являлась бы частным случаем верификации, что нигде в литературе по программной инженерии не отмечается, поэтому, а также потому, что оно поправлено в IEEE 1012 2004 года, это определение следует считать неточным. Частое использование фразы B. Boehm'а:

Верификация отвечает на вопрос "Делаем ли мы продукт правильно?", а валидация- на вопрос "Делаем ли мы правильный продукт?"

также добавляет путаницы, поскольку афористичность этого высказывания, к сожалению, сочетается с двусмысленностью. Однако многочисленные труды его автора позволяют считать, что он подразумевал под верификацией и валидацией примерно те же понятия, которые определены выше. Указанные разночтения можно проследить и в содержании стандартов программной инженерии. Так, стандарт ISO 12207 [5] считает тестирование разновидностью валидации, но не верификации, что, по-видимому, является следствием использования неточного определения из стандартного словаря.

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

 

Верификация и валидация (с точки зрения менеджмента)

Проникновение терминов «валидация» и «верификация» в русский язык связано с внедрением на российских предприятиях стандартов ISO 9000 и необходимостью официального их перевода.

В соответствии с терминологией стандартов ISO серии 9000 валидация означает, что предоставлены объективные доказательства того, что удовлетворены требования некоторого внешнего потребителя или пользователя продукта или услуги. Таким образом, валидация означает подтверждение соблюдения особых требований, предназначенных для конкретного применения или использования путем проведения экспертизы и представления соответствующих доказательств. Также в стандартах ISO отмечено, что на стадии проектирования и разработки подтверждение означает предоставление доказательств того, что конкретный продукт соответствует нуждам потребителей. Часто валидацию путают с верификацией, что в корне неверно. По терминологии МАГАТЭ термин валидация (validation) переводится как «аттестация», а верификация (verification) – как «проверка».

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

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

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

Еще несколько примеров помогут понять разницу между валидацией и верификацией:

· отделы технического контроля будут осуществлять верификацию;

· деятельность аудиторов будет относиться к валидации;

· акты о сдаче объекта (услуги) в эксплуатацию будут выполнять функцию валидации.

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

Суммируя вышеизложенное, дадим определение валидации и верификации:

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

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


Дата добавления: 2015-09-29; просмотров: 178 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
Бальзам «Печеночный» создан для профилактики и лечения заболеваний печени – органа, который не позволяет токсичным веществам попадать к нам в кровь. Он стимулирует функцию печени и желчегонных | По дaнным анaлитического агентствa Автостат, в 2012 гoду в России было зарегистрированно 2 760 327 новых лeгковых автомобилей.

mybiblioteka.su - 2015-2024 год. (0.01 сек.)