← ClaudeAtlas

stress-test-setuplisted

Use after finishing product/requirements setup (e.g. via the pre-build-setup skill, if you have it), when project is a production web app, public API, or system with SLA/load requirements. Sets up k6 load tests (baseline, spike, soak) based on expected user volume from a PRD. Trigger when user says "stress test", "load test", "k6", "בדיקת עומס", or invoked automatically as a follow-up step from a pre-build-setup workflow. Skip for CLI tools, libraries, internal dashboards with <10 users, or POCs.
hiyabh/claude-skills · ★ 0 · Testing & QA · score 72
Install: claude install-skill hiyabh/claude-skills
# Stress Test Setup הפעל רק אחרי שלב תכנון מוצר/דרישות (למשל הסקיל `pre-build-setup`, אם קיים אצלך), ורק אם הפרויקט עומד באחד מהתנאים: - Web app / API עם משתמשים חיים - מערכת עם SLA לזמינות / latency - צפי עומס > 100 RPS או > 1000 משתמשים חודשיים - מוצר ייצור ציבורי אם לא — דלג על הסקיל. ## רצף ### שלב 1: שלוף מספרי עומס קרא `docs/PRD.md` סעיף 7 (אילוצים). חפש "משתמשים צפויים". אם לא מופיע — שאל: - RPS צפוי בשעת שיא? - Peak concurrent users? - יש SLA? (p95 latency, error rate, availability) ### שלב 2: Plan mode לסקלביליות לפני כתיבת k6, הפעל plan mode לענות על: - **Bottlenecks צפויים:** DB queries? External API? Compute? I/O? - **Graceful degradation:** איך האפליקציה נופלת בחן? circuit breakers? fallback values? - **Rate limiting:** על מה? (per IP, per user, per endpoint) - **Caching:** מה יכול להישמר? TTL? cache invalidation? שמור תשובות ב-`docs/scalability-plan.md`. ### שלב 3: צור תיקיית load tests ``` tests/load/ ├── baseline.js # עומס רגיל — שעת שיא ממוצעת ├── spike.js # זינוק פתאומי — x5 מהעומס הרגיל לדקה ├── soak.js # עומס ממושך — עומס רגיל במשך שעה+ (shake memory leaks) └── README.md # הוראות הרצה ``` ### שלב 4: k6 scripts templates **baseline.js:** ```javascript import http from 'k6/http'; import { check, sleep } from 'k6'; export const options = { stages: [ { duration: '2m', target: 50 }, // warm up { duration: '5m', target: 100 }, // peak { duration: '2m', target: 0 }, // cool down ], thresholds: { htt