策划表格数据检查是游戏测试工作的刚性需求。在游戏开发期中,有大量bug的起因是策划同学在配置上不够规范到位。因此作为测试角度而言,需要更加便捷、更加精准的方法去定位到策划表格配置的问题。除了依靠业务人员自身对业务的熟悉程度之外,也更加依赖于一个强大有力的工具,辅助表格数据检查。
表格数据检查的目的有以下一些:给定某个数值策划案,检查实际配置与策划案是否有出入;给定某个配置规则,检查实际配置是否有不符合规则,造成风险的地方(除去程序导表检查的那一部分)。针对这些需求,简单粗暴的方法就是强行coding的方式,将读取表格(Excel)数据出来(或者将表格数据转化为程序文件),然后用编码的方式联表,继而通过coding逻辑,去导出不符合规则的数据。这一种方式虽然灵活,但对于业务侧同学,还存在壁垒以及需要突破的地方:
- 壁垒:业务侧同学的技术能力,通常难以hold住coding的技巧。从技术人员角度而言,涵盖大量代码的臃肿的表格检查规则,可读性很差且难以维护。
- 突破:相较于人肉检查表格数据而言,时间的消耗主要在“联表”这一操作上面。游戏内部逻辑相对复杂,策划表之间的数据也是紧密耦合,比如一个宝箱抽取,就有可能涉及4~5个表的相互关系。如果不能够解决联表耗时的问题,表格数据检查的效率会大打折扣。
因此总体来看,除了采用coding这一备选方案之外,另外一个较好的方法是采用声明式、配置化的方式描述表格检查规则,通过一系列数据处理规则的串联,导出来一份最终数据。这样一来相对减少了学习成本,从业务侧角度而言,从“学习coding”变成了“理解配置”;二来解决了联表效率的问题,业务侧只需要描述一个联表的数据处理规则,后台就可以自动按照规则描述的方式对数据处理,最终呈现到业务的,直截了当,就是最终的结果;三来解决了根本目的,不论是策划案比对(通常是另外的文档,不能按版本diff)还是检索不合规的数据,本质上都是数据导出,因此用数据处理规则的串联,就能解决大部分的需求。
