Валідація програмного забезпечення

Валідація програмного забезпечення (англ. Validation Software) — процес визначення відповідності розроблюваного програмного забезпечення між очікуваннями і потребами користувача, вимогам до системи. Валідація є одним із основних етапів тестування програмного забезпечення.

Мета процесу валідації — переконатися, що специфічні вимоги для програмного продукту виконано, і здійснюється це за допомогою:

  • розробленої стратегії і критеріїв перевірки всіх робочих продуктів;
  • обговорених дій з проведення валідації;
  • демонстрації відповідності розроблених програмних продуктів вимогам замовника і правилам їхнього використання;
  • узгодження із замовником отриманих результатів валідації продукту.

Процес валідації може проводитися самим виконавцем або іншою особою, наприклад, замовником, що здійснює дії з впровадженню і проведенню цього процесу за планом, у якому відбиті елементи і задачі перевірки. При цьому використовуються методи, інструментальні засоби і процедури виконання задач процесу для встановлення відповідності тестових вимог і особливостей використання програмних продуктів проекту на правильність реалізації вимог.

Верифікація і валідація полягає в перевірці специфікацій і правильності виконання програм відповідно до заданих вимог і формального опису програми.

Верифікація програмного коду допомагає зробити висновок про коректність створеної програмної системи при її проектуванні і після завершення її розроблення. Валідація дозволяє встановити здійснимість заданих вимог шляхом їх перегляду, інспекції і оцінки результатів проектування на процесах життєвого циклу для підтвердження того, що здійснюється коректна реалізація вимог, дотримання заданих умов і обмежень до системи. Верифікація і валідація забезпечують перевірку повноти, несуперечності і однозначності специфікації і правильності виконання функцій системи.

Верифікації і валідації піддаються:

  • компоненти системи, їх інтерфейси (програмні, технічні і інформаційні) і взаємодія об'єктів (протоколи, повідомлення) у розподілених середовищах;
  • описи доступу до баз даних, засоби захисту від несанкціонованого доступу до даних різних користувачів;
  • документація до системи;
  • тести, тестові процедури і вхідні набори даних.

На інших процесах життєвого циклу виконуються додаткові дії:

  • перевірка і контроль проектних рішень за допомогою методик і процедур перегляду ходу розроблення;<
  • звернення до CASE-систем , що містять у собі процедури перевірки вимог до продукту;
  • перегляди й інспекції проміжних результатів на відповідність вимогам для підтвердження того, що програмна система має коректну

реалізацію вимог і задовольняє умови виконання.

Таким чином, основні задачі процесів верифікації і валідації полягають у тому, щоб перевірити і підтвердити, що кінцевий програмний продукт відповідає призначенню і задовольняє вимогам замовника. Ці процеси взаємозалежні і визначаються, як правило, одним загальним терміном «верифікація і валідація» або «Verification and Validation» (V&V).

V&V засновані на плануванні їх як процесів, так і перевірки для найбільш критичних елементів проекту: компонентів, інтерфейсів (програмних, технічних і інформаційних), взаємодій об'єктів (протоколів і повідомлень), передачі даних між компонентами і їхнього захисту, а також створення тестів і тестових процедур.

Після перевірки окремих компонентів системи проводяться їхня інтеграція, повторна верифікація і валідація інтегрованої системи, створюється комплект документації, що відображає правильність виконання вимог за результатами інспекцій і тестування тестування.

Див. також