Есть ли планы закрепиться в какой-нибудь одной специализации?

Ответ

Мой текущий фокус — это углубление в автоматизацию тестирования веб-приложений и API, так как это позволяет эффективно обеспечивать качество на большинстве современных проектов. Я активно работаю со стеком, включающим Selenium WebDriver для UI и RestAssured или аналогичные библиотеки для API-тестирования.

Например, в моей практике это выглядит так:

  • Для UI-тестов: Построение стабильных фреймворков на основе Page Object Model с использованием явных ожиданий (WebDriverWait).

    public class LoginPage {
    @FindBy(id = "username")
    private WebElement usernameField;
    
    public HomePage login(String user, String pass) {
        usernameField.sendKeys(user);
        driver.findElement(By.id("password")).sendKeys(pass);
        driver.findElement(By.tagName("button")).click();
        return new HomePage(driver);
    }
    }
  • Для API-тестов: Проверка не только статус-кодов, но и схемы ответов, бизнес-логики и граничных условий.

    @Test
    public void createUser_Returns201AndValidBody() {
    User newUser = new User("John Doe", "engineer");
    
    given()
        .contentType(ContentType.JSON)
        .body(newUser)
    .when()
        .post("/api/users")
    .then()
        .statusCode(201)
        .body("name", equalTo("John Doe"))
        .body("id", notNullValue());
    }

    При этом я слежу за развитием инструментов (например, переход на Playwright или Cypress) и методологий (например, shift-left testing), чтобы моя специализация оставалась актуальной и эффективной.

Ответ 18+ 🔞

Да ты послушай, на что я сейчас время трачу! Сижу, блядь, углубляюсь в эту автоматизацию тестирования, как будто от этого жизнь моя зависит. Ну а хули делать — на большинстве проектов сейчас без этого нихуя не сдвинешься, качество надо как-то обеспечивать, а не пальцем в небо тыкать.

Вот смотри, у меня сейчас весь фокус на двух вещах висит: на вебе и на этих ваших API. С вебом всё понятно, там Selenium WebDriver — старый, добрый, местами ебаный вротберунчик, но свой. Главное — фреймворк нормальный построить, чтобы не разваливался от каждого чиха. Я, например, Page Object Model впариваю везде, где только можно, и явные ожидания (этот WebDriverWait) — без них просто терпения ноль, ебать, тесты гоняются как угорелые и падают на ровном месте.

Смотри, как это примерно выглядит, чтоб ты понимал масштаб:

public class LoginPage {
    @FindBy(id = "username")
    private WebElement usernameField;

    public HomePage login(String user, String pass) {
        usernameField.sendKeys(user);
        driver.findElement(By.id("password")).sendKeys(pass);
        driver.findElement(By.tagName("button")).click();
        return new HomePage(driver);
    }
}

Вроде бы ничего сложного, но если архитектуру криво заложить, потом будешь ебись оно конём с поддержкой. А с API вообще отдельная песня — тут уже RestAssured или что-то похожее. И суть же не в том, чтобы просто статус 200 поймать, а чтоб всё по-взрослому: схему ответа проверить, бизнес-логику, все эти граничные условия. Иначе какой смысл?

Вот типа такого:

@Test
public void createUser_Returns201AndValidBody() {
    User newUser = new User("John Doe", "engineer");

    given()
        .contentType(ContentType.JSON)
        .body(newUser)
    .when()
        .post("/api/users")
    .then()
        .statusCode(201)
        .body("name", equalTo("John Doe"))
        .body("id", notNullValue());
}

Казалось бы, красота. Но нет, подозрение ебать чувствую ко всему этому! Потому что мир-то не стоит на месте. Вот уже все вокруг про Playwright или Cypress орут, методики новые появляются, типа этого shift-left testing. Сиди и думай, э, бошка, думай, не проще ли на новый инструмент переползти, пока от старого не отстал как хуй с горы.

Так что специализацию эту приходится постоянно шевелить, чтоб не превратиться в манду с ушами, которая знает только одну кнопку. А то будет вам хиросима и нигерсраки на проекте, когда всё посыпется, а ты с архаичными подходами. В общем, работа такая — волнение ебать постоянное, но зато скучно не бывает.