首页 > 法甲 > 浅谈游戏测试中的概率测试 - 知乎
2024
04-05

浅谈游戏测试中的概率测试 - 知乎

浅谈游戏测试中的概率测试 - 知乎

  在工作中,常常会遇到概率测试的问题,抽卡,活动转盘,随机奖池等等功能。针对于这种情况,看起来概率像个玄学问题。

  在面试的时候,面试官问概率类的问题,比如宝箱开出某一个道具的获得概率是2%,会怎么进行测试? 不少面试的同行朋友会说,抽一百次,然后看是否获得2个该道具。如果追问,抽100次,获得了5个该道具,算不算出错了呢,很尴尬对不对。好一些的会说查看配置表,但都不是非常的全面。

  分享一个关于概率测试的思路,还是以宝箱开出某个道具为例。并假设该概率值写在配置表中,程序要通过配置表去算获得该道具的概率值。其实重要的就两个点1.测试道具确实读了配置表中的值,并且能够实际获得该道具2.测试该道具概率值的正确性

  关于第1点的测试,我们可以先将该宝箱配置项中,将该物品的获得概率调整成100%,然后去游戏中实际操作几次,看是否必定获得的是道具1。再将该道具的获得概率调整成0,然后去游戏中操作几次,看是否100%不会获得。这样既保证能正确获得指定道具,并且也能保证程序没有把概率写死而是正确读取的配置。

  注意:获得物品后别忘了查后端数据库和前端背包每次增加的数量要与配置的值一致。如果没有权限查后端数据库,最简单的方式就是在连网的情况下重启游戏,查看道具的刷新,如果后端没有实际获得,进行login操作时数据会进行刷新。

  关于第2点,可以要求程序打印日志,每次开启宝箱时,将道具的概率配置进行改0,改100%,配置还原的操作,查看获得该道具时,打印的概率是否与配置吻合。

  一般大部分复杂的功能都会采取伪随机的方式去实现奖池的抽取,会根据业务情况去进行设计,简单会通过随机数进行比较的方式去实现概率逻辑,这里举一个后者的例子。

  程序生成一个范围随机数,跟配置中的概率值进行比较,生成的随机数小于配置概率值则符合需求,给出奖励,否则不满足条件

  例:

本文》有 0 条评论

留下一个回复