游戏的某些部分易于以自动化方式进行测试(逻辑,数学,输入处理);但是还有很多是纯视觉的,并且不容易测试。
如果游戏行业将所有这些都留给人工测试,我会感到惊讶。里面有足够的钱,我想应该已经投入了至少对游戏的某些视觉方面进行回归测试的能力。
这是真的?如果是这样,可以测试游戏渲染的可能方式有哪些?捕获输出并比较图像(这可以可靠吗?)?从低级别拦截图形卡中的数据?正在捕获通往图形卡的顶点信息(等)?似乎有很多可能性;但我找不到关于此的任何信息:(
注意:这个问题被标记为对此的重复,但是我并不是要问具体的技术/框架/工具如何做到这一点,而是要更广泛地了解这种做法的想法以及实际的游戏行业(如果他们做的)。
我想说的是,他们可能只是使用经过良好测试的图形库(第三方或内部开发)。在设计游戏关卡时,他们不会检查每个对象是否都精确位于坐标X,Y,Z或透视图是否正确,而是要进行简单的检查,例如确保对象在那里并且没有被墙壁等遮挡。而且,如果图形库是内部开发的,则测试是自动化的,并且更加基础。
—
SJuan76
@ SJuan76我想如果您是在引擎顶部构建的,该问题适用于引擎的测试
—
Danny Tuppeny 2014年
这个问题的范围是否比标记为重复的问题更广泛?OP没有提到C ++或OpenGL。游戏业比这更大。
—
toniedzwiedz 2014年
鉴于图形API是无错误的,因此正式证明代码是正确的可能比测试硬件是否能正常工作要容易得多。由于AMD和NVidia的驱动程序是专有的,因此我认为与图形卡通信涉及的协议是1)专有,2)可能会更改以及3)随卡而异。此外,即使发送到图形卡的数据正确,您如何知道图形卡没有硬件缺陷?
—
Doval 2014年
我尝试重新打开它,因为重复目标更具体地涉及自动测试OpenGL图形的策略。这不是我的专长,但我相信其他非常了解游戏行业的人的反馈,因此我想给它一次机会。对于参照类似的问题在这里看到:programmers.stackexchange.com/questions/150688/...
—
maple_shaft