Skip to content
PПромтбук
RUEN
01Аудит

Полный функциональный QA: end-to-end за один проход

Orchestrator: 8 фаз QA-аудита продукта за один проход — smoke → console → routes → matrix → forms → cross-browser → error/permissions → data integrity. Pre-release-checklist для зрелого продукта.

Orchestrator-промт: пройти полный QA-цикл по продукту за 8 фаз. Не «прокликать пять страниц», а структурированный pass через каждый класс багов: runtime errors, broken navigation, regression, edge cases, cross-browser quirks, error UX, security, race conditions.

Каждая фаза опирается на свой специализированный промт. Если ты делал только этот один — ты прошёл pre-release checklist уровня enterprise.

Product: {{product_url}} Context: {{release_context}} Team: {{team_size}}

Когда применять

  • Pre-major-release — за неделю до запуска ключевой фичи
  • Quarterly — раз в квартал, чтобы не накапливать silent regressions
  • Post-incident — после серьёзного prod-инцидента, для исключения связанных багов
  • Pre-investment / pre-acquisition — внешний due diligence продукта
  • Pre-public-launch — перед HN / Product Hunt / press release

Когда НЕ применять:

  • На каждый PR — overhead огромный, используй CI + smoke
  • На MVP до PMF — функций мало, ROI низкий
  • Только из принципа «надо тестировать» — без конкретного release-context

8 фаз

Phase 1: Smoke (день 1, утро — 30 мин)

Цель: убедиться что базовое работает; если 500 — rollback до того как пойти в deep audit.

Действия:

  • Health endpoint + main URL → 200
  • Top-10 URLs → 200 / правильные status codes
  • Console на главной странице чисто
  • Critical flow (signup / search / checkout) проходит до конца
  • Mobile spot-check (iPhone viewport)

Output: smoke-report (pass/fail per URL) + видео critical flow. Done when: ничего критического не сломано, можно продолжать.

Использовать: post-deploy-smoke-plan.

Цель: поймать silent runtime errors и broken links.

Действия:

  • Console errors sweep по 15-20 ключевым страницам с categorisation (critical / serious / warning / noise / hidden)
  • Linkinator / lychee на полный сайт
  • Sitemap consistency check
  • Favicon / OG / Twitter card images — 200?

Output: console-журнал + broken-links отчёт + priorities (что чинить before next phase). Done when: 0 critical console errors на ключевых страницах, 0 broken internal links.

Использовать: console-errors-sweep, broken-links-and-404-sweep.

Phase 3: Routes + hydration (день 2 — половина дня)

Цель: переходы между страницами без flash / scroll-jump / hydration mismatch.

Действия:

  • 15-20 transitions с DevTools Performance recording
  • 8 классов проблем: layout-shift, scroll-jump, flash-of-old, flash-of-empty, stale-data, two-headers, prefetch-waste, history-hell
  • Hydration audit: топ-10 причин mismatch (Date.now, Math.random, localStorage, window, locale, third-party scripts, conditional render, invalid HTML, CSS-in-JS, serialisation)
  • Performance budgets: transition <100ms, LCP <2s, CLS <0.1

Output: transition map + hydration warning count (target 0). Done when: 0 hydration warnings на critical pages, transitions feel smooth (no perceived flash).

Использовать: route-transition-audit, hydration-mismatch-audit.

Phase 4: Functional regression matrix (день 2-3 — день+)

Цель: exhaustive inventory всех функций + matrix статусов по browser/device.

Действия:

  • Inventory 80-200 функций по 6 категориям: navigation, per-page interactions, cross-cutting, auth, notifications, async
  • Matrix per Browser (Chrome/Safari/Firefox) × Device (Desktop/Mobile) × Auth (logged-out/in)
  • Tier 1/2/3 priority assignment
  • Round 1: full pass (snapshot, не fix)
  • Round 2: drill into fails (repro steps, screenshots, видео)

Output: filled matrix + top-10 critical fails as issues + automation roadmap для Tier 1. Done when: matrix покрывает ≥90% Tier 1 функций, fails записаны как issues.

Использовать: functional-regression-matrix.

Phase 5: Forms + cross-browser (день 4 — половина дня)

Цель: глубокая проверка форм (самый частый источник тихих багов) + cross-browser совместимость.

Действия:

  • Каждая форма через 14 чек-пунктов: validation (4) + input behaviour (4) + state management (3) + errors (2) + a11y (1)
  • Paste / autofill / autocomplete / multi-step / mobile keyboard
  • Cross-browser pass: Safari (desktop + iOS), Firefox, Chrome, Samsung Internet, WebView (in-app browsers)
  • 30 quirks check: backdrop-filter, 100vh on iOS, gap on flex, font rendering, polyfill audit

Output: form × 14-check matrix + browser × critical-flow matrix + polyfill audit. Done when: всех формы pass на Chrome/Safari/Firefox; нет blocking cross-browser багов.

Использовать: forms-input-audit, cross-browser-compat-audit.

Phase 6: Error states + permissions (день 5 — половина дня)

Цель: UI при failure modes + security/permission boundaries.

Error states

  • 10 состояний × 10-20 routes matrix: loading / empty / validation / 5xx / network / timeout / 403 / 404 / 401 / 429
  • Triggers через DevTools: Block request, Slow 3G, Offline, Clear storage
  • UI quality bar: context + что-делать + не пугать + сохранять-state + a11y + дать выход

Permissions

  • Auth-states (anonymous, unverified, free, paid, admin, suspended, revoked, expired session, 2FA)
  • Resource × State matrix per sensitive route
  • IDOR test (изменить ID в URL/API call)
  • Privilege escalation attempts
  • Tenant isolation (если multi-tenant)
  • Pre-flight security checklist: CORS, CSP, HSTS, HttpOnly cookies, rate limits

Output: error-state matrix + permissions matrix + security findings ranked. Done when: 0 data-leak findings; все critical error states implemented с retry.

Использовать: error-states-and-fallback-audit, permissions-boundary-audit.

Phase 7: Data + state integrity (день 6 — половина дня)

Цель: ловить «иногда работает» — race conditions, stale cache, multi-tab, retry storms.

Действия:

  • 10 классов state-багов:
    1. Double-submit (button disabled during request)
    2. Optimistic revert (block API, verify UI rolls back)
    3. Stale data after mutation
    4. localStorage version mismatch
    5. Browser back/forward state
    6. Multi-tab sync
    7. Retry storm (exponential backoff, circuit breaker)
    8. Concurrent mutations (write skew, ETag/version)
    9. Timer/interval cleanup (memory leaks)
    10. Pagination/infinite scroll state preservation
  • Apply patterns: AbortController, debounce+last-only, optimistic+rollback, BroadcastChannel, versioned-localStorage

Output: state-integrity report + monitoring plan (что добавить в Sentry/DataDog для surfacing race conditions). Done when: каждый primary mutation проходит 10 классов без known issues.

Использовать: data-and-state-integrity-audit.

Phase 8: Automation handoff (день 7 — половина дня)

Цель: перевести Tier 1 matrix в automated tests чтобы не делать manual каждый release.

Действия:

  • E2E plan для 5-7 critical flows: signup, login, search, primary user action, checkout, settings update, password recovery
  • Playwright config: retries, parallelism, timeouts
  • Mocking strategy: payment, email, OAuth, external APIs
  • Anti-flakiness: stable selectors, network routing, fonts.ready, prefers-reduced-motion override
  • CI integration: GitHub Actions workflow, run on every PR
  • Visual regression (Percy / Chromatic / Argos) на критические экраны

Output: working Playwright suite + CI workflow + visual regression baseline. Done when: full E2E suite runs <5 минут, flakiness <1%.

Использовать: critical-flow-e2e-plan.

Контракт между фазами

Каждая фаза должна closeться прежде чем начать следующую:

  • 1 → 2: smoke clean, не катимся в deep audit на rolled-back product
  • 2 → 3: 0 critical console errors на ключевых страницах, чтобы не путать с hydration
  • 3 → 4: routes / hydration починены, чтобы matrix не ловил «вторичные» fails из этого
  • 4 → 5: matrix дал список реальных fails — формы и cross-browser углубляют его
  • 5 → 6: формы и cross-browser проверены, чтобы error-state и permissions не маскировались косвенными багами
  • 6 → 7: error states и permissions работают на правильных контекстах
  • 7 → 8: state integrity протестирован manually — теперь automate Tier 1

Если предыдущая фаза не closed — не начинай следующую. Иначе на phase 8 ты будешь автоматизировать тесты которые проверяют уже сломанное поведение.

Anti-patterns

  • ❌ Запускать phase 4 (matrix) первым — большая часть fails окажутся вторичными из phase 3 (hydration / route transition)
  • ❌ Solo run за выходные — выгораешь, пропускаешь невидимые detail; better один-два дня phase-by-phase
  • ❌ Без видео-записи для fails — repro займёт вдвое больше времени
  • ❌ Тестировать только на dev / staging — prod-окружение отличается (env vars, CDN, real users)
  • ❌ Запускать после deploy — нужно до в QA-staging environment
  • ❌ Phase 8 first («давайте сразу автоматизируем») — automating тесты на сломанные функции = automated проход через bugs
  • ❌ Каждая фаза = новый person — теряется context между; better один tracker per phase
  • ❌ Quarterly но без incident handling — между quarterly auditами что-то ломается тихо

Tech stack рекомендации

  • Testing matrix: Google Sheets / Notion DB / TestRail (для команд >10)
  • Cross-browser: BrowserStack / Sauce Labs / Lambdatest или real devices on desk
  • Automated E2E: Playwright (default в 2025+)
  • Visual regression: Chromatic / Percy / Argos (на каждый PR)
  • Monitoring (post-deploy): Sentry для runtime errors, LogRocket / Hotjar для session replay
  • Performance gates: Lighthouse CI на каждый PR, fail если CWV regress
  • Security: OWASP ZAP automated, Burp Suite manual, quarterly external pen-test

Output

Финальный артефакт — QA_RELEASE_REPORT.md с разделами:

  1. Phase 1: Smoke — pass/fail per URL + video critical flow
  2. Phase 2: Console + Links — console-журнал + broken-links отчёт
  3. Phase 3: Routes + Hydration — transition map + hydration count
  4. Phase 4: Matrix — filled matrix + top-10 critical fails
  5. Phase 5: Forms + Cross-browser — 14-check matrix + browser-quirks list
  6. Phase 6: Errors + Permissions — error-state matrix + security findings
  7. Phase 7: Data integrity — 10-class status per mutation
  8. Phase 8: Automation — Playwright suite link + CI badge

Плюс:

  • Release decision: ship / hotfix / rollback с обоснованием
  • Top 20 bugs в приоритете для следующей PR
  • Backlog: что отложено + почему + когда вернуться

Цель не «продукт без багов» (такого не бывает), а «продукт без unknown багов уровня blocker». Этот orchestrator — система которая отделяет known issues от silent regressions.

К подразделу «Аудит»
Похожие промты