01 — hero

Michael R. Smith

QA Engineer | Python Developer | CompTIA A+ Certified

Automator. Collaborator. Explorer.

View Projects Contact Me
GitHub LinkedIn
02 — about

The Three Hats Every Great QA Wears

🤖

The Automator

I build frameworks that find bugs automatically, around the clock. Playwright, k6, Pact.js.

🤝

The Collaborator

I catch breaking changes before they reach staging. I build quality into every PR with contract tests and CI gates.

🔭

The Explorer

I find the bugs no automation will ever catch. Exploratory testing, edge cases, user empathy.

03 — projects

Featured QA Projects

Real frameworks, real CI gates, real bugs found.

🐛

Bug Hunter

Hybrid E2E Automation Framework

Full Playwright + TypeScript framework testing SauceDemo. Network throttling (Slow 3G), API response mocking (500 error stub), visual regression (screenshot diffs), and parallel race condition detection across 4 concurrent browser sessions. Found a real race condition bug: cart badge desync at 40% reproducibility.

Key Deliverable: Single command npm run test:ci runs everything headlessly and generates HTML report with screenshots/videos of failures.

Found Race Condition Bug (40% repro rate)
Playwright TypeScript GitHub Actions HTML Reporter
↳ View on GitHub
🔄

Shift-Left

Consumer-Driven Contract Testing + CI Quality Gates

Pact.js consumer-driven contract tests between a frontend consumer and JSONPlaceholder API. Catches breaking API changes (field renames, type changes) before they reach staging. ESLint with security plugin runs on every PR. 80% coverage threshold enforced in CI. PR template with "Has contract test been updated?" checkbox.

Key Deliverable: A PR where the contract test caught a backend field rename (email → emailAddress) instantly in CI — before it reached any environment.

Catches Breaking Changes Before Staging
Pact.js TypeScript ESLint Jest GitHub Actions
↳ View on GitHub
🔭

Explorer

Performance + Security + Accessibility

k6 load test simulating 100 concurrent users on a shopping cart flow with 5 threshold assertions (p95 < 500ms). Lighthouse CI audit for security headers, performance, and accessibility. axe-core WCAG 2.1 AA accessibility audit. Found 2 blockers: missing CSP header and inaccessible burger menu button. Exploratory charter documented 3 edge cases no automation would find — including a $0 empty cart checkout bug.

Key Deliverable: Single PDF "Production Readiness Report" with Red/Yellow/Green status for Functionality, Speed, Security, and UX.

Production Readiness Report: 2 Blockers Found
k6 axe-core Lighthouse CI Playwright GitHub Actions
↳ View on GitHub
04 — bug bounty

Bug Bounty Wall

Real defects found during manual and automated testing

Cart Badge Race Condition

App: SauceDemo (qa-bug-hunter)
HIGH

When 4 browser sessions simultaneously add the same item to cart, 1 session intermittently fails to update the badge. 40% reproducibility — non-deterministic, timing-dependent.

Steps to Reproduce
$ npm run test:race RC-001 exposes the issue
IMPACT: Cart abandonment — user thinks add failed, clicks again, ends up with duplicate items.

Empty Cart $0 Checkout Success

App: SauceDemo (qa-explorer exploratory session)
HIGH

A user can reach the order confirmation page with an empty cart. No guard exists. The system confirms a $0 order.

Steps to Reproduce
1. Login 2. Navigate directly to /cart.html with no items 3. Click Checkout 4. Fill form 5. Click Finish → order confirmed
IMPACT: Ghost orders in OMS, potential fraud surface in production apps with credit/discount logic.

Back Button Form State Desync

App: SauceDemo (qa-explorer exploratory session)
MEDIUM

During multi-step checkout, pressing browser Back and changing personal info values causes the Order Summary to reflect the ORIGINAL values — silently ignoring the update.

Steps to Reproduce
1. Add item → checkout 2. Fill form → Continue 3. Press Back → change name → Continue Summary shows old name
IMPACT: Orders shipped to wrong name. User has no indication their correction was ignored.
05 — skills

Technical QA Stack

Automation & Testing

Playwright TypeScript k6 Pact.js axe-core Lighthouse CI Selenium pytest Jest

Tools & CI/CD

GitHub Actions Docker ESLint Python Django REST APIs Linux Git HTML/CSS/JS
06 — contact

Let's Work Together

I'm actively seeking remote QA Engineer or Python Developer roles. I'm ready to contribute on day one.

msmith@smithdevlabs.com github.com/MSMITH71910 linkedin.com/in/michaelsmith-2b38b260 smithdevlabs.com