Валідація програмного забезпечення
Валідація програмного забезпечення (англ. Validation Software) — процес визначення відповідності розроблюваного програмного забезпечення між очікуваннями і потребами користувача, вимогам до системи. Валідація є одним із основних етапів тестування програмного забезпечення.
Мета процесу валідації — переконатися, що специфічні вимоги для програмного продукту виконано, і здійснюється це за допомогою:
- розробленої стратегії і критеріїв перевірки всіх робочих продуктів;
- обговорених дій з проведення валідації;
- демонстрації відповідності розроблених програмних продуктів вимогам замовника і правилам їхнього використання;
- узгодження із замовником отриманих результатів валідації продукту.
Процес валідації може проводитися самим виконавцем або іншою особою, наприклад, замовником, що здійснює дії з впровадженню і проведенню цього процесу за планом, у якому відбиті елементи і задачі перевірки. При цьому використовуються методи, інструментальні засоби і процедури виконання задач процесу для встановлення відповідності тестових вимог і особливостей використання програмних продуктів проекту на правильність реалізації вимог.
Верифікація і валідація полягає в перевірці специфікацій і правильності виконання програм відповідно до заданих вимог і формального опису програми.
Верифікація програмного коду допомагає зробити висновок про коректність створеної програмної системи при її проектуванні і після завершення її розроблення. Валідація дозволяє встановити здійснимість заданих вимог шляхом їх перегляду, інспекції і оцінки результатів проектування на процесах життєвого циклу для підтвердження того, що здійснюється коректна реалізація вимог, дотримання заданих умов і обмежень до системи. Верифікація і валідація забезпечують перевірку повноти, несуперечності і однозначності специфікації і правильності виконання функцій системи.
Верифікації і валідації піддаються:
- компоненти системи, їх інтерфейси (програмні, технічні і інформаційні) і взаємодія об'єктів (протоколи, повідомлення) у розподілених середовищах;
- описи доступу до баз даних, засоби захисту від несанкціонованого доступу до даних різних користувачів;
- документація до системи;
- тести, тестові процедури і вхідні набори даних.
На інших процесах життєвого циклу виконуються додаткові дії:
- перевірка і контроль проектних рішень за допомогою методик і процедур перегляду ходу розроблення;<
- звернення до CASE-систем , що містять у собі процедури перевірки вимог до продукту;
- перегляди й інспекції проміжних результатів на відповідність вимогам для підтвердження того, що програмна система має коректну
реалізацію вимог і задовольняє умови виконання.
Таким чином, основні задачі процесів верифікації і валідації полягають у тому, щоб перевірити і підтвердити, що кінцевий програмний продукт відповідає призначенню і задовольняє вимогам замовника. Ці процеси взаємозалежні і визначаються, як правило, одним загальним терміном «верифікація і валідація» або «Verification and Validation» (V&V).
V&V засновані на плануванні їх як процесів, так і перевірки для найбільш критичних елементів проекту: компонентів, інтерфейсів (програмних, технічних і інформаційних), взаємодій об'єктів (протоколів і повідомлень), передачі даних між компонентами і їхнього захисту, а також створення тестів і тестових процедур.
Після перевірки окремих компонентів системи проводяться їхня інтеграція, повторна верифікація і валідація інтегрованої системи, створюється комплект документації, що відображає правильність виконання вимог за результатами інспекцій і тестування тестування.