Верификация и аттестация (валидация) – это методы, которые обеспечивают соответственно проверку и анализ правильности выполнения заданных функций и соответствия ПО требованиям заказчика, а также заданным спецификациям ПО [12–17]. Эти методы обозначены в стандарте ISO/IEC 12207 [18] как самостоятельные процессы ЖЦ и используются, начиная от этапа анализа требований и кончая проверкой правильности функционирования программного кода на заключительном этапе – тестировании.
Верификация – это проверка того, правильно ли система работает в соответствии с ее спецификацией и заданными требованиями заказчика, Этот процесс ЖЦ стандарта ISO/IEC 12207 позволяет сделать заключение о корректности сделанной системы.
Валидация
является методом проверки соответствия спроектированного ПО требованиям и потребностям заказчика и предполагает выполнение на этапах ЖЦ разного рода действий для получения корректных программ и систем:
– планирование процедур проверки и контроля проектных решений с помощью методик и просмотра хода разработки;
– повышения уровня автоматизации проектирования программ с использованием –CASE–систем [19];
– проверка правильности функционирования программ с помощью методик тестирования на наборах целевых тестов;
– структурирование системы на модули, их спецификации, реализация и использование их как повторных компонентов (reuse) [10, 20];
– адаптация продукта к условиям использования;
– управления проектом.
Валидация опирается на просмотры и инспекции промежуточных результатов на каждом этапе ЖЦ с целью анализа на соответствие их требованиям и тем самым позволяет подтвердить, что ПО имеет корректную реализацию начальных требований и условий к системе
Таким образом, основными особенностями методов верификации и валидации является проверка полноты, непротиворечивости и однозначности спецификаций требований к созданному ПО.
Верификация и валидация предполагают планирование этих процессов в целях распределения ресурсов и сосредоточения проверки на наиболее критичных элементах проекта, а именно: