几乎所有的游戏测试都是黑盒测试,即在游戏测试员不清楚源代码以及没有源代码的情况下进行的测试。游戏测试员不会通过阅读代码来发现缺陷,而是像普通玩家一样通过游戏操作来发现缺陷,通过自己的游戏操作输入来得到返回结果再判断出是否存在缺陷。 白盒与之相反的,直接让游戏测试员接触源代码进行检查。通常一个白盒测试员在解读一部分的游戏代码来预测代码中的响应行为,并测试代码是否能涵盖所有的用户输入。运行白盒测试时,可以让特定的模块以不同的路径运行以确保每条路径都行的通。测试时的输入可以参照代码定义的数据类型和取值,通过检查模块的返回值,全局变量的改变和模块中局部变量的处理情况来得出测试结果。 只使用白盒测试对于游戏来说是相当困难的,因为要解释玩家的输入的复杂性几乎不可能。 因此在一个游戏中: 1.黑盒测试应测试所有的不同操作输入;白盒测试要求测试代码执行的不同路径。 2.通过直接解读代码,白盒测试将测试所有能传递的可能值;黑盒测试则是辅助验证此结果的正确性。 3.为了产生可重复的结果,黑盒测试依赖的是游戏的操作和构建环境的一致性配置;白盒只依赖被测试的模块界面以及流、文件系统或全局变量进行处理时用到得外部文件。 使用不同的方法得到的结果和产生的效能都会不同。于是将之结合方显测试的覆盖面。 |