Верификацию и валидацию часто путают. Если коротко: верификация отвечает на вопрос «продукт сделан правильно?» (соответствует требованиям), а валидация — «сделан ли правильный продукт?» (решает ли он реальную задачу пользователя). В этой статье разберём оба понятия, покажем разницу на сквозном примере и объясним, почему это не два последовательных этапа, а два взаимодополняющих процесса, которые идут по всему жизненному циклу.
Содержание
Что такое верификация
Верификация — проверка того, что продукт или его компонент соответствует заданным требованиям и спецификации. Вопрос: «мы построили продукт правильно?» Эталон сравнения — документация (требования, дизайн, стандарты). Примеры: код-ревью, статический анализ, проверка, что форма содержит все поля из спецификации.
Что такое валидация
Валидация — проверка того, что продукт решает реальную задачу пользователя и соответствует его ожиданиям. Вопрос: «мы построили правильный продукт?» Валидацию можно и нужно проводить рано — на потребностях, пользовательских сценариях, макетах, моделях и прототипах, задолго до готового продукта, и повторять по мере появления инкрементов. Даже идеально соответствующий спецификации продукт бесполезен, если сама спецификация не отражала настоящую потребность.
Чем отличаются: сравнение
V&V (verification & validation) — это два взаимодополняющих процесса проверки с разными целями. Они повторяются на разных уровнях продукта и в разные фазы жизненного цикла. Сравнивать их удобнее не по «этапам», а по нескольким признакам:
| Признак | Верификация | Валидация |
|---|---|---|
| Вопрос | «правильно ли сделали?» | «то ли сделали?» |
| Эталон | требования, спецификация | реальная потребность, условия эксплуатации |
| Объект | компонент/система против документации | сценарий/продукт против ожиданий |
| Участники | разработчики, инженеры, ревьюеры | аналитики, владелец продукта, пользователи |
| Когда может проводиться | на протяжении жизненного цикла | на протяжении жизненного цикла |
Важно: тип теста сам по себе не определяет, верификация это или валидация. Системный тест может проверять системное требование (верификация), а демонстрация на макете — валидировать пользовательское ожидание ещё до готовой системы. Решает эталон сравнения, а не название уровня тестирования.
Сквозной пример: калькулятор доставки
- До разработки: аналитик проводит интервью и показывает прототип — выясняется, что пользователь ждёт стоимость доставки до оформления заказа. Это ранняя валидация потребности.
- Требование фиксируется; команда пишет код и проверяет его по требованию — верификация.
- На готовом сценарии пользователь снова проверяет, что цена видна вовремя, — повторная валидация.
Если бы команда только верифицировала формулу из ТЗ, но не валидировала потребность, продукт мог бы точно соответствовать спецификации и всё равно не решать задачу. Ошибка была бы не в коде, а в требованиях — поймать её можно только валидацией. В V&V участвует не только тестировщик: аналитик валидирует потребность, команда верифицирует реализацию, пользователь проверяет сценарий.
Выводы
- Верификация — проверка того, что продукт соответствует заданным требованиям и спецификации («сделали правильно?»), а валидация — проверка того, что продукт решает реальную задачу пользователя («сделали правильное?»).
- Главное отличие — эталон сравнения: у верификации это требования и документация, у валидации — реальная потребность пользователя и условия эксплуатации.
- Верификация и валидация (V&V) — не два последовательных этапа, а взаимодополняющие процессы, которые повторяются на разных уровнях продукта по всему жизненному циклу; валидацию можно проводить рано — на сценариях, макетах и прототипах.
- Тип теста сам по себе не определяет, верификация это или валидация: системный тест может проверять требование, а демонстрация макета — валидировать ожидание пользователя; решает эталон сравнения, а не название уровня тестирования.
- Продукт может пройти верификацию и провалить валидацию: если требования были неверны, точное соответствие спецификации не решает задачу пользователя, и такую ошибку ловит только валидация.
- В V&V участвует не только тестировщик: аналитик и пользователи валидируют потребность и сценарий, разработчики и ревьюеры верифицируют реализацию; оба процесса относятся к обеспечению качества (QA).
Профессию тестировщика и практику V&V системно разбирают на курсах Otus по тестированию ПО — формат можно посмотреть на бесплатных открытых уроках Otus. Подробнее о профессии — в разделе курсов по тестированию.
FAQ
Чем отличается верификация от валидации простыми словами? Верификация — «сделали правильно» (по спецификации), валидация — «сделали правильное» (то, что нужно пользователю).
Можно ли пройти верификацию, но провалить валидацию? Да: продукт может точно соответствовать требованиям, но не решать реальную задачу, если требования были неверны.
К чему относятся верификация и валидация? К обеспечению качества (QA), их обозначают вместе как V&V; в них участвуют аналитики, разработчики, владельцы продукта и пользователи.
Смежные темы в журнале: Тестирование: характеристики, виды, особенности, Всё, что нужно знать о модульном тестировании.



