Verification

Матеріал з Wiki Welard
Перейти до навігації Перейти до пошуку

Верифікація та валідація програмного забезпечення

Тестування програмного забезпечення - вид діяльності в процесі розробки, пов’язаний з виконанням процедур, спрямованих на виявлення (доказ наявності) помилок (невідповідностей, неповноти, двозначностей тощо) в поточному визначенні розроблюваної програмної системи.

Незважаючи на схожість, терміни «тестування», «верифікація» і «валідація» означають різні рівні перевірки коректності роботи програмної системи.

Validation-verification.png

Якщо ще раз подивитися на ці три процеси з точки зору питання, на яке вони дають відповідь, то тестування відповідає на питання «Як це зроблено?» або «Чи відповідає поведінка розробленої програми вимогам?», верифікація – «Що зроблено?» або «Чи відповідає розроблена система вимогам?», а валідація – «Чи зроблено те, що потрібно?» або «Чи відповідає розроблена система очікуванням замовника?».

  • Верифікація (лат. verus – «істинний» і facere – «роблю») – постійно виконуваний аналітичний процес перевірки того, що розробка перебуває на правильному шляху: кожен етап розробки є коректним, необхідним (не зайвим) і задовольняє потреби наступного етапу
  1. Потреби користувачів.
  2. Функції продукту.
  3. Вимоги.
  4. Архітектура.
  5. Модель проектування.
  6. Реалізація.
  7. Планування тестів.

Верифікувати слід:

  1. Описані функції системи дійсно відповідають потребам клієнта/користувачів.
  2. Варіанти використання та вимоги, створені на основі функцій, підтримують ці функції.
  3. Проектування, яке підтримує функціональну і нефункціональну поведінку системи
  • Валідація (англ. Validation – перевірка правильності) – процес перевірки того, що реалізована система задовольняє пред’явленим вимогам і працює так, як передбачалося – «Ми створюємо правильну систему»

План тестування. Керівний документ, що відображає :

  1. як проводитиметься тестування, включаючи конфігурації тестованої системи;
  2. хто буде тестувати;
  3. що буде тестуватися;
  4. скільки часу займе тестування;
  5. який рівень якості тестування необхідний.
  6. Критерії успішності тестування.
  7. Дані для тестування.
  8. Сценарії тестування, включаючи передумови і кроки тестів.
  9. Звіт про переходи між етапами тестування.
  10. Протокол тестування.
  11. Звіт про інциденти, включаючи очікуваний результат, фактичний результат, час, передбачувані причини інциденту і все, що може допомогти з розв’язанням ситуації. Інцидент – не обов’язково має на увазі помилку в системі: очікуваний результат міг бути невірним, перевірка могла проводитися невірно, вимога могла тлумачитися поіншому.
  12. Звіт про тестування.

ТЕСТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ