问答 对于客户端发送给服务端的数据如何进行测试验证

mengzh · September 19, 2019 · Last by mengzh replied at October 16, 2019 · 1387 hits

之前公司的windows产品会给服务端发送大量的log,今天突然想到这么问题。如何进行对大量的log进行验证呢?我们原来都是进行手工验证,非常繁琐,有没有自动化的方法呢?亦或者有没有其他更好地测试方法呢?以下两个场景是我想到的:
1 普通log,一般安装就会发送
2 某个场景下触发的log
我觉得无论移动端还是PC端都有这样的问题,在这里请教各位。

共收到 16 条回复 时间 点赞

log不是用来查问题的吗 为什么还要验证log

线上环境应该不会加吧 测试环境有时候用来调试问题会加一些log日志

有些log是记录用户操作或者是管理员操作之类的,上家公司碰到类似的;当时只能靠手工查询对应的数据表验证;
理想情况下:个人觉得可以一次性操作完后然后查询log,写一个脚本去验证。

log记录的正确性要求严格的话还是验证下比较好
客户端产品模拟点击,知道每一步的操作,访问日志断言即可(粗略验证)

一般我们是直接通过 code review 来确认重要地方有打印 log 的代码+功能测试的时候留意下是不是真的有打印。正常来说一个用户请求或操作,在一个系统内部打印的log在10条以内,所以人工看工作量倒不会很大。

听你的描述,这种 log 更类似于用户操作或者客户端各类操作的事件埋点?

只能慢慢去使用系统,对比log,搞一个干净的环境,最后摸清源头了,脚本也就出来了

理论上可以,但实际上很少有这样做的。

一般保存日志有几种方式:数据库、文件、消息队列消费至ES;
如果你要验证 log,只需要在执行对应操作后,去检查是否产生了正确的日志(读数据库、文件等)即可。

陈恒捷 回复

是这样的,主要是对一些用户行为的分析,用于以后对产品进行改进。由于有太多的变量因素,所以一直找不到有效的测试方法

Jack 回复

可以,但是估计工作量也很大,因为变量太多,这种情况只能说在固定环境下进行验证。

mengzh #10 · October 07, 2019 作者
Elsie 回复

准确说应该是用户的一些行为记录。不是说debug的log,原谅我用词不当😩

mengzh #11 · October 07, 2019 作者
arrow 回复

因为log量大,每次都要依次查看,很是费力。所以想问问各位有移动端经验的是怎么做的。

mengzh 回复

那这是另一个范畴了,和你的题目差异比较大。。。

可以看看小红书 MTSC 2018 的一个 topic ,介绍他们怎么测试客户端埋点的,做得比较全和自动化。

mengzh #13 · October 08, 2019 作者
陈恒捷 回复

好的,多谢

arrow 回复

为啥消息队列都会推送给ES 原理是什么

15Floor has been deleted

感觉你想说的是数据分析,对log进行数据分析呢

mengzh #17 · October 16, 2019 作者

额, 其实数据分析我们不做,数据分析是服务端有人做,但是我们需要验证发送的数据正确。

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up