Skip to content

Latest commit

 

History

History
33 lines (22 loc) · 9.69 KB

verifikaciya-i-validaciya-verification-and-validation.md

File metadata and controls

33 lines (22 loc) · 9.69 KB

Верификация и валидация (Verification and Validation)

Верификация (verification): Доказанное объективными результатами исследования подтверждение того, что определенные требования были выполнены. (ISO 9000)

Валидация (validation): Доказанное объективными результатами исследования подтверждение того, что требования для ожидаемого конкретного использования приложения были выполнены. (ISO 9000)

Верификация - это подтверждение путем представления объективных доказательств выполнения данным рабочим элементом установленных требований. (ГОСТ 56920)

Валидация демонстрирует, что рабочий элемент может использоваться пользователями для решения определенных ими задач. (ГОСТ 56920)

Верификация - это проверки, выполняемые в процессе разработки ПО для ответа на вопрос: “правильно ли мы разрабатываем продукт?”. Это в т.ч. включает проверку документации: requirements specification, design documents, database table design, ER diagrams, test cases, traceability matrix и т.д. Верификация гарантирует, что ПО разрабатывается в соответствии со стандартами и процессами организации, полагаясь на reviews и статические методы тестирования (т.е. без запуска ПО, но, например, с unit/integration tests). Верификация является превентивным подходом (Preventative approach).

Этап верификации Действующие лица Описание На выходе
Review бизнес / функциональных требований Команда разработки / клиент для бизнес-требований Это необходимый шаг не только для того, чтобы убедиться, что требования собраны и / или корректны, но и для того, чтобы убедиться, выполнимы ли они Завершенные требования, которые готовы к использованию на следующем этапе - дизайне
Review дизайна Команда разработки После создания дизайна команда разработчиков тщательно его просматривает, чтобы убедиться, что функциональные требования могут быть выполнены с помощью предложенного дизайна Дизайн готов к имплементации
Прохождение кода (Code Walkthrough) Отдельный разработчик Написанный код проверяется на наличие синтаксических ошибок. Это более обыденно и выполняется индивидуальным разработчиком на основе кода, разработанного им самим Код готов к unit testing
Проверка кода (Code Inspection) Команда разработки Это уже более формально. Специалисты в данной области и разработчики проверяют код, чтобы убедиться, что он соответствует бизнес-целям и функциональным целям Код готов к тестированию
Test Plan Review (внутренней командой QA) QA команда План тестирования проходит внутреннюю проверку командой QA, чтобы убедиться в его точности и полноте Test plan готов к передаче внешним командам (Project Management, Business Analysis, development, Environment, client, etc.)
Test Plan Review (внешнее) Project Manager, Business Analyst, and Developer Формальный анализ test plan, чтобы убедиться, что график и другие соображения команды QA соответствуют другим командам и всему проекту Подписанный или утвержденный test plan, на котором будет основываться деятельность по тестированию
Test documentation review (Peer review) Члены команды QA Экспертная проверка - это когда члены команды проверяют работу друг друга, чтобы убедиться, что в самой документации нет ошибок. Документация по тестированию готова к передаче внешним командам
Test documentation final review Business Analyst and development team. A test documentation review чтобы убедиться, что test cases охватывают все бизнес-условия и функциональные элементы системы Тестовая документация готова к выполнению

Валидация - это процесс оценки конечного продукта, чтобы проверить, соответствует ли он потребностям бизнеса и ожиданиям клиентов, т.е. отвечает на вопрос: “правильный ли мы разработали продукт?”. Валидация является динамическим тестированием, т.е. происходит с помощью выполнения кода и прогона тестов на нём (UAT/CAT, usability, всё что угодно). Валидация является реактивным подходом (Reactive approach).

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

Источник: Exact Difference Between Verification And Validation With Examples

Доп. материал: