游戏测试中的那些坑-二次确认问题

简介: 仔细看一下上面的时序图可以发现,步骤2进行了数量检查,在检查成功后发送确认框让玩家进行确认,玩家确认后,步骤5就直接执行了兑换。那么问题是这样的,如果服务器发送二次确认后,玩家发送确认前先将材料转移到其他地方例如仓库或邮寄给其他玩家,然后再告诉服务器确认兑换,那么步骤5直接执行兑换就有问题了。

游戏测试中的那些坑-二次确认问题


一、引言


   游戏的很多系统涉及到稀有道具的扣除,购买,兑换等等都需要弹出二次确认,以防止玩家误操作造成的损失。但是二次弹框确认的背后一旦处理不好也会产生严重的漏洞哦。

   声明:图片源自网络,如有问题请联系删除

二、案例


微信图片_20220424110339.png


   例如一个通过神器材料兑换神奇的功能,玩家搜集指定数量的材料后可以向NPC进行兑换指定的神器。由于神器材料比较稀有且可以交易,因此兑换的时候需要进行二次确认。


微信图片_20220424110348.png


   仔细看一下上面的时序图可以发现,步骤2进行了数量检查,在检查成功后发送确认框让玩家进行确认,玩家确认后,步骤5就直接执行了兑换。那么问题是这样的,如果服务器发送二次确认后,玩家发送确认前先将材料转移到其他地方例如仓库或邮寄给其他玩家,然后再告诉服务器确认兑换,那么步骤5直接执行兑换就有问题了。


   可能实际测试中,由于二次确认客户端表现为模态的确认框无法进行操作,从而就误以为玩家在此期间无法执行其他操作,其实玩家如果采用特殊的操作(例如协议发)还是可以干很多事情的。因此绝不能相信客户端,这是写服务器逻辑的一条铁律



三、解决办法


   这个问题的解决办法就是在客户端二次确认后,再执行一次兑换检查就可以防止漏洞的产生。所以在进行功能测试的时候,如果遇到了二次确认的逻辑时,就需要看一下服务器是否真的在二次确认后仍进行了前置检查。


欢迎微信搜索"游戏测试开发"关注一起沟通交流。

相关文章
我写了一个自动化脚本涨粉,从0阅读到接近100粉丝(二)
我写了一个自动化脚本涨粉,从0阅读到接近100粉丝
104 0
|
自然语言处理 算法 机器人
ChatGPT爆火!真的这么好用吗?附上体验链接
ChatGPT爆火!真的这么好用吗?附上体验链接
164 0
|
4月前
|
机器学习/深度学习 自然语言处理 算法
告别重复率烦恼:论文润色降重助手帮你搞定降重!
告别重复率烦恼:论文润色降重助手帮你搞定降重!
47 0
|
6月前
|
安全
自媒体营销软文灵感思路来源——万能公式:6P方法论
自媒体营销软文灵感思路来源——万能公式:6P方法论
自媒体营销软文灵感思路来源——万能公式:6P方法论
|
6月前
|
缓存 前端开发 搜索推荐
博客有点丑,魔改优化来一波🛠️
博客有点丑,魔改优化来一波🛠️
120 1
|
数据采集 Web App开发 JavaScript
我写了一个自动化脚本涨粉,从0阅读到接近100粉丝(一)
我写了一个自动化脚本涨粉,从0阅读到接近100粉丝
121 0
|
算法 安全 区块链
马蹄链佛萨奇2.0公排矩阵开发正式版丨马蹄链佛萨奇2.0公排矩阵系统开发(开发规则)及案例源码
  区块链是Web3.0和元宇宙实现的技术基础之一,当前的互联网只能实现信息的传递,尚不能实现价值的流转,而Web3.0能真正实现“价值的连接”。这种价值的流转也成为元宇宙实现的基础。 
如何对技术视频转换文章投稿进行二次创作
在技术社区经常会收到一些大的平台(华为云博客、infoq 等平台的投稿任务),经过对数千篇通用技术稿件,积攒了一些小技巧。所以,在你创作之前还是要好好的看一下,希望对你有帮助!
101 0
|
测试技术 应用服务中间件 数据库
CTO 点名要搞个灰度发布系统,不慌!
互联网产品需要快速迭代开发上线,又要保证质量,保证刚上线的系统,一旦出现问题可以很快控制影响面,就需要设计一套灰度发布系统。
CTO 点名要搞个灰度发布系统,不慌!
赛博朋克首发Bug多,CDPR:旅程刚开始,已着手更新修复
赛博朋克首发Bug多,CDPR:旅程刚开始,已着手更新修复
319 0
赛博朋克首发Bug多,CDPR:旅程刚开始,已着手更新修复
下一篇
无影云桌面