1. 抽獎系統功能測試用例設計(登錄 + 每日3次 + 中獎40% + 道具兌換碼)
? 功能點分析
- 必須登錄后才能抽獎
- 每天最多抽獎3次
- 抽獎有 40% 概率中獎
- 中獎返回兌換碼
? 測試用例設計
編號 | 用例描述 | 前置條件 | 操作 | 預期結果 |
TC01 | 未登錄時抽獎 | 未登錄 | 請求抽獎接口 | 提示未登錄/權限不足 |
TC02 | 登錄后首次抽獎 | 登錄成功 | 第一次請求抽獎 | 正常返回抽獎結果 |
TC03 | 登錄后第4次抽獎 | 已抽3次 | 再次請求抽獎 | 提示抽獎次數已用盡 |
TC04 | 每天抽獎次數刷新 | 隔天 | 請求抽獎接口 | 抽獎次數重置,可繼續抽獎 |
TC05 | 抽中獎勵為兌換碼 | 登錄+中獎情況 | 請求抽獎接口 | 返回獎勵物品和兌換碼 |
TC06 | 抽獎不中獎 | 登錄+非中獎情況 | 請求抽獎接口 | 返回未中獎消息或普通反饋 |
2. 寶箱概率測試(無限鉆石,測試特定物品概率)
? 目標
驗證“某個物品”的掉落概率是否符合設定(例如:物品A 掉落率為5%)
? 測試方法
- 模擬調用寶箱接口大量次數,例如 100,000 次;
- 每次記錄返回的物品 ID 和數量;
- 對目標物品 A 統計實際出現次數;
- 實際概率 = 出現次數 / 總次數;
- 與設定概率進行誤差比較,設定允許 ±容差(如 0.5%)。
? 驗證標準
- 假設設定概率為 5%,實際統計值應落在
[4.5%, 5.5%]
區間; - 如超出范圍,說明概率控制存在問題(可能是實現 bug、隨機源問題、浮點誤差等)。
3. 十連抽機制測試(是否概率提升/保底)
? 情況分析
- 十連抽是否“每次獨立抽取”?
- 是否有“保底”機制(例如必出一個稀有)?
- 是否概率隨著次數改變(如前幾次低,后面提升)?
? 測試策略
- 執行大量十連抽(每次模擬10次),統計每次稀有物品掉落數量;
- 與單抽結果對比:
-
- 若每次十連抽 ≈ 單抽 * 10 → 說明為獨立抽取;
- 若十連抽中獎概率更高 → 說明有額外加成;
- 檢查保底機制:
-
- 若每次十連抽都至少出現1個稀有,可能存在保底;
- 連續多次未出現則說明無保底。
? 驗證結果
根據統計頻率和結果判斷設計邏輯是否符合預期,如非獨立概率或存在隱藏機制,應在設計中明確標注。
4. 0級裝備升到5級的期望次數(每次成功概率50%)
這是一個典型的期望值問題,升級失敗時保持原等級(不降級,不碎)
? 定義
每升一級的成功概率是 50%(p = 0.5)
我們需要計算從 0 → 5 的總期望次數。
每升一級的期望次數是:
- E = 1 / p = 1 / 0.5 = 2 次
那么總期望為:
- 5 級 = 5 × 2 = 10 次
? 期望值 = 10 次嘗試
5. 寶箱概率用例設計(碎片90%,完整寶石10%)
? 測試目標
驗證碎片和完整寶石的掉率是否分別為 90%、10%
? 測試方法(頻率統計法)
- 執行大量開寶箱動作(建議 ≥ 10 萬次);
- 記錄每次開出的類型:碎片 or 寶石;
- 統計結果:
-
- 碎片次數 / 總次數 ≈ 90%
- 寶石次數 / 總次數 ≈ 10%
? 測試用例設計
用例編號 | 描述 | 操作 | 驗證方式 |
TC01 | 寶箱正常開啟 | 正常執行開寶箱 | 返回物品不為空 |
TC02 | 統計概率 - 碎片占比 | 開箱10萬次,記錄碎片數 | 碎片頻率應≈90% |
TC03 | 統計概率 - 寶石占比 | 同上 | 寶石頻率應≈10% |
TC04 | 多角色賬號測試 | 不同賬號執行同樣操作 | 驗證概率是否一致 |
TC05 | 開箱失敗/異常處理 | 掉線、中斷等異常操作 | 驗證不會多開或丟數據 |
6. 開寶箱 → 發到郵箱 → 發到背包:可能的 Bug 或不合理點
? 這是一種常見的物品發放流程,但設計上有一些潛在風險:
流程階段 | 潛在問題 | 建議方案 |
開寶箱 | 返回結果但未落地保存,可能丟失 | 抽獎結果必須服務器落庫后再返回 |
發到郵箱 | 郵箱發放失敗(滿/延遲/未讀) | 郵箱上限提示,失敗自動重發或補發 |
發到背包 | 背包滿導致發放失敗 | 背包滿提示,物品自動轉郵箱或隊列 |
多端同步問題 | 一端背包刷新成功,另一端沒更新 | 背包、郵箱狀態應支持實時同步 |
安全性 | 郵箱或背包數據易被篡改 | 所有獎勵必須由服務端控制和驗證 |
? 更安全合理的流程應為:
- 抽獎完成后 → 獎勵寫入數據庫 → 同步到郵箱/背包;
- 如果背包滿 → 發郵箱;
- 所有發放動作需寫入日志,以便追查和防止作弊。
? 總結
- 抽獎系統需涵蓋登錄校驗、次數限制、中獎驗證等功能測試;
- 概率驗證必須使用大樣本統計,并設定容差范圍;
- 十連抽需分析是否為獨立抽取、是否有保底;
- 升級期望計算用概率期望公式求解(共期望 10 次);
- 寶箱概率測試用頻率統計,覆蓋所有掉落類型;
- 發放流程必須確保數據完整、安全,并做好異常處理機制。
如果需要我幫你補充每一項的自動化測試實現或代碼腳本也可以告訴我。