Ответ
В своей работе я использую следующий стек инструментов, разделённый по категориям задач:
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).
Видео-ответы
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶