Skip to content
View Mohanad49's full-sized avatar

Highlights

  • Pro

Block or report Mohanad49

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Mohanad49/README.md

Mohanad Yehia

Software QA Engineer · Test automation across web, mobile and API
Cairo, Egypt · UTC+2

LinkedIn · Portfolio · Live QA dashboard · Email


I test a multi-tenant club-management platform at Blue Ribbon — a Flutter app and an admin portal covering payments, bookings, subscriptions and access control. I joined doing manual testing on a production launch, then built the automation that replaced most of it: 2,500+ test cases, 500+ defects, and 85% of the regression suite now running on one command in CI, across Playwright (web), Maestro (mobile) and pytest (API).

The repositories below are the same discipline applied in public. Every one of them runs on a schedule, and the badges are live — including one that is red on purpose, and one repo that has no badge at all because a real product gate in it is failing.

Featured work

🎯 A full QA engagement

caldiy-qa-strategy — six phases against a real scheduling platform: risk-led strategy, a Dockerised pinned instance, API contract tests, Playwright lifecycle coverage, a 14-test timezone/DST suite, BDD, axe and visual gates, k6 performance gates with a capacity-one contention proof, tiered CI, and two defect reports filed upstream.

The result I'd want read first is the one that isn't green: accessibility passes 1 of 3 surfaces, and that stays visible. It's a finding about the product, not a flaky test to retry away — which is also why there is no CI badge on that repo while a real product gate is failing. Allure report →

🛠 Tools I built

TestPulse — test observability and flake detection
CI
A CI suite has no memory, so "this test is flaky" and "you broke this on Tuesday" look identical. TestPulse ingests results over time and tells them apart with two flake strategies whose tradeoffs are argued, not assumed. Five of my repositories report into it nightly.
Python · FastAPI · React · Postgres — live dashboard →
llm-eval-harness — evaluating non-deterministic systems
CI Red team
assertEqual does not work on a system that answers differently each time. This measures pass rates with confidence intervals, validates its own LLM judge against human labels (κ 0.51 — so it gates on nothing), and red-teams the subject.
The red badge is the result: the security gate fails because the suite found real data leaks. A gate that cannot fail anything is decoration. — report →

🧪 Automation frameworks

Repository What it demonstrates Stack
orangehrm-playwright CI E2E across HR modules. The app under test runs in Docker after the public demo turned out to accept writes with 200 and discard them — which took the suite from 2/18 to 18/18 Playwright · TypeScript
open-source-webapp-qa-portfolio CI 70 checks over auth, forms, waits, tables, alerts and uploads — the Selenium predecessor to the Playwright work above Selenium · pytest
github-api-tests CI REST coverage with JSON Schema validation, negative cases, and a client that paces itself against GitHub's secondary rate limits Python · requests · pytest
api-testing-framework-ci CI Full CRUD lifecycle with auth, data-driven payloads and a published evidence hub Postman · Newman
wikipedia-maestro Mobile flows on a real Android app, on an emulator, in CI Maestro · Android
jmeter_performance_testing_report Load testing a prediction API and reporting latency against explicit acceptance criteria JMeter · Python

What I work with

Automation Playwright · Selenium · pytest · Maestro · Appium · Postman/Newman
API & performance REST · JSON Schema · JMeter · Allure
Languages Python · TypeScript · JavaScript · Java · SQL
Infrastructure GitHub Actions · Docker · PostgreSQL · FastAPI
Practice Test strategy · risk-based prioritisation · defect reporting · flake triage · CI/CD

Background

B.Sc. Computer Science & Engineering, German University in Cairo (2026). Graduation project: car price prediction over a 3M-record dataset, best R² 0.947. Junior TA for CSEN202 across 100+ students.

Arabic (native) · English (C1) · German (A2)

GitHub contribution streak

Pinned Loading

  1. testpulse testpulse Public

    Test observability and flake detection for CI suites — tells an intermittent test apart from one you broke on Tuesday. Python, FastAPI, React, Postgres, with a live dashboard.

    Python

  2. caldiy-qa-strategy caldiy-qa-strategy Public

    Risk-led QA strategy and automation for Cal.diy v6.2.0, the final public Cal.com snapshot.

    Python

  3. llm-eval-harness llm-eval-harness Public

    Pytest-native evaluation harness for LLM features: pass rates with confidence intervals instead of assertions, a judge validated against human labels, prompt-regression diffs, and a red-team suite …

    Python

  4. orangehrm-playwright orangehrm-playwright Public

    End-to-end Playwright/TypeScript suite for OrangeHRM — Page Object Model, Dockerised app under test, Allure reporting, and GitHub Actions CI.

    TypeScript

  5. open-source-webapp-qa-portfolio open-source-webapp-qa-portfolio Public

    Production-style Selenium/PyTest automation framework for Sauce Labs’ open-source The Internet app, with POM architecture, GitHub Actions CI, and published HTML/Allure reports.

    Python

  6. github-api-tests github-api-tests Public

    Automated API testing framework for the GitHub REST API built with Python, PyTest, and Requests. Features schema validation, CRUD testing, rate-limit handling, and Allure reporting.

    Python