中间件、Socket 应该如何进行测试呢?

近期在找工作,看到不少企业要求测试这些,有点迷茫

回答·8
最热
最新
  • locust 压测吧非常适合
  • 中间件、Socket 通常是以 API 方式对外提供服务或接口,具体测试: 1.首先梳理业务功能,特别是对外提供的业务流程,可依据的文档有需求文档、设计文档、接口说明文档等等 2.其次功能测试覆盖,有第一点的准备,可以通过工具框架如 testng、pytest、loadrunner、jmeter 等等,当然如果有编程基础也可以纯代码编写调用测试 3.第三,性能、稳定性测试。通过对功能的学习和测试后,有了更深入的理解,根据上层调用流程,以及核心的业务对中间件进行抽象出具体的调用流程,再结合需求文档、同类产品、以及工程人员等多方位信息,比较容易设计出具体测试文档,常用工具有 locust、loadrunner、jmeter 等。 4.第四,潜在测试挖掘,一般特定中件间有特殊功能,比如密码方面,就要求对密码算法一致性验证.这部分归属到专项测试较为合适 ........
  • jmeter 很方便,有 socket 插件
  • 理解为就是网络请求 跟你在浏览器里敲个网址类似, 只是这个网址需要特殊参数特殊字符特殊占位 基于 ip 协议的都可以用
  • loadrunner 的协议非常全面,而且不难。但这只是一个发压工具,性能测试的难点在于如何部署有效的监控以及压测场景,工具反而是次要的,分开来说:   1、中间件压测你要监控队列消化速度,以及下游消费者性能。难点在于如何监控消息消费准确率。    2、socket 性能压测要监控网络相关指标,场景上需要考虑:message 推送频繁监控推送顺序,http2 链路复用消息准确性,包体超大混合等场景,另外还需要考虑高压下网络闪断等场景来测试高可用性。 所以如何压测只是一个很宽泛的问题,想要回答好需要对协议有深入了解,想设计好场景最好能亲自写一次测试对象的 demo 开发。
  • socket 一般涉及连接创建、协议封包解包这些吧。连接创建例如监听、端口占用、句柄数、异常中断、心跳之类 tcpip 相关的关键场景吧;协议的话如果不是有自定义协议感觉也没必要基于 socket 来通信,所以应该主要通过 struct 来构造正常异常数据包验证,别忘了字节序;此外还可以考虑 dpkt 来构造数据包或者直接发送 raw 验证。并行、穿行、阻塞、非阻塞都可以试试。性能测试感觉是 locust 重写个 socket 层的类来实现比较方便。
  • 用你的语言跑线程并发,
  • 中间件或 socket 通常都是调用对应的 api 进行测试。至于怎么调用嘛,jmeter 的 TCP 采样器、Python 的 Socket 库都可以用来测试 socket 接口。中间件嘛得看具体是什么中间件了,没有统一的测试工具。 知道测试工具后就简单了,接下来就按照功能性能安全易用性可维护性来测试就好了