全链路测试解决方案

企业的系统建设往往是“烟囱”式的,传统测试视角聚焦于单系统内部的测试,性能测试只是在线下进行模拟测试,无法对整个业务系统的功能完善性、系统健壮性进行客观的评价。汉克时代提供的全链路测试解决方案,借助自研的测试平台,根据客户的业务系统特点,制定合理的测试方案,依托实际生产环境,对业务系统的各个子系统、各条典型链路逐一进行测试,测试结果准确、可靠,为企业的降本增效、业务拓展提供了有力的支撑。

传统测试无法对业务系统的功能完善性、业务稳定性、系统健壮性进行客观的评价。决策人员缺乏系统整体功能、性能对应的准确测试数据支撑,无法合理对系统容量进行合理规划,从而导致系统建设成本的居高不下、业务推进的裹足不前。

全链路测试是各个金融机构、传统软件企业、互联网公司对大规模系统进行容量评估、容量规划的典型方式。全链路测试的链路形式主要是调用链路、业务链路。全链路测试的实现方式主要是功能测试、性能测试。

调用链路:发出请求到返回结果所经过的应用、服务的路径。调用链路测试目的是对单个系统、业务场景的容量进行评估,主要对单一业务场景的应用、缓存、数据库等各链路的性能进行评价。

业务链路:众多业务关联场景调用链路的集合。业务链路测试目的是对混合业务场景的容量进行评估,主要对整个系统的性能进行评价。

功能测试:对链路中某个节点需要实现的功能进行测试,其目的是为了验证单个节点的功能是否需求。

性能测试:对系统可支持的容量、稳定性、健壮性进行测试,其目的是为了验证系统是否满足大容量、大并发情景的高可用。

全链路测试重点关注以下几个方面:

测试环境:进行测试的环境尽可能接近真实的生产环境,模拟的准确度越高,测试结果信服度越高,系统的决策者能够根据测试结果制定合理、高效的系统规划。

测试数据:将生产环境中真实用户行为产生的业务流量进行录制,将录制的数据备份到离线流量文件,为执行真实流量回放准备。根据生产环境实际的业务流量配比模型,对测试需要的模拟仿真流量数据进行分配。

测试方式:测试过程中通过离线流量回放、线上实时数据引流、单节点大数据量对下游节点冲压等方式进行测试,多角度、多场景对系统的抗压能力进行评测。

全链路测试的落地实施,需要公司决策人、各职能角色的共同投入,合力完成,一条链路上的各个系统往往属于不同部门,全链路测试要进行很多业务间的协调和系统改造。

全链路测试实施过程包括如下几个方面:

测试准备:选择需要进行全链路测试的系统,厘清各个系统之间的调用关系。整理系统中的业务场景,找到支撑和实现业务场景的信息流链路,关注用户集中使用场景的调用链路,将调用链路与业务部门核对。将确定好的核心链路中的服务调用关系记录下来,同时记录分支业务等信息,标注出需要参与性能测试的场景。通过业务标识改造实现业务流量的隔离,通过业务流量隔离避免测试流量影响真实的线上用户,通过网关对流量的识别保证入口测试流量的识别。根据测试场景、流量比例进行测试方案设计与评审、测试环境的申请与集群部署、测试工具的选型与改造,测试数据的参数化准备、流量数据的脱敏、测试脚本的编写与调试。

场景验证:主要对评审通过的测试方案进行验证,包括测试实施方案的宣贯、硬件设备与网络调试、验证流量模型的准确性、验证流量请求的有效性、小流量的基础验证等事项。

实施功能测试:测试系统各个组件功能的正确性以及接入后的性能损耗,重点关注测试标记是否完整的透传到了数据库表;数据落库或读库的路由逻辑是否正确;下游或外部调用是否被挡板过滤;验证接口链路是否正常;业务场景和测试场景是否匹配业务范围;接入后对业务应用、中间件的性能损耗是否在可接受范围。

实施性能测试:根据测试方案,进行全链路的测试,包括对系统链路中各节点的功能验证、质量评价、降级演练、故障模拟等内容,测试完成后根据测试数据输出测试报告,对系统进行调优后再次进行测试,直至系统的功能、性能满足业务开展的需要。

汉克时代为中银富登、新华保险等客户进行全链路测试服务的过程中,为客户提供了领先、精准的测试服务,专业的服务质量、勤勉的服务态度获得了众多客户的高度赞赏,有力的支撑了客户方数字化转型的快速实施。

THEEND