Расскажи, как обычно проходит твой рабочий день

Ответ

Мой рабочий день как QA Automation инженера начинается с проверки результатов ночных прогонов автотестов в CI/CD (например, в Jenkins или GitLab CI). Затем я анализирую упавшие тесты, чтобы определить, это новый баг, проблема с окружением или флаки. Основное время уходит на:

  • Разработку и поддержку автотестов на стеке, например, Java + Selenium WebDriver + TestNG или Python + pytest + Playwright.
  • Парный прогон и отладку сложных сценариев с разработчиками, чтобы локализовать проблему.
  • Участие в ежедневном стендапе и планировании спринта, где я оцениваю тестовые усилия для новых фич.
  • Code review тестовых скриптов коллег, чтобы поддерживать единые стандарты и избегать антипаттернов.
  • Интеграцию новых тестов в пайплайн и мониторинг метрик, таких как стабильность прогона и время выполнения.

Пример типичного UI-теста на логин:

@Test
public void successfulLoginWithValidCredentials() {
    LoginPage loginPage = new LoginPage(driver);
    HomePage homePage = loginPage.login("standard_user", "secret_sauce");

    assertTrue("User should be redirected to home page",
              homePage.isPageLoaded());
    assertTrue("Shopping cart icon should be visible",
              homePage.isShoppingCartIconDisplayed());
}

В конце дня я формирую отчет о покрытии (например, через Allure или отчет Jacoco для unit-тестов) и подготавливаю тестовые данные или конфигурации окружения для задач на следующий день.

Ответ 18+ 🔞

Ну и жизнь у меня, ебать мои старые костыли. Каждый день как под копирку, но с новыми сюрпризами. Просыпаюсь, кофе вливаю, и первым делом — в душу мать — лезу смотреть, что там наши ночные автотесты натворили в дженкинсе. Открываю пайплайн, а там — овердохуища красных крестиков. И начинается: это баг новый вылез, или просто тест обосрался на ровном месте, или окружение накрылось медным тазом? Подозрение ебать чувствую каждый раз.

Основная движуха, конечно, в коде. Сидишь, пишешь эти автотесты. У нас стек, допустим, Java + Selenium + TestNG. Или вот сейчас многие на Python + Playwright пересаживаются — тоже прикольно. Главное — не наделать говнокода, чтобы потом самому же не охуеть при поддержке.

Бывает, тест падает непонятно почему. Берёшь разработчика, который фичу пилил, и начинаете парный прогон. Сидите, дебажите, логи смотрите. Пока локализуете проблему, полдня может уйти. Иногда выясняется, что это не баг, а ты, распиздяй, в тесте косяк допустил. Бывает и наоборот — находишь такую дичь, что все вокруг только ахуевают.

Ещё есть обязательная рутина. Стендап ежедневный, где все рассказывают, что вчера сделали и что сегодня будут делать. Там я обычно говорю, сколько тестов надо написать на новую фичу и сколько времени это займёт. Потом code review тестов коллег — смотришь, чтобы не писали какую-то мудню, а придерживались стандартов.

Ну и конечно, надо всё это добро в пайплайн впихнуть, чтобы оно само бегало. Следишь за метриками: сколько тесты бегут, как часто флакают. Волнение ебать, когда стабильность падает.

Вот, например, типичный тест на логин, который даже школьник поймёт:

@Test
public void successfulLoginWithValidCredentials() {
    LoginPage loginPage = new LoginPage(driver);
    HomePage homePage = loginPage.login("standard_user", "secret_sauce");

    assertTrue("User should be redirected to home page",
              homePage.isPageLoaded());
    assertTrue("Shopping cart icon should be visible",
              homePage.isShoppingCartIconDisplayed());
}

А к концу дня надо отчётность собрать. Генерируешь красивый отчёт в Allure, чтобы все видели, что протестировано, а что нет. И готовишь всё для завтрашнего дня: тестовые данные, конфиги для разных окружений. В общем, работа кипит. Иногда кажется, что ты не инженер, а пожарный, который тушит одни костры и тут же бежит разжигать новые, чтобы было чем заняться.