Тестування програмного забезпечення – це перевірка відповідності між реальною та очікуваною поведінкою програми, проведена на остаточному наборі тестів, обраних певним чином.
У більш широкому сенсі, тестування – це одна з методик контролю якості, включаючи діяльність з планування роботи, розробки тестів, їх виконання та аналізу результатів.
Верифікація та валідація
Верифікація – це процес оцінки системи або її компонентів, щоб визначити, чи відповідають результати поточного етапу розвитку умовам, сформованим на початку цього етапу.
Валідація – це визначення відповідності розробленого програмного забезпечення очікуванням та потребам користувача, системним вимогам.
Однак постає питання у чому ж відмінності між верифікацією та валідацією?
Спростимо надані визначенння і трохи перефразуємо їх.
Верифікація в тестуванні програмного забезпечення – це процес перевірки документів, дизайну, коду та програми, щоб пересвідчитися, що програмне забезпечення створено відповідно до вимог. Основна мета процесу верифікації полягає в тому, щоб забезпечити якість програмного забезпечення, дизайну, архітектури тощо. Процес верифікації включає такі дії, як перегляди (рів’ю), проходження (walkthrough) та інспектування.
Валідація в розробці програмного забезпечення – це динамічний механізм тестування та перевірки того, що програмний продукт відповідає потребам користувача. Валідація допомагає переконатися, що програмне забезпечення поводиться очікувано у відповідному середовищі. Процес валідації включає такі дії, як модульне тестування, інтеграційне тестування, системне тестування та приймальне тестування .
Ключова різниця між верифікацією та валідацією
Процес верифікації включає перевірку документів, дизайну, коду та програми, тоді як процес валідації включає тестування та валідацію фактичного продукту.
Верифікація не передбачає виконання коду, тоді як валідація передбачає виконання коду.
Верифікаця використовує такі методи, як огляди, покрокові інструкції, інспекції, тоді як валідація використовує такі методи, як тестування чорного ящика , тестування білого ящика та нефункціональне тестування.
Верифікація перевіряє, чи програмне забезпечення підтверджує специфікацію, тоді як валідація перевіряє, чи програмне забезпечення відповідає вимогам і очікуванням користувача.
Верифікація виявляє помилки на початку циклу розробки, тоді як валідація знаходить помилки, які верифікація не може виявити.
Ключові артефакти
План тестування – це документ, що описує весь обсяг тестових робіт, починаючи з опису об’єкта, стратегії, графіку, критеріїв початку та закінчення тестування, до необхідного обладнання, спеціальних знань під час операції, а також оцінки ризиків з варіантами їх вирішення.
Тест – це артефакт, який описує набір кроків, конкретні умови та параметри, необхідні для перевірки виконання тестової функції або її частини.
Звіт дефект (Баг ріпорт) – це документ, що описує ситуацію або послідовність дій, що призвели до неправильної роботи об’єкта, що тестується, із зазначенням причин та очікуваного результату.
Ключовий показник
Тестове покриття – один з показників якості тестування, який відображує щільність покриття тестами умов або коду.