qalight
Центр подготовки
IT специалистов

База знаний

Верификация и валидация

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

Верификация (Verification) — это статическая практика проверки документов, дизайна, архитектуры, кода, т.д.

  • Верификация — это процесс включающий в себя проверку Plans, Requirement Specifications, Design Specifications, Code, Test Cases, Chek-Lists, etc.
  • Верификация всегда проходит без запуска кода.
  • Верификация использует методы — reviews, walkthroughs, inspections, etc.
  • Верификация отвечает на вопрос “Делаем ли мы продукт правильно?”
  • Верификация поможет определить, является ли программное обеспечение высокого качества, но оно не гарантирует, что система полезна. Проверка связана с тем, что система хорошо спроектирована и безошибочна.
  • Верификация происходит до Validation.

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

  1. Inspection in software engineering, refers to peer review of any work product by trained individuals who look for defects using a well defined process. (Fagan inspection)
  2. Walkthroughs In software engineering, a walkthrough or walk-through is a form of software peer review «in which a designer or programmer leads members of the development team and other interested parties go through a software product, and the participants ask questions and make comments about possible errors, violation of development standards, and other problems».
  3. Reviews In software development, peer review is a type of software review in which a work product (document, code, or other) is examined by its author and one or more colleagues, in order to evaluate its technical content and quality.

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

  • Валидация всегда включает в себя запуск кода программы.
  • Валидация использует методы, такие как тестирование Black Box, тестирование White Box и нефункциональное тестирование.
  • Валидация отвечает на вопрос “Делаем ли мы правильный продукт?”
  • Валидация проверяет, соответствует ли программное обеспечение требованиям и ожиданиям клиента.
  • Валидация может найти ошибки, которые процесс Verification не может поймать.
  • Валидация происходит после Verification.

 

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