Какие фреймворки и инструменты для автоматизации тестирования вы использовали?

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

Ответ

Использовал стек инструментов для разных уровней и типов тестирования:

Для UI-тестирования веб-приложений:

  • Selenium WebDriver — для автоматизации действий в браузере.
  • TestNG / JUnit — как фреймворки для организации тестов, утверждений (assertions) и управления запуском.

Пример теста на Selenium + TestNG (Java):

@Test
public void userCanLoginWithValidCredentials() {
    driver.get("https://app.example.com/login");
    driver.findElement(By.id("username")).sendKeys("standard_user");
    driver.findElement(By.id("password")).sendKeys("secret_sauce");
    driver.findElement(By.cssSelector("[type='submit']")).click();

    String currentUrl = driver.getCurrentUrl();
    Assert.assertTrue(currentUrl.contains("/inventory.html"),
        "После логина пользователь должен быть перенаправлен в инвентарь.");
}

Другие инструменты:

  • Cucumber (с Gherkin) — для Behavior-Driven Development (BDD).
  • REST Assured — для тестирования REST API.
  • Appium — для мобильной автоматизации.
  • Jenkins / GitHub Actions — для интеграции тестов в CI/CD пайплайн.