Михаил Б.
UPTRADE - одно из первых российских S2P (Source-to-Pay) решений, предоставляющих комплексный сервис закупочных функций, где один из ключевых модулей - B2B маркетплейс. О себе: Fullstack QA Engineer с опытом в автоматизации тестирования и обеспечении качества web-приложений. Специализация: автоматизация на Python (Pytest, Selenium/SeleniumBase/Playwright - 80+ UI-автотестов, 120+ API-автотестов), REST API тестирование (Postman, Swagger), работа с SQL (PostgreSQL - сложные запросы с JOIN, подзапросы, EXPLAIN ANALYZE), CI/CD (GitLab CI, Docker), микросервисная архитектура (Kafka, Kubernetes). С нуля настроил инфраструктуру автотестов в GitLab CI/CD pipeline - 3 стадии (lint, unit tests, integration tests). Написал 200+ автотестов (80 UI + 120 API), обнаружено 15 критичных багов через автоматизацию. Время выполнения полного прогона: 15 минут. Нравится разбираться в сложных технических системах, находить узкие места через анализ логов (Kibana, Grafana), оптимизировать процессы тестирования через автоматизацию и улучшать качество продукта. Имею опыт работы на стыке frontend и backend, хорошо ориентируюсь в архитектуре веб-приложений, взаимодействии микросервисов через Kafka и отладке через DevTools. Опыт единственного QA на проекте (Аптрейд) - с нуля выстроил процесс тестирования, внедрил автоматизацию (pytest + selenium/playwright + docker + gitlab ci), организовал регрессионное тестирование, провел нагрузочное тестирование через Apache JMeter (4000 пользователей). Постоянно развиваюсь: углубляюсь в CI/CD оптимизацию (параллельный запуск тестов), планирую освоить Kubernetes для тестовых окружений, изучаю contract testing (Pact) и k6 для нагрузочного тестирования. Посещаю митапы по QA и автоматизации, слежу за трендами в тестировании. Языки: Русский (родной), Английский (B1 - чтение технической документации, API specs) Готовность: Полная занятость, полный день, удалённая работа, готов к переезду (Москва) Дополнительно: Agile/Scrum/Kanban, опыт единственного QA на проекте (выстроил процесс с нуля), менторинг Junior QA (онбординг, обучение автоматизации), понимание SDLC, опыт работы с микросервисной архитектурой Технологический стек: Python (Pytest - фреймворк для автотестов, Selenium WebDriver / SeleniumBase / Playwright - UI автоматизация, Requests - API автоматизация), SQL (PostgreSQL - JOIN, подзапросы, агрегатные функции, EXPLAIN ANALYZE, индексы), Postman (REST API тестирование, коллекции, Pre-request Scripts, Newman для CI/CD - аналог автоматизации через Pytest), GitLab CI/CD (аналог Jenkins - pipeline разработка, запуск автотестов, деплой через автоматизацию), Docker (Docker Compose, образы, контейнеры, изоляция окружений для автотестов), Kafka (KafkaUI, анализ сообщений, проверка консистентности микросервисов), Apache JMeter (нагрузочное тестирование, анализ метрик), Grafana (мониторинг производительности, анализ метрик нагрузки), Kibana (анализ логов, поиск ошибок через ELK Stack), Git (контроль версий, работа с ветками, мерджи, откаты), Jira (баг-трекинг, Agile/Scrum workflows), Xray (управление тест-кейсами — аналог TestRail), Confluence (документация, чек-листы, тест-планы), Swagger/OpenAPI (изучение структуры API, проверка контрактов), DevTools (анализ сетевых запросов, отладка), Linux (терминал, базовые команды, анализ логов), WinSCP (работа с серверными логами), DBeaver (работа с PostgreSQL, написание SQL запросов) Обязанности: - Написал 80+ UI-автотестов на Python (Pytest + Selenium WebDriver / SeleniumBase) для критичных пользовательских сценариев (авторизация, оформление заказа, поиск товаров). Автотесты запускались в GitLab CI pipeline при каждом merge request, время выполнения полного прогона: 15 минут. - Автоматизировал тестирование REST API на Python (Pytest + Requests) — покрыл 120+ API endpoints. Автотесты проверяли JSON schema, HTTP status codes, бизнес-логику. Обнаружено 15 багов через автоматизацию (race conditions, неверная валидация). - Создавал Docker образы для автотестов через Docker Compose и пушил их в GitLab Container Registry. Настроил запуск автотестов в GitLab CI pipeline — 3 стадии (lint, unit tests, integration tests), деплой автоматически только при прохождении всех тестов. - Выполнял функциональное, регрессионное и нагрузочное тестирование платформы, обеспечивая стабильность релизов при высоких нагрузках. - Проводил smoke-тесты после каждого деплоя, проверял жизненно важный функционал и стабильность системных сервисов. - Тестировал REST API с помощью Postman: создавал коллекции, писал автотесты на JavaScript, использовал окружения и переменные. - Работал со Swagger: изучал структуру эндпоинтов, проверял контракт API, подготавливал тестовые сценарии. - Проверял UI/UX через Figma и DevTools, сравнивал с макетами, вёл обратную связь. - Проводил нагрузочное тестирование основного функционала, наиболее потребляющего ресурсы, с помощью Apache JMeter; составлял и анализировал отчёты по метрикам в Grafana. - Самостоятельно выполнял деплой фичей и багфиксов на тестовый и продовый стенды через GitLab CI, а также откатывал изменения при выявлении критических ошибок. - Анализировал сетевые запросы через Chrome DevTools: проверял корректность заголовков, коды ответов, структуру payload. - Работал с Docker-контейнерами на стендах: перезапуск сервисов, логирование, проверка изоляции окружений. - Изучал и анализировал серверные логи через Linux-терминал и WinSCP, отслеживал ошибки backend-сервисов, находил первопричины и передавал их разработчикам с приоритетной маркировкой. - Проводил валидацию JSON-ответов и схем, проверял бизнес-логику на уровне API и интеграции с фронтендом. - Работал с PostgreSQL через DBeaver: писал SQL-запросы (SELECT, JOIN, WHERE, GROUP BY, подзапросы) для проверки корректности бизнес-данных, валидации API-ответов, анализа целостности БД. Использовал SQL для тестирования логики обработки данных после API-вызовов. - Проверял Kafka-топики через KafkaUI: отслеживал корректность бизнес-сообщений, проверял консистентность между микросервисами. - Вёл документацию в Confluence, оформлял баг-репорты в Jira, тест кейсы вёл c помощью Xray. - Участвовал в обсуждении архитектуры фичей, предлагал улучшения в тест-планировании и покрытиях.
Основным продуктом, над которым я работал, был B2B-маркетплейс, разработанный для мебельных производителей. В рамках проекта приоритетным направлением было создание надежной, масштабируемой и функциональной платформы, обеспечивающей удобное взаимодействие между поставщиками и покупателями. Достижения: - Внедрил автоматизированные smoke-тесты на Python + Pytest (20+ тестов) для критичных сценариев, запускаемые в Jenkins CI/CD после каждого деплоя. Это помогло снизить количество критичных багов на этапе разработки на ~30% (по данным Jira), повысить качество конечного продукта через раннее обнаружение архитектурных проблем и ускорить процесс выпуска новых фич через автоматизацию регрессионного тестирования. - Помогал новым сотрудникам быстрее адаптироваться в команде, объяснял внутренние процессы тестирования, показывал, как работать с тестовой документацией, API и логами. Это сократило время онбординга и позволило новым QA быстрее приступить к полноценной работе. - Оптимизировал и структурировал проектную документацию в Confluence, дополнив её подробными описаниями API, тест-кейсов и ключевых бизнес-сценариев. Это значительно упростило процесс адаптации новых сотрудников и улучшило взаимодействие внутри команды. - Инициировал и организовал регулярные командные встречи (Scrum-ритуалы) с разработчиками, аналитиками и тестировщиками для обсуждения потенциальных рисков, уточнения требований и согласования сложных тестовых сценариев через анализ API контрактов в Swagger, проверку SQL схем в PostgreSQL и валидацию бизнес-логики через Postman коллекции. Обязанности: - Разрабатывал и поддерживал UI-автотесты на Python + Playwright, покрывая ключевые пользовательские сценарии. Использовал Page Object подход, фикстуры Pytest и параллельный запуск тестов для повышения стабильности и скорости прогона. - Автоматизировал тестирование REST API на Python (Pytest + Requests) - создавал структуры тестов, проверял статус-коды, payload, бизнес-логику и корректность JSON-schema. Покрывал позитивные, негативные и граничные сценарии. - Тестировал REST API с помощью Postman, проверяя правильность запросов, ответов и обработку ошибок. - Работал со Swagger, изучал API-эндпоинты, генерировал запросы и тестировал параметры. - Разворачивал тестовые среды в Docker, проверяя работоспособность сервисов в изолированной среде. - Использовал GitLab для отслеживания версий кода и тестирования изменений в отдельных ветках. - Регистрировал баги в Jira, детально описывая шаги воспроизведения и прикладывая логи со скриншотами. - Применял DevTools для анализа сетевых запросов, их структуры, заголовков и кодов ответов. - Изучал логи в Kibana, выявлял ошибки и определял их первопричины. - Проверял корректность JSON-ответов и запросов при тестировании REST API. - Выполнял smoke-тестирование после развертывания новых версий сборок. - Оценивал правильность передачи и обработки сообщений между микросервисами через Kafka. - Работал с PostgreSQL, писал SQL-запросы в DBeaver для проверки целостности данных. - Использовал ELK-стек (Elasticsearch, Logstash, Kibana) для поиска сбоев и анализа логов микросервисов. - Работал с Linux, применял базовые команды для проверки логов, состояния сервисов и деплоя приложений. - Проводил регрессионное тестирование, чтобы убедиться, что новые доработки не нарушают текущий функционал. - Вёл тест-кейсы и тестовые сценарии в TMS (Zephyr) для организации процесса тестирования. - Проверял UI-компоненты на соответствие требованиям и сверял верстку с макетом в Figma через DevTools. - Осуществлял проверку доставки сообщений по Kafka-топикам с использованием KafkaUI, отправлял тестовые JSON-сообщения. - Запускал сборки и автоматизированные тесты через Jenkins в рамках CI/CD-процессов. - Выполнял функциональное тестирование, проверяя соответствие системы заявленным бизнес-требованиям. - Поддерживал тестовую документацию в Confluence, обновлял чек-листы и сложные тестовые сценарии. - В Postman создавал коллекции, использовал переменные и пробовал автоматизировать тестирование API-запросов с JavaScript. - Следил за изменениями кода в GitLab, запускал сборку Docker-образов через Jenkins, тестировал интеграцию с REST API. - Тестировал взаимодействие Backend API с Frontend, проверял корректность обмена данными между сервисами и обработку ошибок.
Понравился профиль? Создайте себе такой же