Верификация и валидация (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
Доп. материал:
Last updated