測試工具備份
🧪 功能概述
此目錄包含分析功能開發期間使用的測試工具和模擬數據生成器。這些工具在未來恢復毛利分析和需求預測功能時可能會很有用。
📁 檔案清單
模擬數據生成器
testAnalytics.ts- TypeScript 模擬數據生成工具- 生成 ABC 分析測試數據
- 生成滯銷品分析測試數據
- 生成庫存預警測試數據
- 生成毛利分析測試數據
測試腳本
test-analytics.js- Node.js 命令行測試腳本- 驗證模擬數據生成功能
- 展示各分析功能的數據結構
- 用於開發期間的功能驗證
🔧 使用方式
testAnalytics.ts
typescript
// 生成 ABC 分析測試數據
import { generateMockSalesData, calculateMockABCAnalysis } from './testAnalytics'
const salesData = generateMockSalesData()
const abcResults = calculateMockABCAnalysis(salesData)
// 生成滯銷品測試數據
const slowMovingData = generateMockSlowMovingData()
// 生成庫存預警測試數據
const stockAlerts = generateMockStockAlerts()
// 生成毛利分析測試數據
const profitabilityData = generateMockProfitabilityData()test-analytics.js
bash
# 在專案根目錄執行
node test-analytics.js📊 模擬數據特性
ABC 分析數據
- 產品數量: 10 個產品
- 數據分布: 符合帕累托原則 (80/20 法則)
- 類別分類: 智慧手機、筆記型電腦、平板電腦等
- 營收範圍: $100 - $100,000
滯銷品數據
- 產品數量: 變動 (3-8 個)
- 風險等級: critical, high, medium, low
- 天數範圍: 30-365 天
- 庫存週轉率: 0.1-2.0 次/月
庫存預警數據
- 預警類型: out_of_stock, low_stock, overstock, reorder_needed
- 嚴重程度: critical, warning, info
- 數量範圍: 0-100 件
- 預警數量: 5-15 個
毛利分析數據
- 毛利率範圍: 10%-60%
- 成本結構: 基於售價的 40%-90%
- 產品組合: 涵蓋高、中、低毛利產品
- 排序邏輯: 支援多維度排序
🎯 適用場景
開發階段
- 功能原型開發: 快速驗證分析邏輯
- 界面設計: 提供一致的測試數據
- 算法測試: 驗證分類和計算正確性
測試階段
- 單元測試: 為算法函數提供測試數據
- 集成測試: 模擬完整的數據流程
- 壓力測試: 生成大量數據測試效能
演示階段
- 功能展示: 向利益相關者展示功能
- 用戶培訓: 提供訓練用的示例數據
- 商業驗證: 驗證分析結果的商業價值
🔄 與真實數據的差異
優點
- 數據完整性: 沒有缺失值和異常值
- 分布合理: 符合商業邏輯的數據分布
- 即時可用: 不依賴資料庫和外部系統
限制
- 不反映真實業務: 無法發現實際數據的問題
- 缺乏複雜性: 真實數據會有更多變化和異常
- 時間特性: 缺乏真實的時間序列特徵
🚀 未來使用建議
開發新功能時
- 快速原型: 使用模擬數據快速驗證概念
- 算法開發: 先用模擬數據開發算法邏輯
- 界面設計: 確保界面能正確顯示各種數據情況
- 逐步替換: 開發完成後逐步替換為真實數據
測試策略
- 雙重驗證: 同時使用模擬數據和真實數據測試
- 邊界測試: 使用極端數據測試系統穩定性
- 回歸測試: 確保新功能不影響現有功能
📝 修改指引
擴展模擬數據
typescript
// 增加新的產品類別
const newProducts = [
{ name: '新產品', category: '新類別', baseRevenue: 50000 }
]
// 調整數據分布
const customDistribution = {
aRatio: 0.7, // A類產品營收佔比
bRatio: 0.2, // B類產品營收佔比
cRatio: 0.1 // C類產品營收佔比
}自定義分析參數
typescript
// 調整滯銷品判定條件
const customParams = {
minDaysSinceLastSale: 45, // 45天無銷售
maxInventoryTurnover: 1.5, // 最大週轉率
maxInventoryDays: 120 // 最大庫存天數
}⚠️ 注意事項
數據隱私
- 模擬數據不包含任何真實商業資訊
- 產品名稱和數據均為虛構
- 可以安全用於展示和培訓
版本控制
- 保持模擬數據的版本一致性
- 記錄數據結構的變更歷史
- 確保與真實數據結構的兼容性
效能考量
- 大量模擬數據可能影響效能
- 建議在生產環境中移除模擬數據邏輯
- 使用條件編譯區分開發和生產環境
備份日期: 2025-07-25
工具版本: v1.0
適用階段: 開發、測試、演示
維護狀態: 靜態備份,需要時可更新