Статичне тестування і динамічне тестування — це два основних підходи в тестуванні програмного забезпечення. Вони відрізняються тим, чи виконується код під час тестування.
| Статичне тестування (Static Testing) |
| Що це: Тестування, яке виконується без запуску коду. Воно спрямоване на виявлення дефектів на ранніх етапах розробки. Як виконується: Аналіз документації Рев’ю коду Статичний аналіз інструментами Перевірка вимог, тест-кейсів, дизайну Ціль: Знайти помилки у вимогах, логіці, синтаксисі до виконання програми. |
| Динамічне тестування (Dynamic Testing) |
| Що це: Тестування, яке виконується під час виконання коду. Воно перевіряє, як система поводиться в реальному середовищі. Як виконується: Запуск програмного забезпечення Виконання тест-кейсів Автоматизоване або ручне тестування Ціль: Переконатися, що ПЗ працює правильно під час виконання, знаходити дефекти в поведінці. |
Ключова різниця між статичним та динамічним тестуванням
| Характеристика | Статичне тестування | Динамічне тестування |
| Чи виконується код? | Ні | Так |
| Етапи SDLC | Ранній (аналіз, дизайн) | Після реалізації (тестування) |
| Виявляє | Синтаксичні, логічні помилки | Поведінкові, функціональні помилки |
| Інструменти | Code review, аналізатори | Тестові фреймворки, емулятори |
Ці підходи доповнюють один одного: статичне тестування дозволяє виявити дефекти ще до запуску ПЗ, а динамічне — перевіряє фактичну поведінку програми в дії.