(1)问题描述:
编辑部分历史工作流,发现编辑页面为空(实际有相应采集规则job)
(2)追根溯源
由于历史数据中job的运行参数格式进行转换,有部分特殊参数如{"confKey":"#day(-1)#","etlConf":{"day_id":"#day()#"},sql语句update job_info set parameters=REPLACE(parameters,',','') where parameters is not null and parameters like "%,%"执行后,将“,”替换为空,导致前端识别异常。
(3)启发:
部分迭代的功能上线需要对历史数据进行处理,对历史数据的测试相当重要。
具体方案可参考如下:
1、对于历史数据的变更的sql测试,需要分别使用黑盒和白盒的方法设计测试用例。测试人员需要查看处理的sql实际的语句改动的表,针对这部分再补充部分用例,而不是直接运行。
2、申请线上数据库的查看权限,可以查看需要改动的表线上包含哪些种类的格式,有针对性的进行测试。
3、对于转测后涉及相关数据库及配置的改动,部署前一定需要提前进行备份,如果中途发现部分数据库语句及配置有误,需要重新补发正确的邮件,测试人员根据重新补发的邮件基于复制的数据库从头至尾再次执行一次。