|
1、我们在自动化的时候一定要记得我们是为了测试而自动化,不要到最后变成了为了自动化而自动化;
davy, 当然我们引入自动化测试到游戏中是为了尽可能减少那些simple/repeated的工作,不能将自动化测试当作一个教条,而忽视它真正的目的.我之前的那个想法,是希望能够尽可能将游戏测试最大程度地自动化,方便进行各项测试,而不仅仅局限于GUI方面的,而在接口方面,甚至命令行方面都能够进行测试,有专门的测试接口,并且测试接口是和编制程序同步的,但是是独立的,逻辑是一致的,这样就有测试客户端的想法,这个是基于一些外文资料得出的,因为他们在一个游戏里面已经这样做到了id software的 The Sims Online(TSO model).
2、为什么在自动化测试中强调的是用脚本而不是用编程语言,就是因为脚本的开发成本低,追求的是快速开发,低投入高产出,而你现在要用脚本来写全套的游戏逻辑,那么使用脚本是不合适的,我写的测试脚本大体有三个数量级的,几行十几行的,二三百行的,五百至一千行的,但是基本不会有超过千行的测试脚本,如果超过,也会拆成几个独立的小脚本;你可以评估一下你的代码规模,而且不要忘记维护的成本;
谢谢提醒.现在想来这个级别应该与程序部编制的程序处于相同数量级别,这的确要引入模块化的思想去组织代码规模,对功能要进行足够地细化,之前的想法是测试客户端逻辑与真正客户端逻辑一致,而用脚本来驱动.相当于是这样的结构:测试客户端(NULL Client) = TSL脚本(非界面显示部分) + 客户端逻辑, 真正客户端 = 显示部分 + 客户端逻辑.并且以为这样可以节省客户端逻辑这部分的东西,但是实际上却不是的.
3、按照你的设想做的话,在项目/产品完成之前你成功的机率有多大,项目/产品是否能够承担的起如果你失败而造成的测试延误损失?
现在只有我前面提到的id software的The Sims Online游戏里面用到这种模型.并且极大地提高了自动化测试在该游戏测试的占用率.
本意是想将回归测试自动化,但是后来发现,可以更加好地进行测试,就从TSO中引入了测试客户端,这样可以从根本上改变目前手工测试的测试环境,提高测试效率,现在测试组的人手不够,只是我一个人去尝试做.主流测试还是用那种所见即所得的手工测试,现在游戏产品已经发布,这些想法和做法要在下款游戏中才能做得到.
[ 本帖最后由 jolley 于 2008-2-16 18:22 编辑 ] |
|