4.2Building a QA Portfolio on GitHub
What to Include
Your GitHub profile should demonstrate four things: you can write clean automation code, you understand test architecture, you think about the full testing lifecycle (not just writing tests), and you follow engineering best practices.
Project 1: Test Automation Framework (Core Showcase)
This is your flagship project. Build a complete test automation framework for a publicly available application (do not use a real employer's code).
Recommended target applications for portfolio projects:
- The Playwright test practice site (demo.playwright.dev/todomvc)
- Sauce Labs demo app (saucedemo.com)
- Automation Exercise (automationexercise.com)
- Any open-source web application you can run locally
What the framework should include:
qa-portfolio-framework/
README.md # Setup, architecture, run instructions
.github/
workflows/
ci.yml # GitHub Actions pipeline
src/
pages/ # Page Object Models
login.page.ts
dashboard.page.ts
cart.page.ts
fixtures/ # Test fixtures and setup utilities
auth.fixture.ts
test-data.factory.ts
utils/ # Shared utilities
api-client.ts
assertions.ts
tests/
ui/ # Browser-based tests
login.spec.ts
checkout.spec.ts
api/ # API tests
users.spec.ts
products.spec.ts
visual/ # Visual regression tests
homepage.visual.spec.ts
playwright.config.ts # Configuration with multiple projects
package.json
Key elements that impress reviewers:
| Element | Why It Matters |
|---|---|
| Multiple test types (UI, API, visual) | Shows breadth beyond "I can click buttons" |
| Page Object pattern with clean separation | Shows you understand maintainable architecture |
| Test data factory | Shows you think about data management, not just test steps |
| Meaningful test names | Shows you write tests as specifications, not scripts |
| CI pipeline that actually passes | Shows the framework works end-to-end |
| Environment configuration | Shows you think about running in different contexts |
Project 2: API Test Suite
A standalone API test project demonstrates your ability to test services independently of the UI. Use a public API (GitHub API, Spotify API, or a mock API).
What to demonstrate:
- Request/response validation with schema checks
- Authentication handling (token refresh, error cases)
- Data-driven tests using parameterization
- Error response validation (4xx, 5xx codes)
- Response time assertions (basic performance checks)
- Contract testing concepts (Chapter 4)
Project 3: CI/CD Pipeline Configuration
A project focused on pipeline design shows you think about testing as part of the delivery process, not a standalone activity.
What to include:
- Multi-stage pipeline: lint, unit test, integration test, browser test, deploy
- Test parallelization (matrix strategy or sharding)
- Artifact storage for test reports and screenshots
- Failure notification (Slack webhook or email)
- Cache configuration for faster builds
- Environment-specific test execution
Example GitHub Actions configuration:
name: Test Pipeline
on: [push, pull_request]
jobs:
lint-and-unit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 24
cache: 'npm'
- run: npm ci
- run: npm run lint
- run: npm run test:unit
browser-tests:
needs: lint-and-unit
runs-on: ubuntu-latest
strategy:
matrix:
shard: [1, 2, 3, 4]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 24
cache: 'npm'
- run: npm ci
- run: npx playwright install --with-deps
- run: npx playwright test --shard=${{ matrix.shard }}/4
- uses: actions/upload-artifact@v4
if: failure()
with:
name: test-results-${{ matrix.shard }}
path: test-results/
Project 4 (Optional): Performance Test Scripts
If you have experience with performance testing (Chapter 5), a k6 or Locust project shows a specialized skill that most QA candidates cannot demonstrate.
Project 5: LLM Evaluation Suite
As of mid-2026, QA and SDET postings at AI-forward companies explicitly ask for LLM evaluation and agent-testing skills, so this project is no longer a niche extra. Build a small Python + PyTest project that evaluates an LLM-powered feature: an eval suite using a framework like Ragas, TruLens, or OpenAI Evals, with RAG quality metrics (Precision@K, grounding, citation accuracy) asserted against thresholds. Even a modest version demonstrates a competency most candidates still cannot show.