Згідно з ISTQB, термін тип тестування (test type) визначається як:
“A group of test activities based on specific test objectives aimed at specific characteristics of a component or system.”
(Група тестових активностей, що базуються на певних цілях тестування, спрямованих на конкретні характеристики компонента або системи.)
Іншими словами, тип тестування визначає мету, характеристику, що перевіряється, і методи, які застосовуються під час тестування.
Основні типи тестування
| Категорія | Тип тестування | Коротка характеристика |
| За способом виконання | Статичне тестування | Аналіз артефактів (код, документація) без виконання програми. Напр.: code review, static analysis. |
| Динамічне тестування | Тестування через виконання коду, щоб побачити реальну поведінку системи. | |
| За метою тестування | Функціональне тестування | Перевірка, чи працює система згідно зі специфікацією (що система робить). Зазвичай black box. |
| Нефункціональне тестування | Перевірка якості системи: продуктивність, безпека, зручність, надійність (як система працює). | |
| За доступом до внутрішньої логіки | Black Box Testing | Тестування без знань про внутрішній код. Фокус на вхідних/вихідних даних. |
| White Box Testing | Тестування з використанням знань про внутрішню структуру коду. Напр.: unit testing, coverage analysis. | |
| За напрямком тестування змін | Confirmation Testing (Re-testing) | Перевірка, що виправлений баг більше не проявляється. Виконуються ті ж кроки, що й при виявленні. |
| Regression Testing | Перевірка, що нові зміни не зламали стару функціональність. Часто автоматизоване. | |
| За швидкою перевіркою стану системи | Smoke Testing | Поверхнева перевірка, що основна функціональність системи працює, білд стабільний. |
| Sanity Testing | Перевірка конкретного функціоналу, який нещодавно змінився або був виправлений. | |
| За підходом до виконання | Exploratory Testing | Неструктуроване дослідницьке тестування, де тестувальник одночасно досліджує, проектує і виконує тести. |
Як це все пов’язано?
Статичне та динамічне тестування — це основні підходи: або ми аналізуємо артефакти, або запускаємо систему.
Функціональне / нефункціональне — це що саме ми тестуємо: логіку чи якість.
Black box / White box — це яку інформацію ми маємо при тестуванні.
Confirmation / Regression — це тестування змін: чи щось виправилось, і чи щось інше не зламалось.
Smoke / Sanity — це швидкі перевірки, але з різним охопленням.
Exploratory — це гнучкий і креативний підхід, який може доповнювати будь-який інший тип тестування.
Висновок:
Типи тестування класифікуються за різними критеріями: ціль, обсяг, техніка, підхід. Їх правильне поєднання допомагає досягнути повного та ефективного охоплення тестами й забезпечити якість ПЗ на всіх етапах розробки.