1
8
|
2
4
暴动游戏有一个 article 使用自动测试的传奇联盟(LoL),一个多人在线RTS游戏。 据开发者介绍,游戏代码和游戏平衡每天都有很多变化。他们构建了一个Python测试框架,基本上是一个简单的游戏客户端,它向运行LoL游戏服务器实例的持续集成服务器发送命令。然后服务器向测试框架发送命令的效果,允许测试响应。 该框架提供了一个事件队列,用于记录特定时间点的事件、数据和效果。文章称之为“快照”。
安装程序
验证
本文展示了从普通游戏客户端查看测试服务器时,可以提取测试的视频。 |
3
2
但我们可以测试确定性值。例如,一个单元测试可能让Guybrush Threepwood向一扇门移动(寻路),打开门(使用命令),失败因为他在他的库存中没有钥匙(反馈),选择门钥匙(寻路+库存管理),然后最后打开门。
这只是游戏中单元测试的一个想法。我想知道其他的想法,因此,这个职位的动机。 |
4
2
我曾经做过类似于你的想法的事情,它非常成功,尽管我怀疑它实际上更像是一个系统测试而不是一个单元测试。正如您所建议的,随机数生成器必须以相同的值作为种子,并且每次必须生成相同的序列。 最大的问题是游戏设计的改变会使脚本失效。 如果你的裸体房间包含独立于一般游戏的逻辑,那么它可以很好地工作。引擎可以在没有任何ui的情况下启动,并在初始化完成后立即启动脚本。一路上的碰撞测试会很简单,但是更复杂的测试,比如让角色保持在正确的位置,会更复杂。如果脚本的录制足够简单(它们在我的系统中),那么它们可以非常容易地更新,并且可以非常快速地设置用于测试专门行为的特殊脚本。我的系统还有一个额外的优点,那就是它可以在游戏测试期间使用,而且记录的事件的确切顺序使bug修复更容易。 |
5
2
一篇来自
|
6
1
如果您正在测试渲染引擎,我想您可以渲染特定的测试场景,做一个屏幕截图,并将它们与参考测试渲染进行比较。这样你就可以通过视觉检测引擎的变化是否会破坏任何东西。您可以为声音引擎甚至动画编写类似的测试(通过比较一系列帧)。
|
7
1
Scurvy.Test :-) |
8
1
http://flea.sourceforge.net/gameTestServer.pdf
术语“单元测试”意味着“单元”正在被测试。这是一回事。如果您正在进行更高级别的测试(例如,同时进行多个系统),通常这称为功能测试。对一个游戏进行单元测试是可能的,但是你不能真正的为了好玩而进行测试。 决定论是没有必要的,只要你的测试可以是模糊的。例如,“角色受伤了吗”而不是“角色失去14.7点生命值了吗”。 |
9
1
|
10
0
这并不能回答你的问题,但我在听一个关于 Pex from microsoft 这和你提出的解决方案有相似之处,当我听的时候,我记得我在想,看看它是否能够测试游戏会非常有趣。我不知道它是否能具体地帮助您,但是您也许可以看看他们使用的一些想法,并将其应用到您的单元测试中。 |
Ragnarsson · 与TestNG并行运行测试无法按预期工作 6 年前 |
user101289 · ruby gem测试失败 6 年前 |
pam · Travis pr失败,推送通过 6 年前 |
Kaisado · Ui设备等待按钮可见 6 年前 |
Daniel Kaplan · Testcafe:对文本区域长度的期望 6 年前 |
Luca S. · 在生产页面上自动测试本地javascript库 6 年前 |