docs: separate documentation and specs into initial commit
Establish baseline for project documentation including BMAD specs, PRD, and system architecture notes.
This commit is contained in:
128
specs/001-users-pukpuk-dev/k6-framework-tree.txt
Normal file
128
specs/001-users-pukpuk-dev/k6-framework-tree.txt
Normal file
@@ -0,0 +1,128 @@
|
||||
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
|
||||
|
||||
|
||||
=========================================
|
||||
圖例
|
||||
=========================================
|
||||
|
||||
🆕 新建立的目錄/檔案
|
||||
✏️ 修改的檔案
|
||||
✅ 達成需求
|
||||
🧪 測試相關
|
||||
📚 函式庫
|
||||
📖 文檔
|
||||
📊 報告
|
||||
🚀 自動化
|
||||
|
||||
Reference in New Issue
Block a user