浅谈测试环境关联关系视图的构建技术

943 篇文章 0 订阅
130 篇文章 0 订阅

在金融科技领域,信息系统建设的规模逐渐扩大,众多测试环境间的关联关系也变得错综复杂;因服务提供方系统的版本问题导致的测试不充分、测试无法正常进行等问题频出,最终会导致生产问题产生。

本文重点讲述如何为用户描绘出一幅精准实时的研发测试环境关联关系视图,避免调用混乱引发的生产问题。

1 环境依赖:

不同测试环境可能依赖于特定的软件、硬件或网络配置。

2 数据依赖:

测试数据可能需要在多个环境之间共享或同步。

3 云上微服务间交互:

在微服务架构中,不同服务可能部署在不同的测试环境中,它们之间需要进行交互以完成测试活动。

4 云下IAAS间交互:

测试环境可能需要与外部服务提供方系统进行交互,这要求测试环境能够模拟或连接到这些服务提供方系统。

构建测试环境关联关系视图可采用下述三种常见的工具类型与方法:一是网络抓包工具,二是APM工具,三是自研代理或者工具

01 网络抓包

针对云下IAAS资源,主要包括Linux、Windows类型虚拟机,可以采用抓包工具进行交易追踪分析。抓包工具是拦截查看网络数据包内容的软件,能够捕获网络中的数据报文,并对其进行逐层拆包分析,类似于网络侦听器。

1.几种常见抓包工具介绍

Wireshark:免费开源工具,广泛用于网络分析。支持多种操作系统,具有强大的过滤和分析功能。

Tcpdump:一个命令行工具,用于在Linux和Unix系统上捕获数据包。它提供了丰富的过滤选项,可以捕获满足特定条件的数据包。

Fiddler:只支持Windows客户端,Linux环境需要安装mono环境

Mitmproxy:可支持定制Python脚本

Sniffer:一种商业工具,提供高级分析和管理功能。它支持实时数据包捕获和分析,并具有强大的可视化界面。

Storm Sniffer:功能强大的抓包软件,界面清爽简洁,操作简单易用。它可以快速截取和传输不同的数据资源,帮助用户了解网络运行状态。

Wicap:方便用户大量收集数据信息,提供便捷的抓包服务,数据准确可靠,适用于网络工作用户。

2.工作原理

监听网络流量:抓包工具绑定到特定网络接口,并开始监听流经该接口的数据包。

捕获数据包:当数据包通过时,工具会将其捕获并存储在本地计算机上。

分析数据包:捕获的数据包可以详细分析,包括协议、源和目标地址、端口号和包含的数据等。

3.最佳实践

抓包工具:

Linux:tcpdump抓包指令+wireshark分析工具

tcpdump [ -DenNqvX ] [ -c count ] [ -F file ] [ -i interface ] [ -r file ]

        [ -s snaplen ] [ -w file ] [ expression ]

1 抓包选项:

-c:指定要抓取的包数量。注意,是最终要获取这么多个包。例如,指定"-c 10"将获取10个包,但可能已经处理了100个包,只不过只有10个包是满足条件的包。

-i interface:指定tcpdump需要监听的接口。若未指定该选项,将从系统接口列表中搜寻编号最小的已配置好的接口(不包括loopback接口,要抓取loopback接口使用tcpdump -i lo),

            :一旦找到第一个符合条件的接口,搜寻马上结束。可以使用'any'关键字表示所有网络接口。

-n:对地址以数字方式显式,否则显式为主机名,也就是说-n选项不做主机名解析。

-nn:除了-n的作用外,还把端口显示为数值,否则显示端口服务名。

-N:不打印出host的域名部分。例如tcpdump将会打印'nic'而不是'nic.ddn.mil'。

-P:指定要抓取的包是流入还是流出的包。可以给定的值为"in"、"out"和"inout",默认为"inout"。

-s len:设置tcpdump的数据包抓取长度为len,如果不设置默认将会是65535字节。对于要抓取的数据包较大时,长度设置不够可能会产生包截断,若出现包截断,

      :输出行中会出现"[|proto]"的标志(proto实际会显示为协议名)。但是抓取len越长,包的处理时间越长,并且会减少tcpdump可缓存的数据包的数量,

      :从而会导致数据包的丢失,所以在能抓取我们想要的包的前提下,抓取长度越小越好。

2 输出选项:

-e:输出的每行中都将包括数据链路层头部信息,例如源MAC和目标MAC。

-q:快速打印输出。即打印很少的协议相关信息,从而输出行都比较简短。

-X:输出包的头部数据,会以16进制和ASCII两种方式同时输出。

-XX:输出包的头部数据,会以16进制和ASCII两种方式同时输出,更详细。

-v:当分析和打印的时候,产生详细的输出。

-vv:产生比-v更详细的输出。

-vvv:产生比-vv更详细的输出。

3 其他功能性选项:

-D:列出可用于抓包的接口。将会列出接口的数值编号和接口名,它们都可以用于"-i"后。

-F:从文件中读取抓包的表达式。若使用该选项,则命令行中给定的其他表达式都将失效。

-w:将抓包数据输出到文件中而不是标准输出。可以同时配合"-G time"选项使得输出文件每time秒就自动切换到另一个文件。可通过"-r"选项载入这些文件以进行分析和打印。

-r:从给定的数据包文件中读取数据。使用"-"表示从标准输入中读取。

使用抓包工具可能会影响网络性能,尤其是在捕获大量数据包时。因此,在使用时需要谨慎选择捕获的数据包数量和频率。捕获的数据包可能包含敏感信息,如用户密码、个人隐私等。

因此,在使用抓包时需要遵守相关法律法规和隐私政策,确保数据安全。在金融科技测试领域,抓包工具面临的困难是大范围推广难,只适用于小范围重点监测。

作为网络管理和安全分析中的常用工具进行网络故障排除效率、加强网络安全防护、优化网络性能等活动。难以用于快速准确形成全局环境关联关系视图。

02 APM工具

APM工具,即应用程序性能管理(Application Performance Management)工具,是一种用于监控、分析和优化应用程序性能的软件解决方案

APM工具可以帮助开发人员和运维团队实时监控应用程序的性能指标,及时发现和解决潜在的性能问题。

APM工具通过收集和分析应用程序运行时的各种指标和数据,如响应时间、吞吐量、错误率等,来提供全面的性能监控和管理能力。其主要功能包括:实时性能监控:APM工具能够实时监控应用程序的性能指标,通过可视化的方式展示数据,帮助运维人员及时发现并解决性能瓶颈和故障。

事务跟踪:APM工具可以追踪应用程序中的事务流程,对每个事务的执行时间和资源消耗进行详细记录和分析,有助于找出性能瓶颈和优化潜力。

异常检测与报警:APM工具能够检测应用程序中的异常行为,并及时发送警报通知运维人员,以便他们能够迅速采取措施进行故障排查和修复。

性能分析和优化:APM工具提供了丰富的分析工具和报告,可以帮助运维人员深入了解应用程序的性能问题,识别潜在的瓶颈,并提供优化建议。

1.APM工具的优势

故障快速定位:APM工具能够实时监控应用程序的性能和运行状态,当出现异常情况时,能够迅速定位问题,缩短故障排除的时间。

性能优化:通过对应用程序性能数据的收集和分析,APM工具可以发现性能瓶颈,并提供相应的优化建议,帮助运维人员改进应用程序的性能。

自动化运维:APM工具提供自动化的性能监测和报警功能,当系统出现异常时,能够自动触发警报并通知相关人员,减少了人工干预的需要,提高了运维效率。

数据驱动决策:APM工具可以提供丰富的性能数据和报告,运维人员可以基于这些数据做出有根据的决策,优化系统架构和资源分配,提高运维效率和系统稳定性。

2.APM工具推荐

市场上存在多种APM工具,如Dynatrace、Skywalking、New Relic、AppDynamics(Cisco)、博睿APM、SolarWinds、Pingdom、Site24x7等。这些工具各具特色,适用于不同的应用场景和预算需求。

各单位可根据自身的实际情况和需求进行评估和选择。然而APM工具普遍存在资源消耗较大的现状,根据调研APM工具稳定运行需要消耗10%的PAAS或者IAAS资源,依靠APM大范围在测试环境推广而形成全局关联关系视图对于较多单位而言还是显得比较“奢侈”;

APM工具是一种强大的应用程序性能管理解决方案,它能够帮助企业实时监控和优化应用程序的性能,提高用户体验和满足业务需求。随着技术的不断进步和市场的发展,利用APM工具针对重点领域系统进行性能监控、全景视图描绘是完全可行的。

03 自研代理或者工具

自研代理组件可以在k8s pod中执行hostname命令,获取pod所在微服务名称(deployment名称)+后续字符串(镜像版本),并采集到微服务的实时交易以及统计信息;依托于接口管控平台和K8S管理平台。是完全可以建立起一套丰富详尽的测试环境关联关系视图的,然而自研工具需要投入较多的人力成本,存在一定的技术门槛。

总之,金融科技行业测试环境中的关联关系视图是理解和分析测试环境中各元素之间关系的重要工具。通过网络抓包工具只能用于单目标系统分析,难以描绘出全面的视图,通过APM工具或者自研代理工具等手段可以构建出准确、全面且易于理解的关联关系视图。

这些视图在测试活动、环境运维、报错分析、缺陷追踪和系统优化等方面发挥着重要作用,为信息系统的稳定运行和持续改进能够提供有力支撑!

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值