EN·ES·PT
JTjason.teixeira() Docs
services Book a call →
Home / Docs / What I build / Test automation & CI
What I build

Test automation & CI

A regression suite a release manager can trust — coverage decided by risk, evidence on every failure, and a green gate that actually means something.

#What I build

E2E test automation

Playwright or Cypress with Page Object Model, fixtures, trace-on-retry, and four reporters.

CI/CD pipeline + wiring

Parallelized runs, artifact retention, required checks — a green badge that means something.

Flake stabilization

Quarantine lane, retry policy, isolation fixes, weekly triage — red becomes a real signal again.

Mobile real-device cert

End-to-end certification on real devices — the flows a simulator lies about.

Performance baselines

k6 load baselines on the critical path, with budgets wired into CI.

Accessibility audits

WCAG 2.2: keyboard, screen-reader semantics, contrast, reduced-motion — with a prioritized fix list.

#The discipline

Coverage follows a risk model, not whoever wrote tests last. Every failure ships with a trace and screenshot, so triage is reading evidence, not a scavenger hunt. And flake is treated as a first-class bug — because when red is noise, the team learns to ignore it, and the real regression sails through.

Trace-on-retry and artifacts are the default, not an afterthought — so a CI failure comes with everything you need to debug it:

playwright.config.ts
export default defineConfig({
  retries: process.env.CI ? 2 : 0,
  use: { trace: "on-first-retry", screenshot: "only-on-failure" },
  reporter: [["html"], ["junit", { outputFile: "results.xml" }], ["list"]],
  projects: [ { name: "desktop" }, { name: "mobile" } ],
});
Proven in public: a 37/37, zero-flake suite in CI with evidence in the repo, and a live client suite taken from 10% flake to under 1%. See the case studies.
Releases breaking?
Book a call and we’ll scope the suite that stops it.
Book a call →
© 2026 Jason Teixeira · Sage Ideas LLC · Documentation home