О себе
Пишу тесты вместе с кодом, а не после. Есть и API-уровень (294 теста против PostgreSQL), и UI (47 автотестов на Selenium с отчётами Allure). Покрытие в TaskHub — 90,24% с учётом ветвлений, гейт 85%.
Опыт работы
Фриланс — заказы на Kwork
Python · 2022 — н.в.
- Telegram-боты, парсеры сайтов, REST API, интеграции внешних API, автоматизация по ТЗ заказчиков; kwork.ru/user/teivrim.
Проекты
TaskHub API — сервис управления задачами
FastAPI · PostgreSQL 17.4 · Celery · Redis
- Асинхронный сервис на FastAPI и SQLAlchemy 2.0: asyncpg, Pydantic v2, разделение схем запросов и ответов, OpenAPI 3.1 из коробки.
- Аутентификация JWT с ротацией refresh-токенов и RBAC: роли проверяются на уровне зависимости, доступ к эндпоинту нельзя получить без проверки прав.
- Фоновые задачи на Celery, Redis как брокер и кэш; задачи выполняются синхронно при CELERY_TASK_ALWAYS_EAGER, поэтому тесты не зависят от воркера.
- 8 таблиц по схеме Alembic, citext и pg_trgm через расширения PostgreSQL.
- 288 тестов проходят против живой PostgreSQL 17.4, 6 пропущено — только Redis-специфичные. Покрытие 90,24% с учётом ветвлений при гейте 85%.
practice-automation-tests — автотесты UI
Python · Selenium 4.49 · Pytest 9.1 · Allure
- 47 автотестов: 28 позитивных и 13 негативных на трёх страницах плюс 6 тестов формы обратной связи.
- Разделение по маркерам, ожидания вместо фиксированных пауз, отчёты Allure со скриншотами на падение.
- Selenium Manager сам ставит драйверы, поэтому проект поднимается без ручной настройки.
Навыки
Тесты: pytest, pytest-asyncio, httpx ASGITransport, фикстуры, моки внешних API, Allure, Selenium 4, покрытие с ветвлениями
CI и качество: GitHub Actions, ruff, mypy strict, pre-commit, gitleaks, clippy -D warnings
Python: FastAPI, SQLAlchemy 2.0 async, Pydantic v2, httpx, typing, dataclasses, itertools
Дополнительно
Люблю фикстуры и моки внешних API: тесты не должны ходить в интернет, иначе они краснеют без причины. Английский — чтение технической документации. Открытый код: 12 активных публичных репозиториев, у каждого проекта тесты и CI.