Статичне та динамічне тестування (Static Testing, Dynamic Testing)
Тестування, як статичне так і динамічне, має бути спрямоване на отримання обох типів підтвердження (верифікація та валідація), хоча і повинно припускати, що підтвердження не буде отримано негайно через виявлення дефектів. (ГОСТ 56920)
Статичне тестування (Static Testing, Non-execution technique чи verification) передбачає перевірку вручну чи з допомогою інструментів програмного коду без його запуску, і навіть перевірку документації.
Чому потрібне статичне тестування:
Виявлення помилок / недоліків на ранніх етапах: при створенні програмного забезпечення не можна покладатися виключно на динамічне тестування, оскільки воно виявляє помилки або недоліки програмного продукту на пізнішому етапі, що може коштувати розробникам багато часу та зусиль для налагодження;
Збільшення розміру ПЗ: у міру збільшення розміру програмного продукту стає важко впоратися з ним, оскільки ефективність покриття коду знижується;
Динамічне тестування займає багато часу: незважаючи на те, що динамічне тестування виявляє помилку і надає деякі подробиці щодо помилки, виправлення помилки, як і раніше, вимагає часу і зусиль, оскільки воно включає виявлення збою від тестового прикладу до основної причини, що в цілому ускладнює процес;
Динамічне тестування дороге: як згадувалося раніше, для динамічного тестування потрібні тестові приклади, і виконання цього само по собі є дорогим, тому що тестові приклади мають бути спочатку створені, потім виконані та перевірені, а також повинні підтримуватися, що потребує великої роботи з боку тестувальників. ;
Динамічне тестування (Dynamic Testing, Execution technique або validation) передбачає запуск коду щодо функціональних і нефункціональних перевірок ПЗ. Основна мета цього тестування – підтвердити, що програмний продукт працює відповідно до вимог бізнесу. Перевагами динамічного тестування є виявлення складних дефектів, які можуть бути виявлені статичним тестуванням, виявлення загроз безпеки, проблем із продуктивністю тощо.
Last updated