Верифікація - це процес перевірки програмного продукту
Відео: Тестування ПЗ. Урок 4. Цикл тестування ПО (Software testing lifecycle).
Терміни «верифікація» і «валідація» дуже часто використовуються в технічній літературі і пов`язані з аналізом якості будь-якого програмного забезпечення. У науковій літературі можна зустріти різні трактування даних понять. Отже, спробуємо розібратися в цьому питанні.
Найбільш правильним, на наш погляд, є наступне визначення. Валідація та верифікація - це види діяльності, які спрямовані на проведення контролю якості програмного продукту з метою виявлення на ранніх стадіях помилок в ньому. Здавалося б, вони мають спільну мету. Але все-таки ці види мають відмінностями в джерелах перевіряються властивостей, обмежень і правил, недотримання яких може вважатися помилкою.
Верифікація - це перевірка відповідності програмного забезпечення технічної документації, представленої техзаданием, архітектурою чи моделлю предметної області. У «обов`язки» даного терміна включається і зіставлення процедури розрахунків з процесом їх розробки, правилами і стандартами.
Відео: VLOG: перший робочий день: безсоння, біг, тестування ПО
Верифікація даних може виконуватися для установки відповідності функціонування програми встановленим нормам, вимогам, проектним рішенням і призначеної для користувача документації. При цьому обов`язковою попередньою перевірці підлягають ті документи, з якими проводиться порівняння на відповідність їх стандартам і нормативам, встановленим в тій країні, де експлуатується програмне забезпечення. Необхідно брати до уваги і дотримання всіх послідовностей виконуваних операцій.
У разі виявлення помилки або дефекту в роботі програми або ж виявлення протиріччя між зазначеними вище документами та чинним функціонуванням програми прийняття рішення про вибір документа для виправлення повинно бути рішенням окремого завдання.
На відміну від верифікації валідація відповідає за перевірку відповідності розробляються або супроводжуваних програмних продуктів потребам або потреб замовників або користувачів. Зазначені потреби часто не фіксуються ні в якій документації. Саме тому валідація менш формалізована, ніж верифікація. Це процес, в якому бере участь представник замовника, користувача, а також може бути присутнім аналітик або експерт в предметної області. Іншими словами, ті, які можуть висловити конкретні потреби і реальні потреби зацікавлених осіб.
Верифікація - це відповідь на питання «Виконано чи програмне забезпечення правильно?», А валідація - «Зроблено чи правильне програмне забезпечення?».
При пошуку відповіді на поставлені питання можна виявити, що валідація (або атестація) за змістом має значення дещо ширше, ніж перевірка (верифікація). Однак верифікація досить тісно пов`язана із забезпеченням контролю за якістю програмного продукту.
Наприклад, верифікація комп`ютерної програми передбачає процес, в якому за основу ставиться мета щодо забезпечення задоволення вимог даних, отриманих в певному життєвому циклі продукту, тим, які були отримані на попередній стадії.
Якщо ж вести мову про верифікації моделі, то тут мова піде про перевірку правильності відображення даної обчислювальної моделі необхідної концептуальної або математичної моделям.
При верифікації системного коду проводиться аналіз кодування джерела і перевірка відповідності його документального опису.
У процесі верифікації можуть включатися операції, що містять альтернативні розрахунки. Проводиться порівняння технічної та наукової документації нового проекту з відповідною документацією вже існуючого проекту, обов`язкове тестування, апробація нового програмного продукту і демонстрація результатів.