TGViewer
codedump的电报频道 codedump的电报频道 @codedump_notes · 5.5K subscribers
Post #365 2.27K
#暴论
没有全自动化回归测试的“有状态服务”就是梦魇。

游戏就是一个很典型的“有状态服务”,“有状态”的意思,是游戏服务的连接对应到一个在线角色的信息,角色的数据包括但不限于:角色的属性、所在的地图场景、日期的特殊性(比如大型节假日要做一些运营活动)。

由于游戏服务是一个如此特殊的“有状态服务”,要构造它的测试数据来跑自动化测试就很难,基本都是靠人肉来测试。

没有了全自动化的回归测试,随时可能踩到坑里来。比如某个节假日来了,要临时开一个这个节日的运营活动,于是可能改了一些玩法逻辑,测试的时候一般只会去验证这个活动相关的逻辑。但是问题来了,有可能这个活动还影响了其它的玩法。由于缺少全自动化测试,就没有去验证,于是很可能到了上线的时候才发现问题,这就要一顿忙活热更新修复了。

在我短暂的做游戏开发的时间里,大概半数以上的错误本质都是由于缺少全自动化验证导致的。还有一个原因,游戏逻辑代码以百万计,而经常又是使用Lua、Python这样的解释型脚本语言来写的,缺少编译期的检查,这又是可能产生问题的原因之一。

所以人生苦短,如果不是特别热爱,还是远离这类做游戏逻辑的工作,这类工作的技术难度也就是比普通CRUD高那么一丢丢,但是生命都浪费在没有自动化测试导致的问题修复里了。

会修问题、解决问题都不算什么本领,学会理解这类开发的流程导致了问题总是此起彼伏,避开问题的高发领域,别把宝贵的时间浪费在这种无休止的问题解决里。
  • 👍 27
More from @codedump_notes
  1. Sep 27, 2026#系统编程 讲解Go语言并发主题的小书:《Go concurrency distilled》
  2. Sep 22, 2026#开源软件 开源本来承载的主要任务之一就是赢得信任,智谱这一把开源不但没有赢取信任,反而让更多人感到了疑问,比如我。
  3. Sep 22, 2026#开源项目 #Rust #数据库 hawdb:Rust编写的嵌入式图数据库,用于Nowledge产品中管理本地图数据。
  4. Sep 21, 2026#Rust #人工智能 最近看了好几个Rust相关的新闻,比如: * Rust在微软内部升级为一级语言:《Guest Post: Rust Is Tier-1 Language a…
  5. Sep 19, 2026#人工智能 这个翻译可以说是 信达雅 了。
  6. Sep 15, 2026#人工智能 《我不得不把才华埋葬在昨天》,Deepseek 核心开发的文章,也许再过一段时间,他就不用亲手写算子了。
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →