游戏行业是否对游戏/渲染的视觉部分使用自动化测试?怎么样?


10

游戏的某些部分易于以自动化方式进行测试(逻辑,数学,输入处理);但是还有很多是纯视觉的,并且不容易测试。

如果游戏行业将所有这些都留给人工测试,我会感到惊讶。里面有足够的钱,我想应该已经投入了至少对游戏的某些视觉方面进行回归测试的能力。

这是真的?如果是这样,可以测试游戏渲染的可能方式有哪些?捕获输出并比较图像(这可以可靠吗?)?从低级别拦截图形卡中的数据?正在捕获通往图形卡的顶点信息(等)?似乎有很多可能性;但我找不到关于此的任何信息:(

注意:这个问题被标记为对此的重复,但是我并不是要问具体的技术/框架/工具如何做到这一点,而是要更广泛地了解这种做法的想法以及实际的游戏行业(如果他们做的)。


我想说的是,他们可能只是使用经过良好测试的图形库(第三方或内部开发)。在设计游戏关卡时,他们不会检查每个对象是否都精确位于坐标X,Y,Z或透视图是否正确,而是要进行简单的检查,例如确保对象在那里并且没有被墙壁等遮挡。而且,如果图形库是内部开发的,则测试是自动化的,并且更加基础。
SJuan76

@ SJuan76我想如果您是在引擎顶部构建的,该问题适用于引擎的测试
Danny Tuppeny 2014年

这个问题的范围是否比标记为重复的问题更广泛?OP没有提到C ++或OpenGL。游戏业比这更大。
toniedzwiedz 2014年

鉴于图形API是无错误的,因此正式证明代码是正确的可能比测试硬件是否能正常工作要容易得多。由于AMD和NVidia的驱动程序是专有的,因此我认为与图形卡通信涉及的协议是1)专有,2)可能会更改以及3)随卡而异。此外,即使发送到图形卡的数据正确,您如何知道图形卡没有硬件缺陷?
Doval 2014年

2
我尝试重新打开它,因为重复目标更具体地涉及自动测试OpenGL图形的策略。这不是我的专长,但我相信其他非常了解游戏行业的人的反馈,因此我想给它一次机会。对于参照类似的问题在这里看到:programmers.stackexchange.com/questions/150688/...
maple_shaft

Answers:


1

任何公司都会以不同的方式做事,甚至不同的游戏也会受到不同的测试。

  • 也许缺少有关图形的信息是因为渲染的确是“重复的”(抱歉,我想不出更好的词),并且在典型的复杂场景中会有足够的原始组合,因此大多数人通常可以轻松地看到大部分故障(除了较少使用的着色器外,但可以使用应力着色器特殊级别/演示。请记住,人类数千年来都是猎人:)因此,我们有可能被设计为能够发现故障。
  • 而且,大多数游戏中存在的移动自由度和典型游戏中其他元素的随机性(使游戏感觉更加“逼真”)通常是应用纯自动化测试的噩梦:实际上,人工测试者会发现越来越快错误比任何自动化测试都重要。您可以编写逻辑来记录计时,状态,位置/角度/其他变量的逻辑信息,以便在测试人员正在演奏时...因此,即使在不进行自动测试的情况下,您也将获得类似于自动测试的反馈。能够播放任何Beta测试人员记录的会话通常很有用(通常对于最终游戏也是一个不错的功能)。
  • 例如,关于渲染统计信息,您可以获得:每个着色器的绘画调用计数统计信息(您将进行调用,足以维护一些计数器),上传计数(相同,您将控制何时gpu缓冲区已更新),时间(不仅是fps,还包括每次调用之间的间隔)等。如果有必要(但我相信除了寻找特定错误时,不建议这样做),您可以从显卡本身获取统计信息(例如,您可以使用遮挡查询来获得填充率和其他填充率)。
  • 最后,使用Beta测试器的另一个原因是不同的图形卡可能具有不同的行为...您可能需要拥有一组测试机o_O。备受喜爱的人类Beta测试人员将消除所有混乱。

希望对您有所帮助!

免责声明:我不是beta测试员,我是XDDD开发人员。


我完全同意人类是围绕看到图案,毛刺而设计的……我们确实是视觉存在。
Trilarion 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.