游戏测试 我们公司项目是自走棋游戏玩法, 对于游戏战斗内的战斗公式和战斗逻辑应该如何测试,想请教一下各位大佬

wukong · 2023年12月25日 · 最后由 碧晓寒枫 回复于 2024年04月03日 · 7670 次阅读

我们项目是卡牌手游,是属于卡牌 + 自走棋结合的战斗玩法。在外面养成卡牌,然后卡牌可以组成一定的羁绊。目前我测试卡牌战斗技能、卡牌羁绊还有其他的扎浓度相关东西感觉属于是一种比较笨而且无法覆盖完的办法进行测试。
那一个卡的被动技能来说:
比如是进入战斗后 3S 内会给敌方增加一个 debuff,降低对方的护甲,会给自己所有人增加一个 buff,在 3S 内增加护甲。
目前我的测试逻辑会是:
1、检查上阵这个卡后,这个 buff 和 debuff 有没有给对面挂上 - 我们可以看 debug 面板来看有那些技能和 buff 添加了
2、检查生效的时间对不对(一个是看 debug 面板一个是看卡牌的属性面板)
3、改时间,看改了时间之后时间对不对
4、看开战之后对面降低的和自己增加的护甲输了对不对
5、看时间过了之后双方护甲数值对不对
6、看 3S 内这个卡死了 debuff 和 buff 情况
7、因为涉及到布阵,还需要看上下卡的 buff 情况
还有很多测试点,就是在测试用例里面写了,不知道其他大佬是怎么测试类似于这种卡牌技能还有战斗玩法的,想请各位大佬指导,比如需要自己和程序完成一个什么样的工具来进行测试,可以自己写那些自动化的工具来帮助测试战斗

共收到 5 条回复 时间 点赞

你的测试逻辑已经相当详细和全面,以下是一些可能的优化和补充建议:

  1. 自动化测试:你可以考虑使用游戏测试自动化工具或者编程语言(如 Python、Java 等)编写脚本进行自动化测试。例如,可以编写脚本自动执行布阵、战斗、检查 BUFF 和 DEBUFF 等操作,并自动比较预期结果和实际结果。

  2. 数据驱动测试:你可以创建一个包含各种卡牌组合、技能参数、战斗环境等因素的数据集,然后使用数据驱动的测试方法来遍历所有可能的情况。

  3. 性能测试:除了功能测试外,你还需要考虑性能测试。例如,测试在大规模战斗中,技能的触发和效果是否仍然正常,游戏的帧率和延迟是否在可接受范围内。

  4. 异常测试:测试在各种异常情况下,技能的效果是否仍然正常。例如,网络中断、游戏崩溃、卡牌被移除等情况下,BUFF 和 DEBUFF 是否正确清除。

  5. 回归测试:每次修改或添加新的卡牌、技能、羁绊等元素后,都需要进行回归测试,确保现有的功能没有被破坏。

  6. 使用专门的游戏测试工具:市面上有一些专门的游戏测试工具,如 Unity Test Tools、Unreal Engine's Automation Tool 等,可以帮助你更方便地进行游戏测试。

  7. 与开发团队紧密合作:测试人员需要与开发团队紧密合作,了解游戏的设计和实现细节,以便更准确地定位和解决问题。

以下是一些更具体和有价值的建议:

  1. 使用游戏测试框架:例如,对于 Unity 开发的游戏,可以使用 Unity Test Framework 或者 NUnit 进行自动化测试。这些框架可以帮助你编写和组织测试用例,自动化执行测试,并提供详细的测试报告。
  2. 创建特定的测试工具或脚本:你可以与开发团队合作,创建一些特定的测试工具或脚本。例如,一个自动布阵和战斗的脚本,它可以模拟各种战斗场景并检查结果。另一个例子是一个技能效果检查工具,它可以实时监控和分析游戏中的 BUFF 和 DEBUFF 状态。
  3. 采用灰盒测试方法:除了功能测试(黑盒测试)外,还可以结合一些内部知识(白盒测试)进行测试。例如,了解技能的实现机制和公式,可以帮助你设计出更有效的测试用例。
  4. 实施持续集成和持续测试:将测试集成到开发流程中,每次代码提交后自动运行测试,可以尽早发现和修复问题。你可以使用如 Jenkins、Travis CI 等工具来实现持续集成和持续测试。
  5. 进行性能和压力测试:使用性能测试工具(如 LoadRunner、JMeter 等)模拟大量用户并发战斗,检查游戏在高负载下的表现,包括帧率、延迟、内存占用等指标。
  6. 进行兼容性和设备测试:确保游戏在不同操作系统、浏览器、设备和分辨率下都能正常运行。可以使用云测试平台(如 BrowserStack、Sauce Labs 等)进行大规模的兼容性测试。
  7. 进行用户体验测试:除了技术测试外,也要考虑用户体验。可以通过用户调研、A/B 测试等方式收集用户反馈,优化游戏设计和平衡。
  8. 建立详尽的测试文档和知识库:记录所有的测试用例、测试结果、问题跟踪和解决方法等信息,形成一个可供团队共享和参考的知识库。

你们的怎么跟我们很像呀

1.(难度中,外部,可服务化) 需要程序那边根据业务日志,客户端日志在本地,服务器日志也可以在战斗玩生成在本地,在用 Python 脚本开发上面你说的不同 buff 几 s 后的规则,在去解析日志的规则 case。
触发战斗自动打和手动打都可以。
在 1 里面遇到解析日志规则 case 出现错误的地方,日志解析出来的错误客户端表现录屏后推荐人看一次。,甄别。
2.(难度大,有部分侵入) 脚本语言,假设是 lua 侧借助程序代码实现一次逻辑来做战斗技能测试和触发。
推荐 1.

单纯这个技能覆盖的挺全面的了, 需要补充与这个技能有关联的其他技能是否可以生效
比如, 增加 buff 时间的技能, 免疫 buff 的技能, 清除 buff 的
当然, 只是针对一个新技能需要这么详细的测试, 后面同类型的技能只需要检查配置, 简单触发测试下就好
同时, 需要对技能配置, 类型, 实现方式尽可能多的了解, 才好简化后面的测试
工具最好能简化战斗, 排除不需要的技能, 可自定义添加技能类型, 卡牌属性等

大海 回复

好家伙,你这是 gpt 回复的还是文心一言回复的?😂

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册