Версия: 1.0 Дата: 10 ноября 2025
- Shift-left: тесты запускаются локально и в CI на каждом PR.
- Треугольник тестирования: unit > integration > e2e.
- Автоматическая проверка доступности UI после каждого изменения.
- Данные тестов анонимизированы (без PII).
- Backend: pytest, pytest-asyncio, pytest-celery. Проверка API схем, in-memory repositories, Celery tasks (unit-level).
- Frontend: vitest + Testing Library, @testing-library/react. Проверка UI
атомов и хуков, Storybook stories содержат автоматические тесты через
@storybook/test-runner. - AI: unit tests на промпты (snapshot), deterministic fixtures, проверка fallback логики.
- Покрытие: ≥80% backend, ≥75% frontend, ≥70% scanners. Метрика фиксируется
Quality Gate в CI (
coverage.xml), build блокируется при падении ниже порогов.
- Docker Compose (PostgreSQL, Redis, RabbitMQ, MinIO, backend, scanner web).
- Проверяем ingest → Celery pipeline → db persistence.
- Mobile integration: Appium с mock APK, сиркулирует по CI device farm.
- Минимум один smoke тест на успешный и один на провалившийся скан.
- Web UI: Playwright (desktop + mobile viewport).
- Mobile pipeline: Appium (smoke tests) — nightly.
- CI workflows: GitHub Action dry-run.
- axe-core + pa11y на UI.
- Сравнение accessibility tree snapshots (jsondiff).
- Аудио сравнение (spectral/semantic similarity) — nightly.
E2E a11y checks (Playwright + axe-core):
docs/testing/a11y-e2e-playwright-axe.md
- k6 scripts для параллельных сканов (10/50/100 concurrent).
- Цели: очередь < 5 минут, API p95 < 500ms.
Load testing guide:
docs/testing/load-testing-k6.md
Parallel test execution:
docs/testing/parallel-test-execution.md
Test performance monitoring:
docs/testing/test-performance-monitoring.md
- SAST: bandit, semgrep, npm audit.
- DAST: OWASP ZAP (стейджинг) — еженедельно.
- Dependency scanning: trivy (containers), snyk (optional).
- Fixture проекты:
demo-web,demo-mobile. - Синтетические страницы в
tests/fixtures/web(WCAG violations intentionally). - Mobile APK/IPA mock builds в защищённом облаке (access via VPN).
lint(Python/TS, Playwright).test:unit(parallel matrix).test:integration(docker compose).test:e2e(conditionally, nightly full run, PR smoke subset).scan:security(daily schedule).
Artifacts: coverage reports, junit xml, accessibility snapshots.
- Любой
lint,unit,integration,e2e smokefailing → блок merge. - Nightly full e2e: failure → создаётся
type:bugissue, release freeze до фикса. - Security scan (
bandit,trivy) → high severity блокирует релиз.
- Retries: unit tests
--maxfail=1 --reruns 2(pytest-rerunfailures). - Playwright:
retries: 2, trace on failure. - Track flaky список в
tests/flaky.yaml(auto-generated).
- Staging regression suite (full e2e + accessibility + performance baseline).
- Production smoke post-deploy (healthcheck, sample scan).
make test— агрегированный запуск.- Nx targets:
nx run backend:test,nx run frontend:testи т.д. - Reports: Allure (optional), HTML coverage, PDF accessibility summary.
- QA Lead: управляет тестовым календарём, подписывает релизы.
- Dev Leads: отвечают за покрытие в своих областях (backend/frontend/AI/scanners).
- DevOps: поддержка CI сред, k6/perf пайплайны, хранение артефактов.
- Accessibility Specialist: еженедельный review Assistive Simulation output, ручной чек критичных findings.
- Еженедельный отчёт: состояние тестов, flaky список, открытые баги P0/P1.
docs/scripts/verify-api-examples.py(см. docs-smoke-tests.md) выполняет curl-запросы изapi-reference.mdна локальном dev окружении, проверяя статус 2xx/4xx и структуру ответа.nx run cli:smokeзапускает CLI примеры изcli-reference.mdв режиме dry-run (--dry-run), сверяет exit codes и форматы вывода.- Проверки запускаются в CI job
docs:smoke(по cron и перед релизами). Failure блокирует merge и требует обновления примеров или кода. - Документация обновляется вместе с кодом: PR должен включать обновление smoke тестов при изменении примеров.
- Automated comparison между версиями (delta report).
- Chaos testing для scan runners (node failures).
- Synthetic monitoring для API/SSE.
- Полная автоматизация проверки документации (подстановка версий, автогенерация примеров).
- Интеграция с BrowserStack Live для ручных accessibility сессий.