接口测试 [讨论] socket 接口测试如何绑定端口号?长连接模式?

infy001 · 2016年02月22日 · 最后由 扫地僧 回复于 2016年02月23日 · 2151 次阅读

小弟最近测试一银行系统底层 TCP 协议,为了提高效率,想让测试用例绑定 ip 和端口,就是所谓的长连接。
原理是这样的,一般 socket 接口都有个心跳系统,就是长时间没有通讯就会断开连接。
所以我的设计是这样的:每次发送数据都记录一个时间,然后与当前时间比较如果间隔大于预期间隔就发送一串数据,专门一个线程去控制。
小弟进入测试行业没多少时间,所以想和大家一起讨论下,也许的我理解是错误的!

共收到 4 条回复 时间 点赞

确定 server 支持长连接可以按你想的试试。
定时发心跳,一般发的心跳数据得满足定义的协议;否则 server 自检验是异常数据会主动踢掉。

你的意思,就是不能随便发?有的 server 验证数据,有的不验证?@zhangzhao_lenovo

心跳包当然不能影响正常的包的处理,应该是尽量的小,而且服务端能识别出来是心跳包,不作过多处理。你的想法是对的嘛

几年前做过这方面的测试,印象有点模糊了。。。socket 接口中的长连接才有心跳检测,一般在包头里面会有一些描述,例如包头长度、包体长度等,心跳检测包在包头里有标记位区分的。socket 接口不像 http、ws 等接口没有文档靠抓包分析就能测试,必须要按照接口文档,对截取的 16 进制包按每个字段定义的长度进行顺序解码,之后才能验证报文的正确性。当然,也有开发会在日志里面帮你解析成可读懂的内容了,但对于提升测试能力来说并无益处

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册