intermediate
Синтетические тесты
Запускайте повторяемые lab-проверки страниц, API или flows, чтобы ловить регрессии до и после deploy.
Синтетические тесты — скриптовые проверки из контролируемого окружения (Lighthouse CI, Playwright timings, k6 smoke, uptime pings), чтобы ловить регрессии раньше пользователей. Они **повторяемы**, но могут не совпадать с реальными устройствами и сетями.
| Сценарий | Примеры инструментов | |----------|----------------------| | Бюджет web vitals | Lighthouse CI, SpeedCurve | | API latency smoke | k6, Artillery, cron + curl | | Критичный journey | Playwright с performance marks | | Deploy gate | Падение CI при превышении LCP budget |
performance.mark('start');
await page.goto('/checkout');
performance.measure('checkout-load', 'start');
Гоняйте synthetics на **staging, близком к production** (CDN, compression, SSR). Храните историю для diff сборок. Дополняйте, не заменяйте field data.
На интервью: lab vs field; причины flaky synthetic; что gate в CI vs только monitor; выбор географии synthetic.
Типовые ошибки: localhost без CDN; один прогон Lighthouse; игнор разброса между прогонами.
Компромисс — раннее обнаружение регрессий против поддержки реалистичного test env.
Чеклист:
- Бюджеты ключевых routes в CI.
- Несколько прогонов; медианы.
- Production-like caching и CDN.
- Валидация через RUM.