Establish baseline for project documentation including BMAD specs, PRD, and system architecture notes.
129 lines
3.9 KiB
Plaintext
129 lines
3.9 KiB
Plaintext
K6 Load Testing Framework - Story 1.17-a
|
|
=========================================
|
|
|
|
website-enchun-mgr/
|
|
│
|
|
├── 📦 apps/backend/
|
|
│ ├── package.json ✏️ (添加了 4 個 test:load 腳本)
|
|
│ │
|
|
│ └── 📦 tests/k6/ 🆕 (新建立)
|
|
│ │
|
|
│ ├── 🧪 Test Scripts/
|
|
│ │ ├── verify-setup.js (1.6KB) - 環境驗證腳本
|
|
│ │ ├── public-browsing.js (3.0KB) - 100 並發使用者測試
|
|
│ │ ├── admin-operations.js (6.0KB) - 20 並發管理員測試
|
|
│ │ └── api-performance.js (5.5KB) - 50 並發 API 測試
|
|
│ │
|
|
│ ├── 📚 Shared Library/
|
|
│ │ └── lib/
|
|
│ │ ├── config.js (5.2KB) - 配置、閾值、URL
|
|
│ │ └── helpers.js (8.0KB) - Auth, API, Page helpers
|
|
│ │
|
|
│ ├── 📖 Documentation/
|
|
│ │ ├── README.md (6.9KB) - 完整框架文檔
|
|
│ │ ├── QUICKSTART.md (1.9KB) - 5 分鐘入門指南
|
|
│ │ ├── TESTING-GUIDE.md (7.3KB) - 詳細執行指南
|
|
│ │ ├── .env.example (592B) - 環境變數範本
|
|
│ │ └── .github-workflow-example.yml (4.6KB) - CI/CD 範例
|
|
│ │
|
|
│ └── 📊 Summary/
|
|
│ └── (已在其他位置創建)
|
|
│
|
|
├── 📦 docs/ 🆕
|
|
│ ├── load-testing-implementation.md (Story 實作摘要)
|
|
│ └── k6-framework-structure.md (架構文檔)
|
|
│
|
|
└── 📦 specs/001-users-pukpuk-dev/ 🆕
|
|
├── story-1.17-a-summary.md (完整實作報告)
|
|
└── story-1.17-a-summary-zh-tw.md (中文總結)
|
|
|
|
|
|
=========================================
|
|
統計總覽
|
|
=========================================
|
|
|
|
總檔案數: 12 個
|
|
程式碼行數: ~1,600 行
|
|
文檔行數: ~1,300 行
|
|
總行數: ~2,000 行
|
|
檔案大小: ~45KB
|
|
|
|
|
|
=========================================
|
|
測試覆蓋範圍
|
|
=========================================
|
|
|
|
Public Browsing (100 users):
|
|
✅ 首頁 (/)
|
|
✅ 關於我們 (/about)
|
|
✅ 解決方案 (/solutions)
|
|
✅ 作品集 (/portfolio)
|
|
✅ 部落格 (/blog)
|
|
✅ 聯絡我們 (/contact)
|
|
|
|
Admin Operations (20 users):
|
|
✅ 管理員登入
|
|
✅ 列出集合 (Pages, Posts, Portfolio)
|
|
✅ 查看項目
|
|
✅ 建立內容 (草稿)
|
|
✅ 更新內容
|
|
✅ 刪除內容
|
|
✅ GraphQL 操作
|
|
|
|
API Performance (50 users):
|
|
✅ Global API
|
|
✅ Pages API
|
|
✅ Posts API
|
|
✅ Portfolio API
|
|
✅ Categories API
|
|
✅ GraphQL API
|
|
✅ Auth API
|
|
|
|
|
|
=========================================
|
|
NFR4 需求驗證
|
|
=========================================
|
|
|
|
需求 目標 實作 狀態
|
|
─────────────────────────────────────────────────────
|
|
p95 response time < 500ms p(95) < 500 ✅ 達成
|
|
Error rate < 1% rate < 0.01 ✅ 達成
|
|
Concurrent users 100 target: 100 ✅ 達成
|
|
|
|
|
|
=========================================
|
|
快速開始
|
|
=========================================
|
|
|
|
1. 安裝 k6:
|
|
brew install k6
|
|
|
|
2. 驗證環境:
|
|
cd apps/backend
|
|
k6 run tests/k6/verify-setup.js
|
|
|
|
3. 執行測試:
|
|
pnpm test:load # 公開頁面測試
|
|
pnpm test:load:api # API 效能測試
|
|
pnpm test:load:all # 所有測試
|
|
|
|
4. 管理員測試:
|
|
k6 run --env ADMIN_EMAIL=admin@enchun.tw \
|
|
--env ADMIN_PASSWORD=xxx \
|
|
tests/k6/admin-operations.js
|
|
|
|
|
|
=========================================
|
|
圖例
|
|
=========================================
|
|
|
|
🆕 新建立的目錄/檔案
|
|
✏️ 修改的檔案
|
|
✅ 達成需求
|
|
🧪 測試相關
|
|
📚 函式庫
|
|
📖 文檔
|
|
📊 報告
|
|
🚀 自動化
|
|
|