Testing
Automation, UI, API, and integration testing integrated into a reliability-first engineering workflow.
Implemented test infrastructure
Phase 2 adds runnable Playwright, Cypress, Vitest API checks, and AI-assisted CLI utilities. Production smoke is read-only (GET navigations only).
Local full suite
Playwright (desktop + mobile), Cypress journeys, API + integration checks. Starts Next dev server automatically for Playwright.
Production smoke (opt-in)
Read-only GET navigations against https://www.semefit.com. No form posts, no demo submissions, no destructive API calls.
Suites
Playwright
- Navigation & core pages
- Testing section + subpages
- LinkedIn absence (contact, footer, multiple routes)
- UI integrity (header, footer, main)
- Demo page shells (h1 + layout)
- Mobile + desktop viewports (local)
npm run test:playwright npm run test:playwright:prod
Cypress
- User journeys (home → demo → projects)
- Testing hub flow
- Footer consistency
- Contact / LinkedIn regression
- Specs: cypress/e2e/local/ and cypress/e2e/prod-smoke/
npm run test:cypress npm run test:cypress:prod
API (Vitest)
- Gateway GET /health (schema + latency ceiling)
- POST validation error path (local only)
npm run test:api npm run test:api:prod
Integration (Playwright)
- RAG demo error UI when gateway call fails (routed abort)
- Eval dashboard shell when runs API unavailable
npm run test:integration npm run test:integration:prod
AI-assisted workflow (CLI)
npm run testing:ai:suggestUses route inventory + OpenAI to emit tests/reports/ai-test-suggestions.md
npm run testing:ai:triagePipe failing test output; writes tests/reports/ai-triage-*.md
npm run testing:ai:gapStatic route vs spec scan; optional AI narrative in ai-gap-analysis.md
Requires OPENAI_API_KEY for suggest/triage/gap narrative. Outputs under tests/reports/ — always human-reviewed before acting.
Live production report
Nightly (05:00 UTC): job commits latest.json; /testing/reports loads it live from the repo. View Test reports.
Philosophy
Engineering discipline
Tests are treated as production code: maintainable, intentional, and tied to real risk.
Confidence before change
Local and CI checks establish a baseline so refactors and model updates ship with evidence.
Production-minded validation
Production smoke and staged checks complement deep regression suites.
AI-assisted workflows
LLMs support expansion and triage; human judgment keeps scope and assertions trustworthy.
This portfolio treats testing as part of applied AI engineering: reliable gateways, eval services, and RAG pipelines only matter if changes are validated systematically. The sections below describe how that validation is organized—what is implemented today and what is planned coverage for Phase 2.
Areas
Automation Testing
Smoke, regression, and critical workflows with confidence gating across the stack.
Playwright
Cross-browser UI coverage, tracing, and resilient selectors for the Next.js portfolio.
Cypress
E2E journeys, API interception, and fast feedback on user flows and demos.
UI Testing
Header, layout, responsive rendering, and route-level UI validation.
API Testing
Health, schema shape, errors, and consistency for gateway-backed AI services.
Integration Testing
Frontend through gateway to backend: end-to-end system behavior and fallbacks.
Production test report
Scheduled smoke results, pass rate, spec breakdown, and GitHub Actions link.
AI in the testing workflow
AI augments how tests are written and interpreted—it does not replace clear assertions or ownership of quality. High-level uses:
AI-assisted test expansion
Generate candidate cases and edge paths from specs and existing suites; review before merge.
Failure triage support
Summarize traces and logs to speed root-cause analysis when CI or smoke runs fail.
Gap analysis
Map untested routes and API surfaces against the architecture to prioritize backlog work.
Smoke check prioritization
Rank minimal must-pass checks for fast feedback on every change.
Test infrastructure and CI wiring land in Phase 2; this section documents intent and coverage design.
System architecture