Какие инструменты вы используете в своей работе как QA-инженер?

«Какие инструменты вы используете в своей работе как QA-инженер?» — вопрос из категории Основы тестирования, который задают на 24% собеседований AQA / Automation. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В своей работе я использую следующий стек инструментов, разделённый по категориям задач:

1. Автоматизация тестирования:

  • Web UI: Selenium WebDriver (с Java/TestNG или Python/pytest) для legacy-проектов, Playwright для новых.
  • API: REST Assured (Java) или requests + pytest (Python) для автоматизации проверок REST API.
  • Мобильное: Appium для кроссплатформенной автоматизации.
  • Фреймворки: TestNG (параллельный запуск, параметризация), JUnit 5, pytest (фикстуры, параметры).

2. Ручное и исследовательское тестирование:

  • API: Postman (для создания коллекций и ad-hoc запросов) и Swagger/OpenAPI для документации.
  • Базы данных: DBeaver, pgAdmin для проверки состояния данных после тестов.
  • Мобильные устройства: Android Studio Emulator, Xcode Simulator, сервисы вроде BrowserStack для тестирования на реальных устройствах.
  • Перехват трафика: Charles Proxy или Fiddler для анализа и модификации HTTP/HTTPS запросов.

3. Управление тестами и отчётность:

  • Система управления тест-кейсами: Jira (с Zephyr Scale или Xray), TestRail.
  • Отчёты: Allure Framework для детализированных и наглядных отчётов по автоматизированным прогонам.
    // Пример аннотации для Allure в Java (TestNG)
    @Test
    @Description("Проверка успешного логина с валидными данными")
    @Severity(SeverityLevel.CRITICAL)
    public void successfulLoginTest() {
        // ... код теста
    }

4. Непрерывная интеграция (CI/CD):

  • Серверы: Jenkins (написание Pipeline-скриптов), GitLab CI/CD, GitHub Actions.
  • Контейнеризация: Docker для изоляции тестового окружения (например, запуск Selenium Grid).

5. Прочее:

  • Виртуализация: VirtualBox для изолированных тестовых сред.
  • Нагрузочное тестирование: JMeter для создания и выполнения нагрузочных сценариев.
  • Версионный контроль: Git (GitHub, GitLab, Bitbucket).