Існує кілька ознак, за якими прийнято робити класифікацію видів тестування. Зазвичай виділяють такі:
За ступенем автоматизації:
– Ручне тестування (manual testing).
– Автоматизоване тестування (automated testing).
– Напівавтоматизоване тестування (semiautomated testing).
За ступенем підготовленості до тестування:
– Тестування по документації (formal testing).
– Тестування ad hoc або інтуїтивне тестування (ad hoc testing) – тестування без тест плану та документації, що базується на методиці передбачення помилки та власному досвіді тестера.
За знанням системи:
– Тестування чорного ящика (black box).
– Тестування білого ящика (white box).
– Тестування сірого ящика (grey box).
За ступенем ізольованості компонентів:
– Компонентне (модульне) тестування (component/unit testing).
– Інтеграційне тестування (integration testing).
– Системне тестування (system/end-to-end testing).
За часом проведення тестування:
– Альфа-тестування (alpha testing).
– Тестування при прийманні або Димове тестування(smoke testing).
– Тестування нової функціональності (new feature testing).
– Регресивне тестування (regression testing).
– Тестування при здачі (acceptance testing).
– Бета-тестування(beta testing).
За об'єктом тестування:
– Функціональне тестування (functional testing).
– Тестування продуктивності (performance testing).
– Навантажувальне тестування (load testing).
– Стрес-тестування (stress testing).
– Тестування стабільності (stability/endurance/soak testing).
– Тестування зручності використання або Юзабіліті-тестування (usability testing).
– Тестування інтерфейсу користувача (UI testing).
– Тестування безпеки (security testing).
– Тестування локалізації (localization testing).
– Тестування сумісності (compatibility testing).
За ознакою позитивності сценаріїв:
– Позитивне тестування (positive testing).
– Негативне тестування (negative testing).
Рівні тестування
– Модульне тестування тестує мінімальний компонент програми, або модуля. Кожний модуль тестується для перевірки правильності його реалізації.
– Інтеграційне тестування виявляє дефекти в інтерфейсах та у взаємодії між компонентами (модулями).
– Системне тестування тестує інтегровану систему для перевірки відповідності всім вимогам.
– Системне інтеграційне тестування перевіряє, чи система інтегрується в будь-яку зовнішню систему (або системи) відповідно до системних вимог.
– Приймальне тестування може проводитись кінцевим користувачем, замовником, або клієнтом для перевірки, чи може продукт бути прийнятий до використання.
– альфа-тестування – це симульоване або реальне операційне тестування потенційними користувачами/замовником або командою тестувальників на боці розробника.
– бета-тестування йде після альфа-тестування. Версії програмного забезпечення, відомі як бета-версії, надаються у користування обмеженій кількості людей поза компанією для того, щоб упевнитись, що програма не містить великої кількості помилок.