$ run quality --engineer="Sanaullah Buriro"

12+ years in QA loaded

200+ products verified

100% job success rate

status: expert-vetted · top 1%

I find the bugs before your users do — on every platform.

For 12+ years, I've stress-tested whole products — stability, hard logic, every user flow, not just bugs — across web, mobile, desktop, SaaS, and e-commerce. These days, that's mostly AI: chatbots, agents, and the edge cases nobody else thinks to test. I've led QA teams, built testing processes from scratch, and shipped products people actually trust.

Web · Mobile · Desktop · SaaS AI & chatbot testing Real-device testing · iOS & Android QA process design & ownership Team leadership & mentoring
Sanaullah Buriro in the Thar desert human · verified

// istanbul, waterfront

suite/about ✓ passed

Quality isn't a checkbox. It's a mindset.

After a Bachelor's in Computer Science, curiosity about how software gets built quickly turned into curiosity about how to break it — and that habit turned into a 12+ year career. Today, I don't just run test cases — I design QA processes from scratch, jump into feature brainstorms early, and lead and mentor teams so nothing falls through the cracks. Lately, that means AI: poking at chatbots until they break, stress-testing agent reliability, and asking the question everyone forgets to — does this actually feel good to use?

// travel

Born and raised in Sukkur, Pakistan 🇵🇰 — but a backpacker at heart , always chasing the next city and the boldest street food, with the occasional badminton match along the way. Work just decides how far I get to roam.

// 12 countries explored so far — chasing 5 more before 2027 is out
🇹🇷Türkiye
Scotland
England
🇦🇪UAE
🇲🇾Malaysia
🇩🇪Germany
🇮🇹Italy
🇫🇷France
🇭🇺Hungary
🇦🇿Azerbaijan
🇺🇸USA
🇦🇹Austria
🎯+5 by 2027
❤️ Favorite city: Istanbul ✨ Best vibes: Edinburgh, Scotland 🍜 Favorite meal: Street food & friends 📸 Collects: Sunsets, not souvenirs
// quote of the moment

Travel makes one modest. You see what a tiny place you occupy in the world.

Gustave Flaubert

// some of the recent companies I've helped ship quality
suite/expertise ✓ passed

If it can break, I'll find out how.

From exploratory testing on real devices to QA processes built from scratch — the right coverage for the right risk.

// what i test

Web, Mobile & Desktop

Comprehensive functional, UI, and cross-browser testing across all major platforms — with consistent experiences on every device and OS.

iOSAndroidWebDesktopCross-browser

AI & Chatbot Testing

Evaluating AI algorithms, chatbot platforms, and intelligent agents for accuracy, reliability, and user experience.

AI agentsChatbotsML productsLLM apps

SaaS & E-commerce

Specialized in the unique challenges of SaaS and e-commerce: functionality, scalability, security, and payment flows.

SaaSE-commercePaymentsAWS Marketplace

API & Backend Testing

Validating REST and GraphQL endpoints, request/response contracts, and data integrity beneath the UI — where a lot of real bugs actually hide.

PostmanRESTGraphQLData validation
// how i test & lead

QA Process & Leadership

Designing efficient QA processes tailored to each project, leading teams, mentoring testers, and shaping features from the brainstorm stage.

Test planningTeam leadingMentoringProcess design

Bug Reporting & Tracking

Advanced, reproducible bug reports in every major tracking tool — so developers fix issues fast, the first time.

JiraClickUpAsanaTrelloTestRailGitHub IssuesMonday.com

AWS & Test Infrastructure

Managing and optimizing testing environments in AWS, with cloud device farms and robotic device testing for wider coverage.

AWSCloud environmentsDevice farmsMobot

Accessibility Testing

Auditing against WCAG 2.2 and EU Accessibility Act requirements — keyboard navigation, screen-reader behavior, and contrast — so quality means usable by everyone, not just compliant on paper.

WCAG 2.2EAA complianceScreen readersKeyboard nav
suite/bug_reports ✓ reproducible

How I actually document a bug — and the test case that would've caught it.

Every real engagement I've worked is under NDA, so nothing here is copied from an actual ticket — each pair below is rebuilt from scratch to show exactly how I'd log the bug on the left, and exactly how I'd have tested for it on the right, without touching anyone's real product or data.

High severity // AI & chatbot testing

Support chatbot drops booking context after a clarifying question

// environment: web chat widget — Chrome 126 & Safari 17, desktop and mobile viewport

  1. Start a multi-step booking flow with the support chatbot (date → guest count → room type).
  2. Answer the first two prompts normally.
  3. On the third prompt, ask a clarifying question instead of answering directly — e.g. "what's included in that room type?"
  4. Answer the clarifying question, then try to continue the original booking.

Expected The bot answers the question, then resumes the flow with the date and guest count it already has.

Actual The bot restarts the flow from the date prompt, silently discarding everything already answered.

// reproduces: 5/5 attempts — 100% reproducible with this exact sequence

// evidence: full conversation transcript + session replay attached in the original report

// why it matters: asking a follow-up mid-flow is normal user behavior, not an edge case — this breaks the primary path, not a corner of it.

P1 · Test case // AI & chatbot testing

Context persists through an off-script clarifying question

// platform: web chat widget — Chrome, Safari & Firefox; desktop and mobile

Precondition

User is mid-flow with at least one field already answered.

  1. Begin the flow and answer the first field.
  2. Instead of answering the next prompt, ask an unrelated clarifying question.
  3. Wait for the bot's answer, then attempt to continue the original flow.
Expected result

The bot answers the question without losing any previously-provided flow state, then resumes exactly where the user left off.

// evidence: session replay + transcript export attached to the test run

Medium severity // accessibility (WCAG)

Primary CTA text fails contrast in one theme, passes in the other

// environment: Chrome 126 with axe DevTools; manual pass in Chrome + VoiceOver

  1. Switch the app to its light theme.
  2. Inspect the secondary/muted text color token used across captions, footers, and attribution lines.
  3. Measure contrast against the background with a WCAG contrast calculator.
  4. Repeat in dark theme.

Expected Both themes meet WCAG 2.2 AA (4.5:1) for normal-size text.

Actual Light theme measures ~4.0:1 — fails AA; dark theme passes at ~4.6:1.

// reproduces: 100% — deterministic, same token used across every instance in light theme

// evidence: contrast-checker screenshot + computed style values attached in the original report

// why it matters: a design system reused across three text roles means one under-contrast token quietly fails accessibility everywhere it's used, not just in one spot.

P2 · Test case // accessibility (WCAG)

Every themed text/background pairing meets WCAG 2.2 AA

// platform: both themes, all breakpoints — axe DevTools + manual screen-reader pass

Precondition

Light and dark themes are both available and togglable.

  1. For each reusable text color token (body, secondary, muted, link), sample its rendered color against its background in both themes.
  2. Calculate the contrast ratio for each pairing.
  3. Cross-check against WCAG 2.2 AA thresholds (4.5:1 normal text, 3:1 large text).
Expected result

Every pairing meets its applicable threshold in both themes — not just the one theme that happened to get eyeballed during development.

// evidence: contrast report + screen-reader recording attached to the test run

Critical severity // SaaS & payments

Browser back-button during checkout redirect triggers a duplicate charge

// environment: Chrome 126, Stripe test mode, throttled 3G network profile

  1. Add an item to cart and proceed to checkout.
  2. Submit payment and get redirected to the card processor's hosted page.
  3. Before the redirect back to the site completes, press the browser's back button.
  4. Re-submit payment from the now-stale checkout page.

Expected The stale session is detected and the second submission is blocked or shows an existing-order message.

Actual A second charge goes through — no idempotency check on the order before resubmitting.

// reproduces: intermittent, ~20% of attempts — depends on redirect timing and network speed

// evidence: HAR file + order/payment log export attached in the original report

// why it matters: this only shows up when someone's connection is slow or they're impatient — exactly the conditions real customers hit, and exactly what a happy-path test never exercises.

P1 · Test case // SaaS & payments

Payment submission is idempotent under network retries

// platform: Chrome & Safari, throttled and normal network profiles, Stripe test mode

Precondition

A valid cart is ready for checkout.

  1. Submit payment and, before the confirmation response returns, simulate a retry (double-click, back-button, or refresh).
  2. Repeat with a deliberately slow/throttled connection.
  3. Check the order records and the payment method for duplicate charges.
Expected result

Exactly one charge and one order exist, regardless of how many times the client re-submits.

// evidence: network trace + order-log diff attached to the test run

suite/ai_qa ✓ future ready

AI-powered QA: testing smarter, not just harder.

AI is changing both sides of my job — the products I test, and how I test them. Here's where I put it to work, organized the way the work actually flows.

// planning & coverage

Test cases from requirements

Feed user stories and specs to AI to draft test cases and edge-case checklists in minutes — then apply 12 years of judgment to refine what actually matters.

Risk-based test prioritization

Using AI to analyze what changed in a release and which areas carry the most risk — so limited testing time goes exactly where bugs are most likely to hide.

Coverage gap analysis

Comparing requirements against existing test suites with AI to surface untested edge cases and blind spots before they ship as bugs.

// execution & detection

Visual & UI anomaly detection

AI-assisted screenshot comparison that catches layout breaks, rendering glitches, and visual regressions a pixel-diff would miss or over-flag.

Synthetic test data generation

Realistic names, addresses, edge-case inputs, and boundary values generated on demand — including the weird ones (emoji, RTL text, 500-character surnames).

Accessibility auditing with AI

AI-assisted scans flag likely WCAG violations across a whole flow in minutes — then I verify each one by hand with a keyboard and a screen reader.

// analysis & evaluation

Smarter bug triage

AI-assisted duplicate detection, log analysis, and first-pass root-cause hints — turning a wall of crash reports into an actionable, prioritized list.

Evaluating LLM & chatbot output

Structured evaluation of AI responses: accuracy, hallucinations, tone, safety, and consistency — with scoring rubrics instead of gut feeling.

// AI drafts. Humans decide. Every AI-assisted result gets verified by an experienced set of eyes — mine.

suite/qa_vs_dev ✓ ongoing

"It works on my machine."

The classic developer–QA rivalry — friendly, funny, and just spicy enough to keep us both honest.

dev"It works on my machine."
qa"Love that machine. Can we just ship it instead?"
dev"That's not a bug, it's a feature."
qa"A feature nobody asked for — walk me through it?"
dev"That'll never happen in production."
qa"Ha — good thing we caught it together first."
dev"I already tested it."
qa"Nice, let's just double-check the edge cases too."
dev"Can you just retest this one thing?"
qa"On it — and the forty things it's connected to."

// we ship better together than either of us would alone.

suite/testimonials ✓ verified

What clients actually say.

Pulled straight from completed Upwork contracts — client names withheld, words untouched.

★★★★★
// on growing into leadership

"In 5 years, Sanaullah started as a QA tester and climbed to the position of Lead QA, further touching the summit as a Product Manager — invaluable in running smoke and regression tests on a tight deadline, with a keen eye for UI quality and user experience."

Verified client · 5-year engagement
★★★★★
// on bug reports

"Sanaullah was great at finding bugs, reproducing them and documenting them thoroughly via video and text. He's a really good writer too, and this was super helpful for the team."

Verified Upwork client
★★★★★
// on long-term reliability

"San has been a valuable member of our team for over 4 years. He adapted to many changes within our organization, moving effortlessly between teams and learning new skills along the way."

Verified client · 4-year engagement
★★★★★
// on being critical to the team

"I run a medium sized, senior level team of engineers, and San has been an absolutely critical part of that for the last 2 years. He's professional, reliable, speaks excellent English. Highly recommended — one of the best."

Verified client · 2-year engagement
★★★★★
// on initiative

"Very professional, diligent, and experienced. I did not have to tell him what I needed done — he came to me with a gameplan, which was brilliant."

Verified Upwork client
★★★★★
// on independent exploratory testing

"With minimum guidance, picked up and performed extensive exploratory testing of two web applications — filed clear and reproducible issues and was prompt in verifying fixes."

Verified Upwork client
★★★★★
// on going the extra mile

"Sanaullah helped test our new app on several platforms, and worked over the weekend so that we would get the feedback ready for Monday."

Verified Upwork client
★★★★★
// the short version

"San is one of the best among all the people I have ever worked with... intelligent, ambitious, energetic, and a proactive perfectionist. Working with San is a signature of success."

Verified Upwork client
suite/get_in_touch ✓ ready

Let's ship something users can trust.

Available for QA engagements — from a single release audit to leading quality for your whole product. I'm an Expert-Vetted QA professional, a distinction reserved for the top 1% of Upwork talent. Grab a slot on my calendar, or reach out by email or LinkedIn — whatever's easiest.

📅 Grab 15 Minutes