For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
软件测试技术随着互联网的不断发展而被越来越多的软件开发企业关注,而本问我们就通过案例分析来简单了解一下,微服务软件测试常用方法分享。
一、流量录制回放测试
针对上述微服务测试的不足,尝试流量录制和回放解决方案,通过一定的方式将线上的真实流量录制下来,在线下进行回放。线下测试时,基于线上的回放流量可以灵活地测试服务的各自功能,还可以基于回放流量进行编辑修改,对服务依赖的其他请求进行 mock 和定制,使代码开发变得简单方便,且可随改随测,解决 RD 开发不便、自测流程过长的问题。
录制的流量要包含服务的请求/返回流量,以及能关联上的与其对应的其他交互流量。如果仅有服务的请求/返回流量,则只能被应用在查询类只读系统中,应用范围受限;如果其他交互不能和请求正确关联,则无法正确应用这些流量。
要解决流量的关联难题,一个解决方案是将流量整流,使其串行化。将线上原本服务并行流量的一台机器,控制其接收到的流量,将其服务的流量降低至串行,且流量之间间隔一定的时间(以便给异步其他请求预留时间),那么这些流量的请求/响应和其其他交互流量就被自动地关联了起来。
如何将请求和其他交互流量关联起来,可以基于分布式跟踪技术将请求和对其他系统调用的流量关联起来。但这种方式难点是并非所有其他交互流量都带有请求跟踪标识。还有一种思路是通过拦截语言层面的系统调用,将请求和对其他系统的调用进行关联。
二、仿真环境测试
作为在线服务,为了满足灰度发布、测试等多维度的需求,一般需要支持灵活的分流策略,将流量调度到不同的环境中。为了支持精细的灰度发布策略,需要根据一定的规则将线上流量分流到小流量集群,为了支持使用真实流量进行高仿真测试,还需要根据策略规则将一定流量引到仿真环境中。
小流量分流的特点是流量发往小流量集群后,不再进行任何处理,直接等待小流量集群的返回结果,然后将该结果转发给调用侧。仿真环境分流的特点是发往仿真环境的流量只是一份“影子”流量,相当于 Oneway 请求(不需要应答消息),对业务处理过程没有任何影响,还是和没有仿真环境的情况下一样处理。
仿真环境支持可以在服务框架层面进行,为了实现基于请求内容的路由和转发,框架充当了一个 Proxy 的角色,将请求解析后再发包发送给下游环境。基于仿真流量的特点,为了不对业务产生影响,发送到下游仿真环境的超时时间可以设置得非常小,即使有一些流量超时也没有关系,同时为了在自动生成的代码框架下实现仿真环境处理后的 Oneway 效果,可以自定义一个传输层,这个传输层的具体实现是什么都不进行处理,直接丢弃即可。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。