Уровни тестирования

Тема дорожной карты · QA-инженер

Уровни тестирования — это отдельные этапы в SDLC и STLC, на которых валидируется программное обеспечение; каждый уровень сфокусирован на разной области и выполняется разными участниками с разными инструментами. Юнит-тестирование — первый уровень, где отдельные функции или классы проверяются в изоляции с помощью JUnit, pytest или TestNG; практики TDD часто управляют этими тестами ещё до реализации; интеграционное тестирование затем проверяет корректность взаимодействия модулей, обычно используя REST Assured или Postman для тестирования API-контрактов между сервисами. Системное тестирование проверяет полностью собранное приложение на соответствие функциональным и нефункциональным требованиям — включая UI-тесты на Selenium, Playwright или Cypress, валидацию производительности с JMeter или k6, и сканирование безопасности с OWASP ZAP или Burp Suite. Финальный уровень, приёмочное тестирование (UAT), проверяет систему на соответствие бизнес-требованиям и ожиданиям пользователей, часто выраженным в BDD-сценариях на Gherkin, выполняемых через Cucumber; все уровни тестирования оркестрируются в CI/CD-пайплайнах через Jenkins или GitHub Actions с агрегированием результатов в отчётах Allure или JUnit.

Как это работает

Уровни тестирования — это дисциплина поиска дефектов + повышения качества ПО. Активности: анализ требований, планирование тестов, тест-дизайн, исполнение тестов, отчёты о дефектах + трекинг, регрессионное тестирование, верификация релиза. Уровни тестирования: unit (на разработчике), integration (границы компонентов), system (end-to-end), acceptance (user-facing). Современный QA сочетает ручное исследование с автоматическим regression. QA-мышление: каждое предположение подозрительно, у каждого input есть граница.

Когда применять

Встраивайте QA с начала проекта — качество-задним-числом всегда стоит дороже, чем встроенное. Используйте пирамиду тестирования как ориентир: много unit-тестов (быстрые, дешёвые), меньше integration, ещё меньше E2E (медленные, хрупкие). Для ранних стадий exploratory testing находит больше багов, чем сценарная regression — автоматизируйте после стабилизации фичи. ISTQB Foundation даёт общий словарь команде.

Типичные ошибки

Ловушки Уровни тестирования: QA как "тыкать кнопки до поломки" вместо анализа рисков + дизайна тестов; гонка за 100% покрытием кода (line coverage не значит behaviour coverage); обвинение QA при production-сбое ("вы должны были поймать" — большинство багов системные, не QA-detectable); незнание доменной области (QA, не понимающий бизнес, пропускает важные баги).

Связанные понятия

Полезные ресурсы

Проверить знания (1)

Загрузка вопросов…