Какие основные виды (типы) тестирования вы знаете?

«Какие основные виды (типы) тестирования вы знаете?» — вопрос из категории Основы тестирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Виды тестирования классифицируются по целям и объекту проверки. Основные из них:

  1. По уровню (степени изоляции кода):

    • Модульное (Unit) — тестирование отдельных функций или классов.
      def test_add():
      assert add(2, 3) == 5
    • Интеграционное — проверка взаимодействия нескольких модулей или систем.
    • Системное (End-to-End, E2E) — тестирование полностью собранного приложения.
  2. По доступу к коду:

    • Чёрный ящик — тестирование по спецификации без знания внутреннего устройства.
    • Белый ящик — тестирование с опорой на знание исходного кода (покрытие путей).
    • Серый ящик — комбинация двух подходов (знание архитектуры, но не кода).
  3. По целям:

    • Функциональное — проверка соответствия функциональным требованиям.
    • Нагрузочное/Производительности — оценка поведения под нагрузкой (отклик, стабильность).
    • Юзабилити — оценка удобства и понятности интерфейса для пользователя.
    • Безопасности — поиск уязвимостей (инъекции, аутентификация, авторизация).
    • Регрессионное — проверка, что новые изменения не сломали существующий функционал.
    • Дымовое (Smoke) — поверхностная проверка базовой работоспособности после сборки.