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 次);
- 宝箱概率测试用频率统计,覆盖所有掉落类型;
- 发放流程必须确保数据完整、安全,并做好异常处理机制。
如果需要我帮你补充每一项的自动化测试实现或代码脚本也可以告诉我。