← Назад к вопросам

Какие знаешь типы в тестировании?

1.3 Junior🔥 241 комментариев
#Теория тестирования

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI23 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Типы Тестирования в QA

В качестве опытного QA Engineer я хорошо знаю различные типы тестирования, которые применяются на разных этапах разработки. Каждый тип имеет свою цель, метод и область применения.

Функциональное Тестирование

Определение: Проверка того, что приложение выполняет требуемые функции согласно спецификации.

Что проверяем: Корректность функций, правильность расчётов, валидация данных, обработка различных сценариев.

Пример: При добавлении товара в корзину проверяем, что цена рассчитана правильно, товар появился в списке, количество обновилось.

Инструменты: Selenium, Cypress, TestNG, Pytest.

Регрессионное Тестирование

Определение: Проверка того, что новые изменения не сломали существующий функционал.

Когда выполняем: После каждого обновления, исправления багов, добавления функций.

Пример: После исправления баги с логином проверяем, что регистрация, восстановление пароля и двухфакторная аутентификация всё ещё работают.

Важность: Критична в Agile, где выпускаются новые версии каждый спринт.

Unit Тестирование

Определение: Тестирование отдельных функций и методов в изоляции.

Кто пишет: Обычно разработчики, но QA может участвовать.

Пример: Проверка функции calculateDiscount(price, discountPercent) с различными входными данными.

Инструменты: JUnit, NUnit, Pytest, Jest.

Покрытие: Должно быть 90%+ код покрытия.

Integration Тестирование

Определение: Тестирование взаимодействия между несколькими компонентами системы.

Пример: Проверка, что Order Service корректно взаимодействует с Payment Service и Inventory Service.

Отличие от Unit: Unit тестирует части, Integration тестирует взаимодействие.

Сложность: Выше, чем Unit, требует управления данными и состоянием.

E2E (End-to-End) Тестирование

Определение: Тестирование полного пути пользователя от начала до конца.

Пример: Пользователь регистрируется → логинится → добавляет товар → оформляет заказ → видит подтверждение.

Инструменты: Selenium, Playwright, Cypress.

Время выполнения: Долгое (минуты-часы), поэтому эти тесты запускают ночью.

API Тестирование

Определение: Тестирование программных интерфейсов приложения.

Что проверяем: Коды ответов (200, 400, 404), структура данных, заголовки, обработка ошибок.

Инструменты: Postman, REST Assured, SoapUI.

Пример: POST /api/v1/users должен вернуть 201 Created с корректным id пользователя.

Performance Тестирование

Определение: Проверка скорости работы приложения под нормальной и пиковой нагрузкой.

Метрики: Response Time, Throughput, CPU Usage, Memory Usage.

Инструменты: JMeter, LoadRunner, Gatling.

Пример: При 1000 одновременных пользователей response time должен быть менее 2 секунд.

Load Тестирование

Определение: Проверка поведения при постепенном увеличении нагрузки.

Цель: Найти точку, где система начинает деградировать.

Пример: Постепенно добавляем пользователей и смотрим, при каком числе система начинает медленнее работать.

Stress Тестирование

Определение: Проверка поведения при экстремальной нагрузке.

Цель: Найти точку отказа (breaking point).

Пример: 10000 одновременных пользователей, или заполнение всей памяти.

Security Тестирование

Определение: Проверка защиты от уязвимостей и атак.

Что проверяем: SQL Injection, XSS, CSRF, Authentication, Authorization, Data Encryption.

Инструменты: OWASP ZAP, Burp Suite, Nessus.

Пример: Попытка вставить SQL команду в поле поиска - приложение должно отклонить и не вернуть ошибку БД.

Usability Тестирование

Определение: Проверка удобства использования приложения.

Что проверяем: Интерфейс понятен? Навигация интуитивна? Где находить кнопки?

Метод: Часто проводится с реальными пользователями.

Инструменты: Maze, UserTesting.

Compatibility Тестирование

Определение: Проверка совместимости с различными браузерами, ОС, устройствами.

Пример: Приложение должно работать на Chrome, Firefox, Safari, Edge, на Windows, Mac, Linux, на мобильных телефонах.

Инструменты: BrowserStack, Sauce Labs.

Smoke Тестирование

Определение: Быстрая проверка базовой функциональности.

Когда: После каждой сборки для проверки, что система вообще запускается.

Время: 5-10 минут.

Пример: Проверка, что приложение запускается, главная страница загружается, базовые функции работают.

Санитарное Тестирование

Определение: Проверка конкретного исправления без полного регрессионного тестирования.

Когда: После исправления небольшого баги.

Пример: Исправили опечатку на странице - проверяем только эту страницу.

Exploratory Тестирование

Определение: Неформальное тестирование без заранее написанных тестов.

Как работает: Тестировщик исследует приложение, пытается найти баги на основе опыта.

Пример: "А что будет, если я добавлю отрицательное число в поле количества?"

Время: Обычно 1-2 часа на функцию.

Матрица Тестирования

ТипУровеньИнструментыВремя
UnitКодJUnit, PytestМинуты
IntegrationКомпонентыTestNGМинуты-часы
E2EСистемаSeleniumЧасы
APIСервисыPostmanМинуты
PerformanceНагрузкаJMeterЧасы
SecurityУязвимостиBurp SuiteЧасы
UsabilityUXUserTestingДни

Пирамида Тестирования

      E2E (10%)
    /\n   /  \
  API (20%)
  /        \
 Unit (70%)

Эта пирамида показывает, что большинство тестов должны быть Unit (быстрые, дешевые), меньше API тестов, и минимум E2E тестов (долгие, дорогие).

Заключение

Каждый тип тестирования имеет место в стратегии QA. Опытный QA Engineer выбирает правильный набор типов в зависимости от проекта, чтобы обеспечить качество при оптимальных затратах времени и ресурсов.

Какие знаешь типы в тестировании? | PrepBro