《游戏测试》经典BUG解析001--002

简介: 《游戏测试》经典BUG解析001--002

经典BUG--001,《阴阳师》业原火BUG


BUG描述:

玩家可以不断刷副本来获得业原火副本的奖励(业原火奖励丰厚,但是需要限定门票)。

事故原因:

①对于现在的副本战斗,客户端会发起一个战斗请求,同时服务端记录相应的奖励返回给客户端,然后客户端在本地进行战斗计算;

②在战斗结束后,客户端会发起一个战斗结算请求,其中带有胜利或者失败标记,还有之前请求战斗时返回的奖励 id;

③由于八岐大蛇和业原火共用一个接口,只会在 type 上进行区分,且这两个副本的消耗机制不一样,八岐大蛇消耗体力,业原火消耗门票。由于业原火在失败等异常情况下不扣除门票,所以御魂副本在战斗开始的时候扣除体力,业原火在战斗结束的时候扣除门票;

④在客户端发送结算时候,需要判断是御魂副本还是业原火,根据 type,如果是御魂副本就跳过扣除,因为在战斗开始就已经扣过;如果是业原火就会扣除门票,同时发送奖励;

⑤客户端第一次发送业原火的战斗请求过来,所以服务端这里没有扣除门票,同时记录了相应的奖励发送给客户端,客户端同时快速切换到御魂界面,导致战斗进入到了御魂的战斗。在结算的时候,发送的是御魂的副本类型和业原火的奖励 id,所以服务端把此次战斗当成了御魂副本,所以没有扣除体力,同时发送了奖励;

⑥对于服务端来说,相信了客户端的协议,没有进一步的验证请求的合法性,导致了奖励的发放没有扣除相应的货币。

一句话总结就是:战斗开始时发送业原火的战斗 id 给服务端,服务端说,这个是业原火,等下战斗结束再扣门票;战斗结束时发送御魂的战斗 id 和业原火的奖励 id 给服务端,服务端说,这个是御魂副本,开始已经扣过体力了,不用再扣了,直接发奖励吧

测试总结:

这类问题很难在测试过程中被发现,需要测试人有很深的经验和复杂的操作。但是如果大家从协议测试考虑,就会相对简单很多。这个问题中御魂副本和业原火共用了次协议:dungeon_rune_attack(dungeon_id) ,当dungeon_id=1 时表示御魂 1 层,当 dungeon_id=13 时表示业原火的痴副本。在战斗开始的时候,发送 dungeon_id=13 告诉服务端打的是业原火痴副本;在战斗结束的时候,将其改成 dungeon_id=1 告诉服务端打的是御魂副本,服务端充分信任了客户端发来的协议,没有做二次验证就直接发奖,导致被刷。

经典BUG--002,《重返未来1999》实名认证BUG

BUG描述:

身份证最后一位是x的玩家,没法输入,导致无法实名认证。截至2020年3月,身份证号码最后一位是x的,全国人民总比的9%左右人口。如果是这个比例的用户量的话,这个BUG的影响还是挺严重的。事故原因:

1、漏测,测试的时候只考虑身份证是数字的情况,没有考虑还有字母要输入。当时看评论的时候,我也才发现原来身份证是有字母的情况。

2、手机输入法兼容,测试的时候没有兼容到足够的手机和输入法(这个也是不太可能完全兼容到的),对测试来说,算是一个疑难杂症了,目前市面上的手机品牌+型号最少都有千种了,每次玩家反馈回来一个问题,内部环境又复现不了,就很麻烦。

测试总结:

首先这类功能就是要覆盖足够全,做好用例评审。其次市面上主流机型的兼容一定是要做的,特别是很火,预下载很高的产品。最后也可以通过合理的设计,尽可能减少兼容性的问题。

相关文章
|
11月前
|
测试技术 开发者 Python
Python单元测试入门:3个核心断言方法,帮你快速定位代码bug
本文介绍Python单元测试基础,详解`unittest`框架中的三大核心断言方法:`assertEqual`验证值相等,`assertTrue`和`assertFalse`判断条件真假。通过实例演示其用法,帮助开发者自动化检测代码逻辑,提升测试效率与可靠性。
644 1
|
Web App开发 人工智能 JavaScript
主流自动化测试框架的技术解析与实战指南
本内容深入解析主流测试框架Playwright、Selenium与Cypress的核心架构与适用场景,对比其在SPA测试、CI/CD、跨浏览器兼容性等方面的表现。同时探讨Playwright在AI增强测试、录制回放、企业部署等领域的实战优势,以及Selenium在老旧系统和IE兼容性中的坚守场景。结合六大典型场景,提供技术选型决策指南,并展望AI赋能下的未来测试体系。
|
存储 人工智能 算法
AI测试平台实战:深入解析自动化评分和多模型对比评测
在AI技术迅猛发展的今天,测试工程师面临着如何高效评估大模型性能的全新挑战。本文将深入探讨AI测试平台中自动化评分与多模型对比评测的关键技术与实践方法,为测试工程师提供可落地的解决方案。
|
存储 人工智能 测试技术
HarmonyOS Next~HarmonyOS应用测试全流程解析:从一级类目上架到二级类目专项测试
本文深入解析HarmonyOS应用测试全流程,涵盖从一级类目通用测试到二级类目专项测试的技术方案。针对兼容性、性能、安全测试及分布式能力验证等关键环节,提供详细实践指导与代码示例。同时,结合典型案例分析常见问题及优化策略,帮助开发者满足华为严苛的质量标准,顺利上架应用。文章强调测试在开发中的核心地位,助力打造高品质HarmonyOS应用。
785 2
|
10月前
|
监控 Java 关系型数据库
面试性能测试总被刷?学员真实遇到的高频问题全解析!
面试常被性能测试题难住?其实考的不是工具,而是分析思维。从脚本编写到瓶颈定位,企业更看重系统理解与实战能力。本文拆解高频面试题,揭示背后考察逻辑,并通过真实项目训练,帮你构建性能测试完整知识体系,实现从“会操作”到“能解决问题”的跨越。
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
如何让AI更“聪明”?VLM模型的优化策略与测试方法全解析​
本文系统解析视觉语言模型(VLM)的核心机制、推理优化、评测方法与挑战。涵盖多模态对齐、KV Cache优化、性能测试及主流基准,助你全面掌握VLM技术前沿。建议点赞收藏,深入学习。
3395 8
|
11月前
|
人工智能 自然语言处理 前端开发
深度解析Playwright MCP:功能、优势与挑战,AI如何提升测试效率与覆盖率
Playwright MCP通过AI与浏览器交互,实现自然语言驱动的自动化测试。它降低门槛、提升效率,助力测试工程师聚焦高价值工作,是探索性测试与快速验证的新利器。
|
11月前
|
人工智能 边缘计算 搜索推荐
AI产品测试学习路径全解析:从业务场景到代码实践
本文深入解析AI测试的核心技能与学习路径,涵盖业务理解、模型指标计算与性能测试三大阶段,助力掌握分类、推荐系统、计算机视觉等多场景测试方法,提升AI产品质量保障能力。
|
JavaScript 前端开发 测试技术
Playwright自动化测试系列课(4) | 异步加载克星:自动等待 vs 智能等待策略深度解析​
本文深度解析Playwright自动化测试中的等待策略,对比自动等待(零配置防御机制)与智能等待(精准控制异步场景)的核心差异。通过实战案例讲解等待机制的选择标准、常见失效原因及调试技巧,帮助开发者有效解决页面异步加载问题,提升测试脚本的稳定性和执行效率。

推荐镜像

更多
  • DNS