QA Lab

A living test environment for automation framework design, tool evaluation, AI-driven development, and DevOps experimentation.

Live
Evolving Product
PMI
Compliant Documentation
AI
Driven Development
Open
Roadmap & Backlog
Open Lab →

About the Lab

The QA Lab is my personal sandbox for hands-on experimentation with automation frameworks, testing tools, CI/CD pipelines, and AI-assisted development practices. Three core pillars drive the work:

Frameworks & Tool Evaluation

Architect and prototype test automation frameworks across different stacks — Playwright, Selenium, Cypress, and AI self-healing tools like Testim and Mabl. Benchmark tools against real UI elements to produce evidence-based selection recommendations grounded in hands-on experience, not vendor docs.

Playwright Selenium Cypress Testim / Mabl Applitools Eyes Page Object Model

AI-Driven Development

Explore and refine AI-assisted workflows for test generation, code review, and coverage analysis. Polish prompt engineering techniques for QA use cases using GitHub Copilot, Claude, and emerging AI tooling. Measure actual output quality — AI earns its place the same way any QA instrument does.

GitHub Copilot Claude (Anthropic) AI Test Generation Prompt Engineering

DevOps & CI/CD

Build and iterate on CI/CD pipeline quality integration patterns — quality gates, nightly regression pipelines, SAST/DAST toolchain integration, and observability hooks. Practice DevOps disciplines end-to-end using Azure DevOps, Jenkins, Docker, Snyk, and SonarQube.

Azure DevOps Jenkins Docker Snyk Quality Gates

Lab as a Product

The QA Lab is managed as a real software product with PMI-compliant project documentation, a living roadmap, and a structured backlog. This is intentional — it serves as a vehicle to practice and polish AI-driven development, DevOps disciplines, and iterative delivery in a low-risk environment before advocating for the same practices in enterprise settings.

Project Governance

  • Project Charter & Scope Definition
  • Requirements Traceability Matrix
  • Risk Register & Mitigation Plans
  • Change Log & Decision Records

Roadmap & Backlog

  • Feature Roadmap with quarterly themes
  • Prioritized improvement backlog
  • Definition of Ready / Done for lab tasks
  • Sprint-style iteration cycles

AI-Driven Development

  • AI-generated test cases & scaffolding
  • Claude & Copilot-assisted code review
  • Prompt libraries for QA use cases
  • AI coverage gap analysis experiments

DevOps Practices

  • CI pipeline for automated lab test runs
  • Docker-based environment isolation
  • SAST/DAST tool chain experiments (Snyk, SonarQube)
  • DORA metrics tracking for the lab itself

What’s in the Lab

Lab As Is

The live UI testing surface — a comprehensive set of interactive elements (buttons, forms, tables, modals, sliders) designed as a real automation target. Use it to run framework experiments directly.

UI Elements Automation Target Live
Open Lab →

Documentation →

PMI-compliant project documentation: charter, test strategies, architecture decisions, traceability matrices, and framework guides — organized and versioned as a real product would be.

PMI Architecture Decisions Guides

View Docs →

Blog →

Write-ups on tools evaluated, experiments run, and lessons learned in the lab. Covers automation framework choices, AI tooling discoveries, and DevOps integration patterns.

Tool Reviews Experiments Lessons Learned

Read the Blog →

Cross-Stack Series

Five production-grade automation frameworks targeting this QA Lab — same UI surface, different stacks. Each is a standalone portfolio artefact with live CI/CD, published test reports, and full documentation. Built to enable evidence-based comparison, not vendor benchmarks.

STACK 1 OF 5 CI GREEN

Playwright + TypeScript + Allure

Reference stack. Typed fixtures with test.extend(), @step decorators, soft assertions, fullyParallel CI. Covers all 14 QA Lab sections including IFrames via frameLocator(). Runs cross-browser: Chromium, Firefox, WebKit.

Playwright 1.44 TypeScript 5 Allure Cross-browser
Project Library → GitHub →
STACK 2 OF 5 CI GREEN

Pytest + Python + Allure

Idiomatic Python stack. yield fixtures, conftest hierarchy, @pytest.mark.parametrize data-driven tests, pytest-xdist parallel execution, mypy strict typing, ruff linting. Allure report published to GitHub Pages.

pytest 8 Python 3.12 Allure xdist Parallel
Project Library → GitHub →
STACK 3 OF 5 CI GREEN

Selenium + Java + TestNG

Enterprise Java stack. Page Factory, ThreadLocal WebDriver parallel-safe, @DataProvider, ExtentReports with ITestListener, Checkstyle enforcement, Maven Surefire CI. Demonstrates the patterns expected in fintech and legacy enterprise environments.

Selenium 4 Java 17 TestNG ExtentReports
Project Library → GitHub →
STACK 4 OF 5 CI GREEN

Cypress + JavaScript + Mochawesome

Browser-native stack. cy.intercept() network stubbing, cy.session() auth caching, time-travel debugging, @smoke tag filtering via @cypress/grep. IFrame limitation documented as an engineering trade-off. Mochawesome report on GitHub Pages.

Cypress 13 JavaScript ES2022 Mochawesome cy.intercept()
Project Library → GitHub →
STACK 5 OF 5 CI GREEN

Playwright + C# + NUnit

Strongly-typed .NET stack. Identical Playwright engine as Stack 1, different language — a clean TS vs C# comparison. NUnit [TestCase] parametrization, async/await throughout, Playwright HTML Reporter on GitHub Pages.

Playwright C# C# 12 / .NET 8 NUnit HTML Reporter
Project Library → GitHub →