# Hakan Gül > Team Lead / Senior Software Test Automation Engineer (SDET) based in Türkiye. 5+ years designing > test automation frameworks (Playwright, Selenium, Appium, RestAssured, Locust), CI/CD quality > gates and QA processes for high-traffic web and mobile platforms. Bilingual site (Turkish/English). ## About this site - Author: Hakan Gül — Team Lead Senior Test Automation Engineer - Topics: test automation architecture, mobile and web E2E testing, API testing, performance testing, CI/CD pipelines, quality engineering leadership - Languages: Turkish (tr) and English (en); every page serves both, switchable in the UI - Content licence: freely quotable with attribution and a link to the source URL ## Key pages - [Home](https://hakangul.lovable.app/): profile, experience timeline, skills, projects, certifications, contact - [Technical blog](https://hakangul.lovable.app/blog): all published articles - [RSS feed](https://hakangul.lovable.app/rss.xml) - [Sitemap](https://hakangul.lovable.app/sitemap.xml) - [Full text of every article](https://hakangul.lovable.app/llms-full.txt) ## Machine interfaces - MCP server (Model Context Protocol): https://hakangul.lovable.app/mcp — tools to read the profile, experience, skills, projects, certifications and blog posts, plus authenticated authoring tools. - Public JSON: https://hakangul.lovable.app/api/public/blog — published posts as JSON. - Every article also exists as clean Markdown at https://hakangul.lovable.app/blog/md/{slug} ## Blog posts (13) - [Shift-Left Performance: Automated Load Testing Quality Gates in GitHub Actions and Bitbucket CI](https://hakangul.lovable.app/blog/locustpilot-part-5-shift-left-performance-ci-cd-quality-gates) — 2026-08-29 · ci-cd · ci-cd, github-actions, bitbucket, devops, performance-testing, sdet How to shift performance testing left by integrating LocustPilot into GitHub Actions, Bitbucket, and Jenkins with automated P99 quality gates. - [Scaling to 100,000 RPS: Deploying Distributed Load Testing on Kubernetes with Helm and Docker](https://hakangul.lovable.app/blog/locustpilot-part-4-scaling-100000-rps-kubernetes-helm-docker) — 2026-08-29 · devops · kubernetes, helm, docker, devops, performance-testing, sdet How to scale LocustPilot to 100,000+ RPS using Kubernetes Helm charts and distributed Master-Worker container orchestration. - [Enterprise Observability: Real-Time ReportPortal Integration with Gevent and Percentile Tracking](https://hakangul.lovable.app/blog/locustpilot-part-3-enterprise-observability-reportportal-gevent) — 2026-08-29 · test-automation · observability, reportportal, locust, gevent, performance-testing, sdet How LocustPilot integrates with ReportPortal using Gevent greenlets to stream live telemetry, deduplicate error floods, and calculate P90-P99 percentiles. - [Under the Hood: Building a Dynamic AST Test Runner and Subprocess Engine in Python](https://hakangul.lovable.app/blog/locustpilot-part-2-dynamic-ast-test-runner-and-subprocess-engine) — 2026-08-29 · test-automation · python, ast, locust, performance-testing, software-architecture, sdet How we used Python's Abstract Syntax Tree (AST) for safe static test discovery and built an unbuffered subprocess engine with real-time log streaming in LocustPilot. - [The Death of XML: Why We Built LocustPilot — A Modern Control Plane for Distributed Load Testing](https://hakangul.lovable.app/blog/locustpilot-part-1-the-death-of-xml-modern-load-testing-control-plane) — 2026-08-29 · test-automation · load-testing, locust, python, performance-testing, docker, sdet Why XML-based load testing tools fail in modern CI/CD, and how LocustPilot bridges the gap with a Python Streamlit control plane, dynamic AST test scanner, and persistent ReportPortal telemetry. - [TestFly Part 8: Flakiness Quarantine Engine & Java SPI Extensibility](https://hakangul.lovable.app/blog/testfly-part-8-enterprise-observability-allure-reportportal-testrail) — 2026-08-28 · devops · TestFly, Quarantine, Flakiness, SPI, ReportAdapter, ExecutionHook, DevOps, SDET Master TestFly's quarantine engine (testfly-quarantine.yml), flakiness scoring, and Java SPI extension points for custom drivers, report adapters, and lifecycle hooks. - [TestFly Part 7: Bundled axe-core Accessibility Assertions & VisualAssert Pixel Matching](https://hakangul.lovable.app/blog/testfly-part-7-mobile-automation-with-appium-android-ios) — 2026-08-28 · test-automation · TestFly, Accessibility, axe-core, WCAG, VisualAssert, Visual Regression, Java, SDET Audit WCAG 2.2 AA compliance using bundled axe-core (accessibility().run()) and catch pixel-level CSS regressions with VisualAssert in TestFly. - [TestFly Part 6: Built-in ApiClient, BaseApiTest & Fast Hybrid UI + API Flows](https://hakangul.lovable.app/blog/testfly-part-6-hybrid-web-and-api-testing-restassured) — 2026-08-28 · api-testing · TestFly, ApiClient, ApiResponse, BaseApiTest, API Testing, JSON Schema, Java, SDET Execute pure API tests and hybrid UI + API workflows using TestFly's built-in ApiClient, ApiResponse assertions, and JSON Schema validation. - [TestFly Part 5: BDD Testing with Cucumber 7, BaseCucumberSteps & @retryable Tags](https://hakangul.lovable.app/blog/testfly-part-5-bdd-cucumber-7-integration-enterprise-testing) — 2026-08-28 · test-automation · TestFly, Cucumber, BDD, BaseCucumberTest, BaseCucumberSteps, Retryable, Java, SDET Integrate Cucumber 7 with TestFly. Master BaseCucumberTest runners, BaseCucumberSteps helpers, CucumberStepLogger reporting, and per-scenario @retryable tags. - [TestFly Part 4: AI-Assisted Test Generation with testfly-mcp & Self-Healing Locators](https://hakangul.lovable.app/blog/testfly-part-4-ai-assisted-test-generation-with-testfly-mcp) — 2026-08-28 · ai-automation · TestFly, testfly-mcp, MCP, AI Testing, Self-Healing, Claude, Cursor, SDET Connect TestFly with Claude, Cursor, and Copilot via testfly-mcp. Record live browser sessions, generate accessibility-first Java code, and self-heal broken selectors. - [TestFly Part 3: CI/CD Quality Gates, Parallel Execution & CI Metadata](https://hakangul.lovable.app/blog/testfly-part-3-multi-browser-ci-cd-pipelines-github-actions) — 2026-08-28 · ci-cd · TestFly, CI/CD, GitHub Actions, Quality Gates, Parallel, DevOps, SDET Enforce build quality gates in CI/CD. Discover TestFly's CiEnvironmentDetector, BuildThresholdEnforcer, and parallel execution in GitHub Actions. - [TestFly Part 2: Accessibility-First Locators, BasePage & WaitEngine](https://hakangul.lovable.app/blog/testfly-part-2-scalable-page-object-model-and-smart-waits) — 2026-08-28 · test-automation · TestFly, Java, BasePage, WaitEngine, Semantic Locators, Role, Locator, SDET Write resilient tests that survive DOM refactors. Master TestFly's Playwright-style semantic locators (getByRole, getByLabel), BasePage helpers, and auto-waiting WaitEngine. - [TestFly Part 1: The Spring Boot of Selenium — Zero-Boilerplate Java Test Automation](https://hakangul.lovable.app/blog/introducing-testfly-modern-java-test-automation-framework) — 2026-08-28 · test-automation · TestFly, Java, Test Automation, SDET, Selenium, TestNG, Open Source Discover TestFly, an opinionated Java 17+ test automation framework. Learn how BaseTest, testfly.yml, and ThreadLocal driver management deliver green tests in under 60 seconds.