GymBeam · QA Automation

E-commerce Test Coverage Map

Čo je pokryté automatizovanými testami, čo len čiastočne a čo vôbec — naprieč celým customer journey GymBeam platformy. Menovateľ je celý projekt (featury z reálneho kódu), nie len existujúce testy.

289 featur platformy 191 spec súborov (176 staging · 4 prod · 11 wip) Zdroje: codebase · Jira (500 bugov/6 mes.) · DB (382 433 obj./30 dní) · comparable platforms stable pass · 0 fail/flaky/skip · prod-safety hardened · 2026-07-11
Plne otestované Čiastočne Netestované 🔒 = prod-safe (read-only) · 👤 = customer-facing

Coverage matica

Klikni na štádium pre rozbalenie featur a konkrétnych testov. Riadky s červeným pruhom = kritická diera.

Čo treba spraviť — prioritizované medzery (len testovateľné z našej strany)

Zoradené podľa rizika (revenue · compliance · dátová integrita), vážené reálnym produkčným objemom a históriou incidentov z Jiry. Aktualizované 2026-07-12 — graduovali na full a boli odstránené: Omnibus L30D · Wishlist · Quick-order (EAN) · pickup-point dostupnosť · review submission.

Reálna produkčná prevádzka

30-dňové dáta z produkčnej read-replicy (382 433 objednávok) — čím väčší tok, tým bolestivejšia je tam diera.

Top spôsoby dopravy

objednávky / 30 dní

Top platobné metódy

objednávky / 30 dní

Repozitár — ako to funguje a čo je hotové

Playwright/TypeScript suita pre headless Magento storefront GymBeam. Zlúčená z dvoch repozitárov, s prísnym env-gatingom a prod-safety guardmi.

Ako to funguje

  • Headless Magento 2.4.7 — React frontend je samostatný repozitár; testy idú cez GraphQL / REST / SSR HTML (Playwright + TypeScript), nie cez FE.
  • Zlúčené 2 suitystorefront-e2e-tests (GitLab, agentická báza) + gymbeam-playwright (Bitbucket) → vetva task/merge-gymbeam-playwright, lokálne fast-forward do main (nepushnuté).
  • Env-gating (PROJECT_ENV_MAP): tests/staging len na stagingu · tests/prod len na prode · tests/wip nikdy (zaparkované). Projekty: setup · smoke · api · regression · payments · b2b · prod-readonly · wip.
  • Prod-safety — na prode read-only guard (aboruje každý write/mutáciu), na ne-prode host guard (staging beh nikdy nesiahne na gymbeam.sk), + 2 CI lint gaty + hermetický guard-selftest. PDP sample je env-scoped + relativizovaný, aby staging nikdy nenavštívil prod URL.
  • Behynpm run test:all (staging), test:prod, test:bugfix. Config retries 2/3; výsledok sa vždy vyhodnocuje per-title dedupom naprieč behmi, nie nafúknutými koncovými číslami.

Čo je hotové

  • Reštruktúra na prod / staging{api,e2e} / wip s env-gatingom — 0 presakovania medzi prostrediami (overené --list na každom env).
  • Stable pass — staging suita 0 consistent-fail / 0 flaky / 0 skip naprieč behmi (per-title dedup). Flaky opravené web-first waitmi + transient-resilient GraphQL klientmi (retry len 5xx/HTML-error, nie 200-with-errors).
  • Skipy 5→0 — 4 API specy zdeterministické (self-discovery/seed namiesto skipu), PayPal (externá hosted brána) presunutý do wip.
  • Prod-safety hardening — read-only guard + API-context guard + non-prod host guard + APQ/strict fail-closed; živý prod beh potvrdený 0 writes (network capture z trace).
  • Coverage matica (hore) — 289 featur celého projektu zmapovaných na testy; menovateľ = kód, nie len existujúce testy. 0 dangling odkazov.
  • Prod healthcheck — 4 read-only prod specy (availability · catalog-integrity · SEO · guard-selftest), ~13 requestov/beh, 0 writes.
191 spec súborov · 176 staging · 4 prod · 11 wip

Roadmap — monitoring & rozšírenie

Ako repo hlási problémy a kam rastie. Monitoring je postavený; rozšírenie suít je prioritizované podľa coverage matice vyššie.

Monitoring & reporting LIVE

  • Dva nezávislé denné systémy (bežia samostatne): Voldy openclaw cron --grep @critical proti prode → Slack C07MC1YHA74 (+ upload artefaktov); náš GitLab schedule daily:prod + daily:staging#playwright-reporting-prod / -staging. Obidva prod kryjú read-only.
  • Farebný súhrn KAŽDÝ beh (report.mjs --digest) — ✅ green / ⚠️ amber (flaky-heal) / 🚨 red (consistent-fail · prod fail · prod-write / host guard violation · run sa nespustil). Red navyše sfarbí pipeline (fail-closed). Per-env routing: SLACK_WEBHOOK_URL_PROD (incident) vs SLACK_WEBHOOK_URL_STAGING (tímový), shared SLACK_WEBHOOK_URL fallback.
  • GitLab schedulebeží (03:00 SK, vetva main). Scheduled beh je lean: spustí len daily:prod + daily:staging (nie lint/test/pages). Self-hosted alternatíva: daily-suite.sh cron.
  • Dead-man (deadman-check.mjs) — alert ak denný beh ticho prestane bežať; na GitLabe navyše „Last Pipeline" v Schedules.
ostáva · len Voldyho openclaw runner: doplniť TEST_ENV=prod (Adam) — dovtedy je Voldy blocked, náš GitLab prod aj tak kryje

Rozšírenie suít data-driven

Roadmap nižšie je generovaná priamo z matice — každá položka je feature s prod_test_plan / staging_test_plan; klik skočí na feature v zozname vyššie, takže roadmap a features sa nemôžu rozísť.

Guardrail · nový staging spec = navigácia relatívne (lint blokuje prod host) · nový prod spec = read-only + @prod-safe (lint + guard) · maticu držať aktuálnu

🔒 Prod run roadmap

Read-only monitory pre nočný prod beh — z features s prod_test_plan. Klik = skok na feature.

🧪 Staging roadmap

Plánované staging testy pre netestované features — z staging_test_plan. Klik = skok na feature.