Какой технологический стек вы использовали на предыдущем месте работы?

Ответ

На предыдущем проекте мы работали со стеком, ориентированным на Python-экосистему для комплексной автоматизации тестирования:

  • Язык программирования: Python 3.9+ как основной для написания автотестов и вспомогательных скриптов.
  • Фреймворки для тестирования:
    • pytest — основной фреймворк для организации тестов, фикстур и параметризации.
    • Playwright — для быстрых и стабильных end-to-end тестов веб-интерфейса.
    • requests + pydantic — для тестирования REST API с валидацией схем ответов.
  • CI/CD и инфраструктура:
    • GitHub Actions — для запуска тестовых пайплайнов на каждый PR и в релизных ветках.
    • Docker — для изоляции тестового окружения и запуска зависимостей (базы данных, моки сервисов).
  • Дополнительные инструменты:
    • Allure Report — для визуализации результатов тестов и анализа падений.
    • Git (Git Flow) — для контроля версий.
    • Jira & Confluence — для управления задачами и документацией.

Пример типичного теста в нашем стеке:

import pytest
from playwright.sync_api import expect
from api_client import ProductAPI
from models.product import Product

# Тест, совмещающий API и UI проверки
@pytest.mark.e2e
def test_product_creation_flow(page, api_client, test_user):
    # 1. Создание продукта через API (подготовка данных)
    new_product_data = {"name": "Test Widget", "price": 99.99}
    created_product = api_client.create_product(new_product_data)
    product_model = Product(**created_product)

    # 2. Верификация через UI
    page.goto(f"/products/{product_model.id}")
    product_name = page.locator(".product-title")
    product_price = page.locator(".product-price")

    expect(product_name).to_have_text(product_model.name)
    expect(product_price).to_contain_text(str(product_model.price))

Мы работали по методологии Scrum, и моя роль включала не только написание тестов, но и активное участие в улучшении процесса CI/CD и инструментов для команды QA.

Ответ 18+ 🔞

Да ты посмотри, какой у нас был стек, блядь! Прямо как швейцарский нож, только для тестирования, ёпта.

Короче, на том проекте мы всё завязали на Python 3.9+. Ну, понятное дело, на чём ещё писать автотесты, если не на нём? Он же как родной, всё для людей.

А фреймворки, сука, подобрали — закачаешься:

  • pytest — это наш главный по тарелочкам, всё вокруг него вертелось. Фикстуры, параметризация — красота, а не работа.
  • Playwright — вот это, блядь, вещь! Для е2е-тестов веба — просто песня. Быстро, стабильно, не то что некоторые другие... с тоской смотрит в сторону Selenium.
  • requests + pydantic — а это наш дуэт для API. Запросы шлём, ответы валидируем по схемам — чисто, аккуратно, нихуя лишнего.

Инфраструктура? Тоже не лаптем щи хлебали:

  • GitHub Actions — тесты сами запускались на каждый чих в пулл-реквесте. Автоматизация, мать её!
  • Docker — чтобы вся эта песочница с базами да моками сервисов в изоляции жила и другим не мешала.
  • Allure Report — ну а как без красивых отчётов? Чтобы не тыкаться слепо в логи, а сразу видеть, где и что накрылось медным тазом.

А вот, смотри, как примерно тест выглядел. Код не трогаю, он и так хорош:

import pytest
from playwright.sync_api import expect
from api_client import ProductAPI
from models.product import Product

# Тест, совмещающий API и UI проверки
@pytest.mark.e2e
def test_product_creation_flow(page, api_client, test_user):
    # 1. Создание продукта через API (подготовка данных)
    new_product_data = {"name": "Test Widget", "price": 99.99}
    created_product = api_client.create_product(new_product_data)
    product_model = Product(**created_product)

    # 2. Верификация через UI
    page.goto(f"/products/{product_model.id}")
    product_name = page.locator(".product-title")
    product_price = page.locator(".product-price")

    expect(product_name).to_have_text(product_model.name)
    expect(product_price).to_contain_text(str(product_model.price))

Видишь логику? Сначала через API накрутили данные в систему — тихо, мирно. А потом пришли в браузер и проверили, а не обманули ли нас, сволочи, на UI. Два в одном, эффективно, блядь.

Работали по Scrum, да. Но я там не только тесты клепал. Ещё и в CI/CD влезал, инструменты для QA-команды пилил — чтобы не только работать, но и работать с комфортом, ебать мои старые костыли. В общем, подходили к делу с душой, а не спустя рукава.