#暴论
没有全自动化回归测试的“有状态服务”就是梦魇。
游戏就是一个很典型的“有状态服务”,“有状态”的意思,是游戏服务的连接对应到一个在线角色的信息,角色的数据包括但不限于:角色的属性、所在的地图场景、日期的特殊性(比如大型节假日要做一些运营活动)。
由于游戏服务是一个如此特殊的“有状态服务”,要构造它的测试数据来跑自动化测试就很难,基本都是靠人肉来测试。
没有了全自动化的回归测试,随时可能踩到坑里来。比如某个节假日来了,要临时开一个这个节日的运营活动,于是可能改了一些玩法逻辑,测试的时候一般只会去验证这个活动相关的逻辑。但是问题来了,有可能这个活动还影响了其它的玩法。由于缺少全自动化测试,就没有去验证,于是很可能到了上线的时候才发现问题,这就要一顿忙活热更新修复了。
在我短暂的做游戏开发的时间里,大概半数以上的错误本质都是由于缺少全自动化验证导致的。还有一个原因,游戏逻辑代码以百万计,而经常又是使用Lua、Python这样的解释型脚本语言来写的,缺少编译期的检查,这又是可能产生问题的原因之一。
所以人生苦短,如果不是特别热爱,还是远离这类做游戏逻辑的工作,这类工作的技术难度也就是比普通CRUD高那么一丢丢,但是生命都浪费在没有自动化测试导致的问题修复里了。
会修问题、解决问题都不算什么本领,学会理解这类开发的流程导致了问题总是此起彼伏,避开问题的高发领域,别把宝贵的时间浪费在这种无休止的问题解决里。
Post #365
2.27K
- 👍 27