| Skill | E | I | H | S | Z |
|---|---|---|---|---|---|
| Programming Languages & Frameworks | |||||
| Python | ✓ | ✓ | |||
| Java | ✓ | ✓ | ✓ | ✓ | |
| TypeScript / JavaScript | ✓ | ✓ | ✓ | ||
| HTML / CSS | ✓ | ✓ | ✓ | ||
| Flask | ✓ | ||||
| Playwright | ✓ | ✓ | ✓ | ||
| Selenium / TestCafe | ✓ | ✓ | ✓ | ||
| Cypress | ✓ | ||||
| WebdriverIO | ✓ | ||||
| BDD / Cucumber / Gherkin | ✓ | ✓ | ✓ | ||
| API / Data Validation | |||||
| SOAP | ✓ | ✓ | |||
| REST / REST APIs | ✓ | ✓ | ✓ | ✓ | |
| GraphQL | ✓ | ||||
| XML / XSD | ✓ | ✓ | |||
| SQL | ✓ | ✓ | ✓ | ✓ | |
| MySQL | ✓ | ✓ | ✓ | ||
| REST Assured | ✓ | ✓ | |||
| Postman | ✓ | ✓ | ✓ | ✓ | |
| Fiddler | ✓ | ||||
| Swagger / OpenAPI | ✓ | ||||
| CI/CD & DevOps | |||||
| Git | ✓ | ✓ | ✓ | ||
| GitHub | ✓ | ✓ | ✓ | ✓ | ✓ |
| Bitbucket | ✓ | ✓ | |||
| GitLab CI | ✓ | ✓ | |||
| Jenkins | ✓ | ✓ | ✓ | ||
| TeamCity | ✓ | ||||
| Docker | ✓ | ✓ | |||
| Linux | ✓ | ✓ | |||
| AWS | ✓ | ✓ | |||
| Azure Foundry | ✓ | ||||
| Datadog | ✓ | ||||
About me
I am an ISTQB-certified QA Engineer based in High Wycombe, UK, with a proven record across mainframe-integrated airline systems, web security, avionics, and GIS platforms. I design and scale end-to-end automation to reduce manual effort, improve collaboration, and safeguard releases across complex enterprise environments.
My recent work includes API and UI automation, large-scale migration validation, SOAP and XML testing, schema verification, secure internal tooling, and business-critical release support. I am also an early adopter of AI testing and have contributed to QA-wide learning initiatives and AI road maps. I combine a Master's degree in Software Engineering with strong hands-on delivery experience.
6+
Years of experience
15+
Projects delivered
30+
Technologies used
Core Capabilities
Technical Skills Matrix
Experience Legend: E = Emirates, I = Invicti, H = Havelsan, S = SimBT, Z = Zinek
| Skill | E | I | H | S | Z |
|---|---|---|---|---|---|
| Quality Engineering | |||||
| Software Testing | ✓ | ✓ | ✓ | ✓ | ✓ |
| Quality Assurance | ✓ | ✓ | ✓ | ✓ | ✓ |
| Test Strategy | ✓ | ✓ | ✓ | ✓ | ✓ |
| Test Planning / Procedures | ✓ | ✓ | ✓ | ✓ | ✓ |
| Manual Testing | ✓ | ✓ | ✓ | ✓ | ✓ |
| Regression Testing | ✓ | ✓ | ✓ | ✓ | ✓ |
| UI Automation | ✓ | ✓ | ✓ | ✓ | |
| API Testing | ✓ | ✓ | ✓ | ||
| Agile Testing | ✓ | ✓ | ✓ | ||
| Risk-Based Testing | ✓ | ✓ | ✓ | ✓ | ✓ |
| Migration Testing | ✓ | ✓ | ✓ | ✓ | ✓ |
| Defect Triage | ✓ | ✓ | ✓ | ✓ | ✓ |
| Incident Escalation | ✓ | ✓ | ✓ | ✓ | ✓ |
| Test-Driven Development | ✓ | ✓ | |||
| Performance Testing (JMeter) | ✓ | ✓ | |||
| Accessibility Testing (WCAG) | ✓ | ||||
| Contract Testing (Pact) | ✓ | ✓ | |||
| Shift-Left Testing | ✓ | ✓ | |||
| Exploratory Testing | ✓ | ✓ | |||
| Test Data Management | ✓ | ✓ | ✓ | ||
| Security / Innovation | |||||
| Vulnerability Remediation | ✓ | ✓ | |||
| Secure File Handling | ✓ | ||||
| AI-assisted Testing PoCs | ✓ | ||||
| LLM-based Test Ideation | ✓ | ✓ | |||
| ISTQB CT-AI Knowledge | ✓ | ||||
| AI Testing | ✓ | ✓ | |||
| Generative AI / LLM Testing | ✓ | ||||
| Prompt Engineering | ✓ | ||||
| LLM Evaluation | ✓ | ||||
| RAG | ✓ | ||||
| MCP | ✓ | ||||
| Copilot | ✓ | ||||
| GitLab Duo | ✓ | ||||
| Claude Code | ✓ | ||||
| Skill | E | I | H | S | Z |
|---|---|---|---|---|---|
| Domain Expertise | |||||
| Airline / NDC Flows | ✓ | ||||
| Revenue Management | ✓ | ||||
| Dynamic Pricing | ✓ | ||||
| Mainframe Apps | ✓ | ||||
| SSO / RBAC | ✓ | ✓ | |||
| Web Application Security | ✓ | ||||
| Avionics Systems | ✓ | ✓ | |||
| GIS Systems | ✓ | ||||
| Frameworks / Internal Tools | |||||
| Python / Flask Batch Comparison Tool | ✓ | ||||
| Automation Framework Design | ✓ | ✓ | ✓ | ✓ | |
| Parallel Execution | ✓ | ✓ | ✓ | ✓ | |
| Web Scraping | ✓ | ✓ | ✓ | ✓ | |
| XML Rule Validation | ✓ | ✓ | |||
| Schema / Contract Validation | ✓ | ✓ | |||
| Tools / Collaboration | |||||
| JIRA | ✓ | ✓ | ✓ | ✓ | ✓ |
| Confluence | ✓ | ✓ | ✓ | ✓ | ✓ |
| Reporting / Metrics | ✓ | ✓ | ✓ | ✓ | ✓ |
| Business / Vendor Collaboration | ✓ | ✓ | ✓ | ✓ | ✓ |
| Allure Reporting | ✓ | ||||
| Ways of Working | |||||
| Agile / Scrum / Kanban | ✓ | ✓ | ✓ | ✓ | |
| Waterfall | ✓ | ||||
| Cross-functional Collaboration | ✓ | ✓ | ✓ | ✓ | ✓ |
| Stakeholder Communication | ✓ | ✓ | ✓ | ✓ | ✓ |
My Timeline
Senior QA Engineer
Emirates Airlines, Dubai
May 2024 – Aug 2026
End-to-end API & UI automation for airline systems — dynamic pricing, NDC, migration testing, Python/Flask tooling, and AI-assisted QA initiatives.
ISTQB Certified Tester – AI Testing
CT-AI
Aug 2025
Proficiency in testing AI/ML systems — strategy, data quality, risk, ethics, and tool support.
QA Automation Engineer
Invicti Security, Remote
Dec 2021 – Feb 2024
Expanded automation for SSO, RBAC, Risk Scoring. Resolved 200+ issues, managed regression suites and nightly runs.
M.Sc. Software Engineering
Hacettepe University
2020 – 2022
ISTQB Advanced – Test Automation Engineer
CTAL-TAE
May 2023
Focused on automation engineering principles, test architecture, framework design, and sustainable practices.
Gamified Agile Scrum Training
ACM Agile
Mar 2022
Gherkin for Turkish-Speaking Customers
M.Sc. Project
Dec 2021
Research on Gherkin language to improve collaboration in Turkish-speaking software teams.
Software Test Engineer
Havelsan, Ankara
Feb 2021 – Oct 2021
Managed avionics simulator environments, developed 50+ test plans, and resolved 100+ system anomalies.
ISTQB Foundation Level
CTFL
Sep 2021
Software Test Engineer
SimBT, Ankara
Dec 2020 – Feb 2021
Led white-box, black-box, automated, and regression tests for GIS projects with tight delivery timelines.
System Test Engineer
Zinek, Ankara
Feb 2020 – Dec 2020
Defined system-level test requirements for major avionics projects including IFF, COMM, and ILS. Resolved issues across 100+ test and field aircraft.
B.Sc. Electrical-Electronics Eng.
TOBB University
2014 – 2019
Licenses & Certifications
Certified Tester AI Testing (CT-AI) V1.0
ISTQB® — International Software Testing Qualifications Board
Advanced Level Test Automation Engineer (CTAL-TAE)
ISTQB® — International Software Testing Qualifications Board
PractiTest Certified User
PractiTest — Test Management
API Automation Testing with Python & BDD Framework
Udemy
Certificate of Participation — Gamified Agile Scrum Training
ACM Agile Türkiye
ISTQB Foundation Level (CTFL)
ISTQB® — International Software Testing Qualifications Board
Selenium WebDriver with Java
Udemy
Complete Node.js Developer Course (3rd Edition)
Udemy
My Projects
Things I build outside work. Each one ships with its own test suite.
PromptFixer
lint · score · rewrite
Lint, score and rewrite LLM prompts. A desktop app for Windows and macOS with a built-in local model; cloud providers optional.
I built it with Claude Code, for personal use: fixing a prompt before I send it means fewer wasted tokens and a better first answer.
- Scores a prompt instantly against ~30 prompt-engineering rules.
- Rewrites it with a local model (Qwen3-4B via node-llama-cpp). Runs offline; nothing you type leaves the machine.
- Re-scores the rewrite and shows a word-level diff with a change log for every edit.
- Select any passage of the rewrite, mark it Keep it or Change it, and fix again. The model revises its own rewrite instead of starting over, and a guard checks that what you kept came back word for word.
- The rewrite appears as the model writes it instead of a spinner, a line names which wait you are in, and the model hands its memory back when it sits idle. “Nothing you type leaves the machine” stopped being a claim and became a test that fails the build if the app opens a connection to anything but this machine.
- New in 0.4.0: a website with the latest download, its checksum and the notes of every release, rebuilt from the release itself whenever one is published; the app’s top bar links to it. A link, not an update check: the app never fetches the site, and that test still runs on every push.
- Since October 2026 also for macOS: disk images for Apple Silicon, where the model runs on the GPU through Metal, and for Intel Macs, built from the same 0.4.0 sources and attached to the same release.
Download for Windows
SHA-256, Windows
A8748C36186D3B4FF0D16E81AB7E4044AB481CAAB1ADA5FF547685893B1FF566
Verify the file you downloaded (PowerShell):
Get-FileHash .\PromptFixer-0.4.0-win-x64.exe -Algorithm SHA256
Unsigned installer. I have not bought a code-signing certificate, so on first run Windows SmartScreen shows “Windows protected your PC”. Click More info, then Run anyway — but only after the SHA-256 above matches the file you downloaded. The checksum proves the file is the one I built; it does not mean Windows vouches for it.
Download for macOS
SHA-256, Apple Silicon
5950705C72D5E19E6B2ABD7D8D334DB50DABCEE3C595B3248488303C814C17FA
SHA-256, Intel
6A5D3963EE807391BE127626BEE786BDDF24A403A65DE8546BF4FEB4E7EA4B0C
Verify the file you downloaded (Terminal):
shasum -a 256 ~/Downloads/PromptFixer-0.4.0-mac-arm64.dmg
shasum -a 256 ~/Downloads/PromptFixer-0.4.0-mac-x64.dmg
Not notarized. There is no Apple Developer ID behind it, so the app carries only an ad-hoc signature (the kind macOS needs before it will start anything on Apple Silicon at all) and the first launch is refused with “Apple could not verify PromptFixer is free of malware”. Click Done, open System Settings → Privacy & Security and press Open Anyway — once, and only after the SHA-256 above matches the file you downloaded.
Elastishot
align · diff · name the locator
Visual comparison for web UIs. It lines two screenshots up before it diffs them, so a banner or a collapsed section is one change instead of a page of red, and it names the DOM element behind every region.
I built it with Claude Code after one pixel-diff run too many that flagged everything. This site now runs it before every release (npm run visual, every section, both themes, two widths).
- Feature alignment (ORB + RANSAC) recovers zoom, crop and shift; same-size captures are then aligned row by row, and side-by-side columns that move on their own get their own lanes, so a section that grew, collapsed or moved is one change, not a page of them.
- Regions are added, removed, changed or moved, each attributed to a test id, role or CSS path from an element map recorded at capture time.
- HTML report with a slider, flip, blink, overlay and diff viewer that keeps both sides lined up below an inserted or removed section, plus JSON, JUnit and exit codes for CI. Open source, MIT, no telemetry.
- New in 0.2.0: a card whose picture is redrawn while its two columns grow by different amounts is reported column by column. That case used to come out as stripes of added and removed rows straight across the card, with text that had only moved marked as changed.
Install from npm
SHA-256
26B3928A60EF5087910A1885F56B2BFBE04D4FD4DFCF87A7878DBE03C949A124
Verify the tarball npm serves (PowerShell):
npm pack elastishot@0.2.0
Get-FileHash .\elastishot-0.2.0.tgz -Algorithm SHA256
Install with npm install -D elastishot. The digest above is the registry tarball's, and the GitHub release
carries the same file with its SHA256SUMS. Since 0.1.1 every release is published from GitHub Actions with npm provenance,
so the package page shows which commit and workflow built it.
Install as a Claude Code plugin
Add the marketplace, then install (in Claude Code):
/plugin marketplace add Osman19702/claude-plugins
/plugin install elastishot@osman-plugins
Contact Me
: High Wycombe, UK
:
:
: UK
: Turkish, English