“黑盒”&“白盒”

2010-08-10  姜龙 

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

刘大荣  2010-08-10

首先,黑盒比其他项目更适合在游戏项目上使用,如此大的工程和玩家爱的异常输入(不包括外挂和逆向工程破解),要想用white box 来做基本收效不大。 能看到代码的测试人员想必也不多。  其次,楼主还有另外一个领域没有说,黑和自动化。


姜龙  2010-08-11

刘大荣: 首先,黑盒比其他项目更适合在游戏项目上使用,如此大的工程和玩家爱的异常输入(不包括外挂和逆向工程破解),要想用white box 来做基本收效不大。 能看到代码的测试人员
多谢指教~~~~


登录 后发表评论