CN113704089A - 一种全场景的gsm-r接口服务器测试平台系统 - Google Patents
一种全场景的gsm-r接口服务器测试平台系统 Download PDFInfo
- Publication number
- CN113704089A CN113704089A CN202110842165.3A CN202110842165A CN113704089A CN 113704089 A CN113704089 A CN 113704089A CN 202110842165 A CN202110842165 A CN 202110842165A CN 113704089 A CN113704089 A CN 113704089A
- Authority
- CN
- China
- Prior art keywords
- data
- test
- module
- gsm
- interface server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3676—Test management for coverage analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种全场景的GSM‑R接口服务器测试平台系统,数据模块具备覆盖面广泛的底层数据持久化能力,丰富多样的数据构造能力,高效统一的数据分发能力以及关键特征提取的数据校验能力;监控模块支持实时监测功能,通过尽早识别系统潜在问题,快速甄别即将发生的故障和刚刚发生的故障;调度模块通过自动智能扩展执行模块资源,实现智能负载管理和测试资源动态调配,在最大化测试资源利用率基础上,支持更大压力测试强度;交互模块通过丰富人机交互操作,支持较为完善的资源管理功能;借助监控模块的发压监控引擎、报警监控引擎、性能监控引擎以及熔断监控引擎支持,交互模块提供形式化的测试结果呈现及测试报警通知功能。
Description
技术领域
本发明涉及铁路系统测试技术领域,尤其涉及一种全场景的GSM-R接口服务器测试平台系统。
背景技术
调度集中是利用网络通信技术、计算机技术等实现行车调度远程控制的系统技术,是高速铁路运输生产指挥现代化的重要手段和措施,具有减员增效和提高铁路运输生产效率的显著作用。分散自律调度集中系统(Centralized Traffic Control,简称CTC)是集调度智能决策、实时遥控、故障安全和信息安全技术为一体,采用智能化分散自律控制原则,以列车运行调整计划为中心,兼顾列车和调车的高度智能化自动控制系统,具有组成结构先进、架构合理、可靠性和适用性强等特点,已成为高速铁路列车运输组织和调度指挥的核心系统,在我国高速铁路得到广泛应用。
GSM-R接口服务器是CTC系统内部子系统,位于CTC系统网络边界附近,通过数字移动通信网络负责CTC系统与机车及司机的数据交互工作,是无线车次信息缓存和传输、列车进路预告及无线调令转换和传输等任务的主要承担者和执行者。一个经过简化的典型GSM-R接口服务器工作环境系统结构如图1所示。图1中,CTC系统包括CTC应用服务器、GSM-R接口服务器,位于铁路局集团公司中心的追踪服务器、行调台、显示台等,以及位于前端车站的车务终端、自律机等。位于无线通信网络边缘的GPRS接口服务器(GPRS Interface Server,简称GRIS),负责GPRS网络与CTC系统的通信,完成与行车指挥业务系统有关的GPRS终端与其他应用系统之间的数据转发、协议转换及配合GPRS终端完成活动性检测等工作。CTC系统内部的GSM-R接口服务器与无线通信网络内部的GRIS采用局域以太网连接方式,长距离条件下采用光纤传输延伸局域网。
目前,GSM-R接口服务器开发、部署和应用过程,面临以下问题:1)由于高速铁路行车组织特点,GSM-R接口服务器对自身系统可靠性、稳定性和处理性能有极高要求,而这又与软件开发的固有缺陷存在一定矛盾。2)随着高速铁路信息化建设步伐加快和CTC系统的广泛推广,GSM-R接口服务器传输数据流量不断提升,业务逻辑交错复杂,相应研发体系的规模和复杂性也随之指数级增加。3)与此同时,国产化的推进以及CTC系统跨平台支持工作的实施,GSM-R接口服务器要求具备不同版本和不同平台下操作系统环境的兼容。研发工作的持续加压和相对简陋低效的测试环境严重阻碍了GSM-R接口服务器的持续长久发展。
因此,设计一款覆盖完备业务链路并且全面支持系统稳定性、可靠性和高性能测试的跨平台、全场景和自动化的GSM-R接口服务器测试平台,在消除以上缺陷的基础上,充分利用既有生产环境及生产数据,不仅支持线下隔离环境的完备测试,也支持线上真实环境辅助的稳定性和压力测试,具备安全可靠、真实高效的测试能力,成为了当前CTC系统以及GSM-R接口服务器开发急需解决的问题。目前主要有如下两种解决方案:
方案一、人工搭建完整测试环境,初始用例输入、中间过程控制和最终结果比对校核,完全或主要由人工驱动执行。
当前针对GSM-R接口服务器测试,主要依赖搭建完整虚拟仿真环境来完成,包括GSM-R接口服务器、CTC应用服务器、追踪服务器、显示台、车站自律机等。人工介入完整业务流程来模拟现场实际操作,通过测试工具主动输入测试数据,将GSM-R接口服务器经过逻辑运算的输出结果与预期进行比对,同时结合外部子系统的辅助验证(如GSM-R接口服务器缓存车次、机车配对信息时,显示台显示车次号会加黄框表明该列车已无线注册),给出待测功能点的有效性结论。一套典型的仿真测试环境如图2所示。相比图1生产环境系统结构,图2仿真测试环境以“GRIS仿真”实现图1中无线通信网络及机车的相关功能。方案一采用人工手动执行,测试自动化程度低;输入数据覆盖范围与人工劳动强度正相关,测试边界值重视不足;完整环境对软硬件要求高;无法进行压力测试且大量生产数据未被充分利用。因此,主要存在如下问题:
1)测试的前中后期环节皆涉及大量人力参与,自动化程度低,耗时耗力。2)依赖测试员经验和实际操作,方案容错性差,执行效率低。3)测试环境涉及大量辅助设备和仿真设备,硬件要求较高。4)测试成果不便于固化与维护,GSM-R接口服务器版本迭代中的回归测试无法利用既有成果。5)人工单步操作无法有效涉及GSM-R接口服务器的稳定性测试和性能测试。6)测试工作仅针对单次任务,无法输出有效完整测试统计指标,无法输出高质量的参考文档。
方案二、该方案持续优化“GRIS仿真”系统,在集成无线通信网络系统功能基础上,增加CTC系统部分功能,具体为:将所有与GSM-R接口服务器交互的、在无线通信网络系统和CTC系统中实现的对端功能,统一集成于单一“GRIS仿真”之中。举例来说,在方案一中,列车进路预告信息由车站自律机发送,现在预告信息构造和发送功能转移至“GRIS仿真”。具体来说:
如图3所示,在方案一的基础上,将无线通信网络功能整合进GRIS仿真内部的无线功能模块,将CTC系统功能整合进GRIS仿真内部的CTC模块,设计实现“改进GRIS仿真”系统。其中,无线功能模块实现构造随机无线车次信息并向待测GSM-R接口服务器发送的功能,CTC模块实现构造随机进路预告和无线调令并向待测GSM-R接口服务器发送的功能,调度模块实现任务分配、对外测试速率控制、基础功能支持、结果校验和呈现等功能。“改进GRIS仿真”在方案一的基础上,实现了部分业务功能的模块级别的自动化测试,如无线车次业务逻辑的自动化测试、进路预告业务逻辑的自动化测试等,并且在一定程度上实现了GSM-R接口服务器核心功能的可靠性和稳定性测试,初步具备了核心功能的压力测试能力。
但是,方案二的主要存在如下问题:
1)仅具备核心业务功能模块的自动化测试能力,大量其他业务功能仍需按照方案一的方式由人工操作执行。2)仅具备一定程度的核心业务功能模块的压力测试能力,存在压力测试力度不足和测试范围较小等问题。3)仍未充分利用大量现场生产数据,其原始测试数据的构造依赖研发人员经验,输入数据覆盖范围小,边界值重视不足。4)相比方案一,仅实现了模块级别的测试工具,平台整合度仍待提高。
发明内容
本发明的目的是提供一种全场景的GSM-R接口服务器测试平台系统,通过数据模块、监控模块、调度模块、执行模块以及交互模块设计,构建了覆盖完整GSM-R接口服务器业务场景的自动化测试平台,将模块级测试工具扩展为平台级测试环境,消除重复繁杂的人工工作,大幅降低人工劳动强度。
本发明的目的是通过以下技术方案实现的:
一种全场景的GSM-R接口服务器测试平台系统,包括:交互模块、调度模块、数据模块、执行模块以及监控模块;其中:
所述交互模块,用于通过人机交互方式对测试平台系统进行配置和管理,以及设置测试任务,并呈现测试结果以及监控模块输出的各类监控数据和/或报警信息;
所述调度模块,用于实现测试环境、测试数据和测试任务的集中管理与统筹调配,结合交互模块输出的测试任务指导数据模块输出相关测试数据至执行模块,以及控制执行模块将待测GSM-R接口服务器输出的数据传输至数据模块;还用于根据各执行模块的负载进行,指导与控制测试数据动态调整流向;
所述数据模块,用于存储测试平台测试所需的以及测试产生的各项数据,以及根据执行模块输出的来自待测GSM-R接口服务器输出数据产生阶段性或最终测试结果,并通过交互模块呈现;
所述执行模块,用于结合待测GSM-R接口服务器实现的各项测试任务,包括:将来自数据模块的测试数据传输至待测GSM-R接口服务器,以及将来自待测GSM-R接口服务器的输出数据传输至所述数据模块;
所述监控模块,用于实时监控测试平台系统各模块以及待测GSM-R接口服务器及其宿主系统,输出各类监控数据和/或报警信息。
由上述本发明提供的技术方案可以看出,数据模块具备覆盖面广泛的底层数据持久化能力,丰富多样的数据构造能力,高效统一的数据分发能力以及关键特征提取的数据校验能力;监控模块支持实时监测功能,包括待测GSM-R接口服务器状态及其宿主环境状态,通过尽早识别系统潜在问题,快速甄别刚刚发生的故障和即将发生的故障;位于调度模块的负载管理引擎通过自动智能扩展执行模块资源,实现智能负载管理和测试资源动态调配,在最大化测试资源利用率基础上,支持更大压力测试强度;交互模块通过丰富人机交互操作,支持较为完善的资源管理功能,包括测试环境管理、测试流程控制管理、测试数据管理等;借助监控模块的发压监控引擎、报警监控引擎、性能监控引擎以及熔断监控引擎支持,交互模块提供形式化的测试结果呈现及测试报警通知功能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明背景技术提供的GSM-R接口服务器工作系统结构示意图;
图2为本发明背景技术提供的方案一中的典型仿真测试环境示意图;
图3为本发明背景技术提供的方案二中的引入测试中间件的仿真测试环境示意图;
图4为本发明实施例提供的一种全场景的GSM-R接口服务器测试平台系统的示意图;
图5为本发明实施例提供的测试隔离技术的示意图;
图6为本发明实施例提供的特性环境与公共环境服务对应关系示例图;
图7为本发明实施例提供的数据模块处理测试数据流程图;
图8为本发明实施例提供的执行模块结构示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
首先对本文中可能使用的术语进行如下说明:
术语“和/或”是表示两者任一或两者同时均可实现,例如,X和/或Y表示既包括“X”或“Y”的情况也包括“X和Y”的三种情况。
术语“包括”、“包含”、“含有”、“具有”或其它类似语义的描述,应被解释为非排它性的包括。例如:包括某技术特征要素(如原料、组分、成分、载体、剂型、材料、尺寸、零件、部件、机构、装置、步骤、工序、方法、反应条件、加工条件、参数、算法、信号、数据、产品或制品等),应被解释为不仅包括明确列出的某技术特征要素,还可以包括未明确列出的本领域公知的其它技术特征要素。
术语“由……组成”表示排除任何未明确列出的技术特征要素。若将该术语用于权利要求中,则该术语将使权利要求成为封闭式,使其不包含除明确列出的技术特征要素以外的技术特征要素,但与其相关的常规杂质除外。如果该术语只是出现在权利要求的某子句中,那么其仅限定在该子句中明确列出的要素,其他子句中所记载的要素并不被排除在整体权利要求之外。
除另有明确的规定或限定外,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如:可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本文中的具体含义。
当浓度、温度、压力、尺寸或者其它参数以数值范围形式表示时,该数值范围应被理解为具体公开了该数值范围内任何上限值、下限值、优选值的配对所形成的所有范围,而不论该范围是否被明确记载;例如,如果记载了数值范围“2~8”时,那么该数值范围应被解释为包括“2~7”、“2~6”、“5~7”、“3~4和6~7”、“3~5和7”、“2和5~7”等范围。除另有说明外,本文中记载的数值范围既包括其端值也包括在该数值范围内的所有整数和分数。
下面对本发明所提供的一种全场景的GSM-R接口服务器测试平台系统进行详细描述。本发明实施例中未作详细描述的内容属于本领域专业技术人员公知的现有技术。本发明实施例中未注明具体条件者,按照本领域常规条件或制造商建议的条件进行。本发明实施例中所用仪器未注明生产厂商者,均为可以通过市售购买获得的常规产品。
如图4所示,一种全场景的GSM-R接口服务器测试平台系统,主要包括:交互模块、调度模块、数据模块、执行模块以及监控模块;其中:
所述交互模块,用于通过人机交互方式对测试平台系统进行配置和管理,以及设置测试任务,并呈现测试结果以及监控模块输出的各类监控数据和/或报警信息;
所述调度模块,用于实现测试环境、测试数据和测试任务的集中管理与统筹调配,结合交互模块输出的测试任务指导数据模块输出相关测试数据至执行模块,以及控制执行模块将待测GSM-R接口服务器输出的数据传输至数据模块;还用于根据各执行模块的负载进行,指导与控制测试数据动态调整流向;
所述数据模块,用于存储测试平台测试所需的以及测试产生的各项数据,以及根据执行模块输出的来自待测GSM-R接口服务器输出数据产生阶段性或最终测试结果,并通过交互模块呈现;
所述执行模块,用于结合待测GSM-R接口服务器实现的各项测试任务,包括:将来自数据模块的测试数据传输至待测GSM-R接口服务器,以及将来自待测GSM-R接口服务器的输出数据传输至所述数据模块;
所述监控模块,用于实时监控测试平台系统各模块以及待测GSM-R接口服务器及其宿主系统,输出各类监控数据和/或报警信息。
优选的,考虑到由于以下问题:1)实际行车环境要求绝对的环境安全与隔离,但生产引流机制(如压力测试、稳定性测试)的引入使测试环境与实际生产环境产生关联,存在测试干扰生产的危险。2)测试基准数据需要保持干净,不能受本次测试工作的污染。因此,本发明实施例中,所述测试平台系统引入了测试隔离技术,所述测试隔离技术至少包括:专属测试账号与状态部分、专属测试数据构造部分以及专属测试阀门开关部分。通过测试隔离技术,保证测试环境仅可与生产环境产生读共享、杜绝写通向,实现业务并行、杜绝业务交叉。各部分主要说明如下:
1、专属测试账号与状态部分。
本发明实施例中,铁路行车调度系统基本都涉及登录认证功能。测试平台开启专属测试账号功能后,系统登录将使用专属测试账号,以与真实的实际生产账号区别和隔离。测试平台实现专属测试账号构造服务,被构造的专属测试账号可以采用关键词的形式,如测试账号标注“test”关键词,也可以采用专属测试账号池的形式,每次测试任务使用缓冲池中的专属测试账号。
使用专属测试账号登录测试平台系统,待测GSM-R接口服务器及测试任务将在测试平台系统中处于专属测试状态,该专属测试状态将维持至测试任务结束。在各项测试任务中,被测服务、测试开关以及测试平台系统的模块、引擎识别和应用测试账号,并实现各自基于专属测试状态的测试隔离功能。
示例性的:1)在数据模块的数据构造引擎中,当数据构造引擎监测到专属测试状态时,将构造具备测试属性的测试数据,如机车号构造逻辑中,新构造的机车号将分布在该线路实际不存在的范围内。2)在调度模块的数据管理引擎中,当数据管理引擎监测到专属测试状态时,生产数据可以被引流至测试环境,但待测系统产生的测试输出被数据管理引擎严格控制在测试环境之中。当退出专属测试状态时,生产引流阀门立即关闭,引流服务终止,引流数据流截断。3)在后续专属测试阀门开关功能中,当开关逻辑监测到专属测试状态时,测试数据也被阀门控制不会污染生产数据,测试业务逻辑不会交叉干扰实际生产业务。
2、专属测试数据构造部分。
所述专属测试数据构造由数据模块配合实现,区分仿真测试数据与实际生产数据。构造时使用了区间隔离技术与数据标签技术。其中:
1)区间隔离技术包括:分析实际生产数据分布范围,将生产数据未涉及的分布区间划分为独立隔绝的测试数据范围。示例性的,根据相关技术标准,真实有效高速动车组旅客列车车次分布为G1-G9998,仿真测试环境可以使用G10000-G99999的车次号范围;如本线路区域ID范围为998-1120,可以选定不在此范围的区域ID作为测试数据。
2)数据标签技术包括:对于不是由测试平台系统自主构造的数据,在应用于基于引流机制的仿真测试环境中时,为了避免对实际生产业务的影响和生产数据的污染,需要从数据层实现测试数据标记和隔离功能,例如,对测试数据增加附属标签,表明其测试身份。示例性的,GSM-R接口服务器服务调用中,可以在调用请求头部增加<Key,Value>作为测试标记(用于标记功能测试、性能测试等测试用途)。
本领域技术人员可以理解,基于引流机制的仿真测试环境是指利用生产引流技术的测试环境,其中,生产引流是将真实生产环境的数据重定向或复制到测试系统上的一种测试技术,目的是让待测系统持续真实经受复杂生产数据的考验,适用于特性升级和系统迭代开发过程。
图5展示了基于生产引流机制的测试方案。真实生产业务产生的生产数据按照既有流程输送到生产GSM-R接口服务器集群,完整业务流程,同时被测试平台系统引流至测试集群。生产数据2经由测试平台系统改造,增加测试数据标签后产生测试数据3,由测试GSM-R接口服务器逻辑运算后,部分数据4回传至测试平台系统,部分数据5传送至其他行车调度系统。其他行车调度系统监测到测试数据标签,识别其身份后,将输出数据6传送至测试平台系统,与正常输出8/9隔离。
如图5所示,测试GSM-R接口服务器集群,是测试环境中待测试的GSM-R接口服务器组成的集合。生产环境中,各铁路局按线路分别设置各自线路GSM-R接口服务器(主备双机),再由总对外GSM-R接口服务器统一实现与GRIS的数据交互。大量的线路GSM-R接口服务器和总对外GSM-R接口服务器组成生产环境的GSM-R接口服务器集群。类似的,仿真测试环境中,成比例设置“测试GSM-R接口服务器集群”。
3、专属测试阀门开关部分。
本发明实施例中,通过专属测试阀门控制测试数据通道开通与否,专属测试阀门开关打开,测试数据流量流入测试平台系统的相关模块,接收数据处理和/或转发服务,否则就会被对端直接拒绝;如图5所示,其他行车调度系统的隔离模块的右侧附加有专属测试阀门开关(图5中简称为阀门开关)。
专属测试阀门开关开通与否,在初始时刻与测试环境需求有关;测试任务的目标包含有对应业务功能时,阀门开关开通,否则关闭;在测试任务执行时刻,专属测试阀门开关受监测模块控制;当监控模块监测待测GSM-R接口服务器异常(如测试压力超限下的过载保护,或者存在仿真测试环境/生产环境互扰,或者特殊情况需紧急开通/关闭特定系统/模块的服务,等等),调整阀门开关状态,一般情况下,出现异常情况后,需将阀门调整为关闭状态。
需要说明的是,以上介绍的是采用了简单易行且适配GSM-R接口服务器的软件层面测试隔离技术。根据实际需要,还可以选择硬件隔离或者网络隔离等,从而实现更严格测试隔离,但测试成本也更高。随着行车调度系统的自动化和智能化发展,更高等级安全要求必然对应更为完善的安全保障和隔离技术。
本发明实施例提供的全场景的GSM-R接口服务器测试平台系统中,测试任务主要包括:功能性测试和非功能性测试两大类。功能性测试是对产品各项具体业务功能进行验证,发现存在于系统之中的逻辑缺陷。功能性测试需要针对GSM-R接口服务器核心功能(如无线车次功能、接发车进路预告功能、无线调令功能等)和非核心功能(如系统初始化、主备双机同步和倒切功能)进行系统全面测试,以确保系统功能符合规范。非功能性测试是在软件实现既定功能目标基础上,对产品的安全性、可靠性、稳定性和性能等进行验证,主要包括极限性能测试、压力测试和负载测试、最低资源测试和重复稳定性测试等。测试发现的缺陷和问题,随检测时间的后移而曲率增高。现有GSM-R接口服务器测试方式,是在软件新版本的内部发布阶段,通过测试小组独立且封闭的初始环境搭建、用例流程走查,并辅以部分半自动化的回归测试工作加以实现。这一方式存在的问题是测试人力消耗巨大,测试环境要求较高,测试时间在整套软件开发和发布流程中所处的时间节点逐渐后移,问题修补代价剧增;人工设计的测试用例导致代码覆盖率不甚理想;较少涉及非功能性测试。
因此,本发明实施例提供的全场景的GSM-R接口服务器测试平台系统主要解决的技术问题包括:
1)尽力消除既有前置和后继复杂繁琐和重复性的人工工作,将模块级测试工具扩展为平台级测试环境,实现GSM-R接口服务器的全场景自动化测试支持。
2)充分利用现场完备的生产环境和详实的运营数据,通过截流和引流以及适当改造的现场生产数据,实现生产引流机制下的稳定测试和压力测试。专属测试账号/状态、压测开关阀门、压测数据标记等技术手段,在完成生产数据复制和重定向功能下,解决了测试环境与生产环境的隔离和独立,保证生产环境安全。
3)测试平台数据模块需要具备丰富多样和覆盖面广泛的数据构造能力,通过生产数据改造、生产数据标记、随机数据构造、边界遍历等方式,实现输入数据的边界测试范围的最大化。
4)测试平台调度模块通过数据调度、任务调度和负载管理,实现压力测试功能。方案具备快速水平扩展能力,可以满足大数据量下业务处理要求,实现对GSM-R接口服务器全方位性能测试。
为了解决以上技术问题,本发明实施例提供的全场景的GSM-R接口服务器测试平台系统需要满足如下要求:
1)测试平台的测试覆盖范围和自动化程度较高。在梳理业务功能清单后,测试平台通过全场景覆盖(即核心功能和非核心功能的全覆盖)和完备数据构造,实现GSM-R接口服务器的功能测试全覆盖。通用规则定制等技术可以减少人工重复劳动,提高测试自动化程度。
2)同时支持线上测试与线下测试。线上测试需要通过数据隔离和服务状态隔离等技术手段保证生产环境的安全。其中,线上测试是指连接真实生产环境,使用生产数据进行的测试;而与真实生产环境隔离、单纯利用仿真测试环境开展的测试即为线下测试,例如,前文背景技术介绍的方案一与方案二均属于线下测试范畴。
3)支持非功能测试。通过水平扩展、线上测试等措施,测试平台提供稳定性、可靠性和性能等非功能测试能力。精确的压力控制和准确的链路压测监控,可以保证输出精确的测试报告。
4)测试平台的易用性好,输出数据详实。测试平台要易于上手,输出的链路信息用于现场工程人员理解产品业务逻辑和开展施工操作,可视化的性能指标数据形象展示系统各维度属性。
为了更加清晰地展现出本发明所提供的技术方案,下面对全场景的GSM-R接口服务器测试平台系统各个模块做详细的介绍。
一、交互模块。
本发明实施例中,交互模块是测试平台的人机交互接口,接收人工操作和输入,对外输出平台测试过程和结果,其核心包括:人机操作部分、链路管理部分、数据呈现部分与报警通知部分。
1、人机操作部分。
所述人机操作部分包括:
1)用户与角色管理,涉及测试平台系统的使用权限和控制权限的定制与管理。
2)测试环境管理,涉及测试环境资源分配以及测试平台系统控制。
3)测试任务管理,涉及测试项目管理与测试用例管理以及定时任务管理。
2、链路管理部分。
测试/业务链路是待测系统业务逻辑关系的顺序调用关系,可由测试平台系统提供,对待测GSM-R接口服务器及其使用人员有重要参考价值:1)测试链路可以清晰呈现待测系统的业务调用逻辑和测试平台的测试流程地图,校核业务流程的正确性。2)测试链路及其对应业务逻辑流程,可以以文档形式作为培训材料,指导现场工程部署和调试。3)测试链路可以完成服务依赖梳理,监测待测系统是否具备完备的服务能力,是否需要执行模块进行服务模拟。4)通过基于监控性能服务的链路统计分析,梳理其中无效操作、耗时操作,用于后续待测系统性能调优。
本发明实施例中,基于测试数据、服务ID与日志类型ID三元组进行链路合并与梳理;测试数据(包括待测GSM-R接口服务器的输入和输出),由交互模块提取数据的相关特征(如车次、机车信息等)作为测试数据标识;服务ID是待测GSM-R接口服务器对外提供功能标识;日志类型ID,包括测试平台系统自身日志类型ID与待测GSM-R接口服务器产生的日志类型ID;测试任务执行中,输入输出数据在测试平台和待测GSM-R接口服务器间交互,即待测GSM-R接口服务器对外提供业务功能或服务。不同层级及顺序的服务具有业务相关性。最终链路信息以图形化形式呈现给测试人员,并提供文本资料。
示例性的:以接车进路预告为例,测试平台系统输入相应车次、机车、线别的无线车次信息(解析提取测试数据的关键特征,如车次),传送至待测GSM-R接口服务器并产生无线车次解析服务和无线车次缓存服务(产生服务ID和日志类型ID)。车站自律机排路完毕后,发送进路预告信息至待测GSM-R接口服务器,产生进路预告解析和转发服务(产生服务ID和日志类型ID),输出测试数据(获取进路预告数据的关键特征)。测试平台产生预告回执(获取预告回执数据的关键特征),由待测系统完成回执处理(产生服务ID和日志类型ID)。测试平台根据完整过程所涉及的测试数据、服务ID和日志类型ID三元组进行定位,生成本次调用链路的自动梳理。
3、数据呈现部分。
所述数据呈现部分包括:通过设定的方式呈现测试过程与结果数据。
示例性的,结果数据可以包括:测试交互数据流量曲线、测试过程中待测系统性能指标以及最终测试结论等。呈现方式可以包括:图标式和文本式等,并提供呈现数据的序列号存储功能。
4、报警通知部分。
所述报警通知部分包括:定制消息通知与监控报警。其中:
1)定制消息通知包括:通过交互模块的人机操作,定制消息通知规则,满足通知规则中预定义条件时,按预定义方式通知目标用户。
示例性的,通知规则包括:事件触发时机(如测试开始、测试关键步骤、测试结束等)、通知方式、通知内容、通知目标(特定开发人员或测试人员等)、重复通知时间间隔,等等。
2)监控报警包括:在预定义策略下,由监控模块产生的报警事件,以预定义方式通知目标用户。常见的监控报警包括执行模块资源不足报警、待测系统压力超限报警,等待。
上述两种通知报警的通用方式包括邮件、短信以及即时界面呈现等。
二、调度模块。
调度模块是测试平台系统的大脑和指挥中心,实现测试环境、数据和任务的集中管理和统筹调配,核心功能执行单元包括:业务场景调度引擎、测试环境管理引擎、任务管理引擎、数据管理引擎以及负载管理引擎。
1、业务场景调度引擎。
GSM-R接口服务器的核心业务功能包括:1)处理无线车次功能:GSM-R接口服务器通过GRIS接收机车发送的无线车次信息,生成车次号/机车号配对关系,同时产生列车启动停稳信息、小编组信息等。2)处理无线调令功能:GSM-R接口服务器根据已缓存的车次号/机车号配对关系,向机车转发列车控制人员的无线调度命令,并返回列车控制人员调令回执。3)处理进路预告功能:GSM-R接口服务器根据已缓存的车次号/机车号配对关系,向机车转发已排列进路的预告信息,并向车站返回预告回执。4)处理调车作业单功能:同“无线调令功能”类似。每个核心业务对测试平台的管理和规范性的诉求各不相同,且核心业务之间有依赖和交叉关系。如无线调令功能、进路预告功能和调车作业单功能皆依赖于无线车次功能,无线调令功能和进路预告功能在业务场景方面存在交叉。
基于上述GSM-R接口服务器的核心业务,本发明实施例中,所述业务场景调度引擎,用于执行单一业务准备与清理工作,以及多业务场景调度工作;具体的:
1)执行单一业务准备与清理工作:针对单一业务测试,如功能测试阶段,在进行测试之前需要进行各项准备工作,包括参数验证、开关控制、基础数据铺垫等。测试场景切换或测试工作执行完毕,需要对环境、参数、数据等进行还原和清理,包括环境资源释放、参数复位、临时数据清除等,消除顺序相邻测试任务之间的干扰和影响。前置准备和后置清理工作内容清单,可配置于场景定义文件。
2)多业务场景调度工作:针对并行业务测试,如压力测试阶段,由于多个执行模块的并行工作以及单一执行模块内部多个测试任务的并行执行,统筹安排和协调单一业务之间的执行顺序尤为重要,尤其是对数据有关联和业务有依赖的测试单元,错乱或无序的测试顺序极有可能导致部分测试任务的失败。业务场景调度引擎通过业务功能依赖关系和测试任务依赖关系的支持,以及测试任务顺序ID等技术手段,保证多业务场景之间的有序执行。
2、测试环境管理引擎。
本发明实施例中,所述测试环境管理引擎,用于实现测试环境部署与备份、实现不同测试环境的管理与隔离工作以及实现基础统一服务的测试环境管理;具体的:
1)实现测试环境部署与备份:随着产品规模扩大和测试环境日趋复杂,手工搭建和启动一套完整测试环境将变得困难。测试环境管理引擎通过一系列自动化脚本(用于自动化设置和备份测试环境)、资源隔离复用技术(通过虚拟化技术将实体环境转换为虚拟环境的虚拟机、容器等),提供测试环境的快速部署和备份功能。
2)实现不同测试环境的管理与隔离工作:大型系统复杂交付流程包含了多样且迭代的测试内容,如冒烟测试、功能测试、性能测试和交付测试等。针对不同测试内容的测试环境与测试环境之间存在流水线相连和传递的现象,部分后续和高级测试环境依赖前置和低级测试环境,基础测试环境的变更可能导致上层测试环境的无效。测试环境管理引擎通过约束环境变量(如记录前置测试环境的核心参数值)、服务内容(如记录前置测试环境的核心服务功能)、限制变更内容/次数(引入测试环境变更记录表)以及引入测试环境镜像(备份测试环境副本)等措施,保证测试环境之间的独立、稳定和互不干扰。本功能主要用于不同测试场景之间管理和隔离,业务场景调度引擎中的“单一业务准备和清理工作”功能主要用于同一场景下不同测试用例之间的管理和隔离。
3)提供基础统一服务的测试环境管理功能:测试环境存在公共环境和特性环境2类。公共环境提供基础性的服务功能,如无线车次功能等。特性环境针对具体测试任务,在公共环境基础之上,开放和部署特定测试内容。测试环境管理引擎统筹统一精简的公共环境,为上层特性环境提供一对多的支持。如图6示例中,公共环境包括下层细虚线组成的2个公共环境P1/P2,上层细虚线组成的2个特性环境S1/S2,其中公共环境P1是两个上层环境S1/S2的公共基类.
3、任务管理引擎。
类似于业务功能依赖和交叉、测试环境依赖和交叉。对测试任务而言,也存在依赖和交叉问题,本发明实施例中,通过所述任务管理引擎实现测试任务的单向隔离以及并行调度。
4、数据管理引擎。
本发明实施例中,所述数据管理引擎,主要负责即时测试任务中的数据调度工作。测试数据包括基准输入数据、基准输出数据、实时输出数据、测试过程控制数据、测试过程日志数据、测试监控统计数据以及其他平台模块产生的即时数据等。
测试任务开始之前,数据管理引擎读取测试任务,按照测试任务中指定的测试环境配置参数配置当前环境;测试工作正式开始,数据管理引擎指导数据模块的数据构造引擎读取或产生测试数据(测试基准输入数据),控制数据模块将测试数据输入至执行模块,测试过程控制数据也被传输至执行模块,控制其运转逻辑;测试工作持续进行,数据管理引擎控制执行模块将待测GSM-R接口服务器产生的实时输出数据输出至数据模块的数据校验引擎,测试过程日志数据输出至数据模块的数据存储引擎;测试过程中,监控模块也在不断产生各类监控数据(例如,各类发压统计、报警统计、性能监控等统计数据),相关监控数据由数据管理引擎控制传送至数据模块的数据存储引擎。
此外,所述数据管理引擎,还用于在压力测试场景中,控制测试输入数据与执行模块的映射关系。在大数据量场景下,希望控制多个执行模块各自数据响应范围。例如,在生产引流测试环境中,共有10条线路的数据被引流至测试环境,对应共有3组执行模块。可以将10条线路数据按照3/3/4的平均原则,引流数据至对应执行模块,也可以按照业务场景、测试功能、数据范围等标准,划定多执行模块各自数据响应范围,还可以按照随机原则(如按照机车号尾号除3余数,对应3组执行模块),不具体限定线路数据与执行模块的对应关系。
5、负载管理引擎。
本发明实施例中,所述负载管理引擎,用于性能测试场景下(用于测试系统单位时间最多能处理的无线车次数据),基于监控模块输出的报警统计信息,指导与控制测试数据动态调整流向,平衡各执行模块的工作量;在测试平台系统的执行能力不足时,通过执行模块的横向扩展与添加,进行智能与动态的测试能力补充;具体来说:
单一执行模块负载压力超过自身处理能力,即为执行模块的负载超限,相关表现为监控模块主动监测性能异常以及被动接收执行模块异常报警;在此场景下,如果不加以控制(限流、断流),该模块处理队列将产生数据堆积和丢弃现象,业务服务延迟或不可用,需要将其超限负载均衡至其他资源富裕的执行模块。为实现此功能,负载管理引擎保存有执行模块清单,包括执行模块网络连接信息、负载信息以及可用资源信息等;在某一执行模块负载超限时,负载管理引擎查询清单,询问其余执行模块负载情况(执行模块接收处理数据总量与资源总量比值),具体询问方法,包括主动信息交互、被动接收待测系统队列信息、利用探针查询待测系统状态等。之后,通过负载算法,将负载超限的执行模块的超限测试数据重新引流至其他执行模块,直至负载超限的执行模块的负载压力回归正常值。
本发明实施例中,负载算法负责选取可以接收其他模块超限压力的执行模块,具体原则包括:1)选取负载压力最小的执行模块接收全部超限负载。2)选取若干资源富裕的执行模块平均或按资源富裕程度接收超限负载。3)随机选取单一或若干资源富裕的执行模块接收超限负载。
此外,当无可用执行模块承担超限负载时,即为测试平台系统的执行能力不足(负载超限),此时,依靠既有资源已无法承担既有工作,需要扩展引入新的执行模块。日常测试中,根据工作经验选定并部署适当数量待测系统。压力测试任务进行中,监控模块实时监控执行模块系统性能,包括CPU、内存等。压测高峰期,测试平台监测已用资源超过阈值时(如CPU使用率超过85%,内存资源不足以进行持续测试),测试平台系统会临时申请执行模块资源,快速扩容,完成压测支撑。当压测压力降低,资源利用率低于下限时,测试平台又释放多余执行模块资源,在剩余模块间重新调配测试负载,实现负载压力的动态均衡,减少资源浪费。
三、数据模块。
本发明实施例中,所述数据模块包括:数据存储引擎、数据构造引擎、数据分发引擎以及数据校验引擎;对应实现数据存储、数据构造、数据分发和数据校验等功能,如图7所示,提供了一项测试任务中的数据处理流程及对应引擎功能关系。
1、数据存储引擎。
本发明实施例中,所述数据存储引擎位于数据模块底层,通过内嵌的存储系统(各类数据库、自定义数据文件等)以及抽象整合的对外接口,提供业务数据、测试描述数据、日志数据、报警数据以及辅助数据的相关数据操作功能(增删改查等)。
引擎内嵌的存储系统直接决定了数据模块所能提供的底层数据处理性能和功能,可以选用的存储系统样式多样,包括结构化数据库MySql、Oracle等、非结构化数据库nosql等、内存数据库SQLite、Redis等、分布式数据库HDFS等,以及各种通用性和专用型非结构化数据文件类型。存储系统选型需要从待测系统业务匹配属性,以及存储系统本身的运维成本、读写性能、安全性和扩展性等角度统筹考量。目前最常选用的存储系统包括结构化数据库MySql、内存数据库Redis以及本地专用非结构化数据sdat文件等。数据存储引擎封装了各类底层存储系统操作方式和数据差异,对外提供统一编程规范和接口。
本发明实施例中,数据存储引擎存储与管理各类数据说明如下:
1)业务数据,包括:来源于实际生产环境的GSM-R接口服务器实际接收数据,以及来源于仿真测试环境的GSM-R接口服务器发送的输出数据。前者可以作为数据构造逻辑中的已录入既有数据用于重复测试。
本发明实施例中,仿真测试环境的GSM-R接口服务器是位于仿真测试环境且处于测试链路上、接受测试任务的GSM-R接口服务器,也即待测GSM-R接口服务器。
本领域技术人员可以理解,GSM-R接口服务器可以多级连接,一级接口下可连接多个二级接口。对于某一测试任务,如果只是有针对性验证二级接口中的某一个接口时,则该二级接口为待测GSM-R接口服务器,其余二级接口和一级接口则是为待测接口提供完备测试环境服务的辅助系统。若另外一个测试任务,可能既要验证一级接口的转发功能,也需要验证所有二级接口的数据处理功能,则相关接口均为待测GSM-R接口服务器。
相对待测系统而言,业务数据是其与外部交互的收发数据。在存储和呈现形式上,业务数据可以是原始二进制数据流,也可以是转义后的压缩数据。
2)测试描述数据,从宏观、微观以及概要等各个层级描述测试任务,可以进一步细分为任务描述数据、操作描述数据和概要统计数据3类。具体来说:
任务描述数据,用于从宏观层面描述测试环境基本属性、测试单元或测试任务特征或指标、以及待测GSM-R接口服务器基本特征,记录相关项的数据特征值与关键属性;待测GSM-R接口服务器基本特征通常包括:待测GSM-R接口服务器的版本、功能清单、基本参数配置要求等;关键属性通常包括:测试起止时间、待测系统参数要求、测试任务预期输出、测试任务异常标定等。
操作描述数据,即测试任务操作要求及流程描述,用于从微观层面描述测试任务业务走向控制要求,包括测试执行流程描述、中间过程描述以及最终结果。
概要统计数据,针对测试数据的数据统计,用于提升用户交互易用性和形象化。
3)日志数据,包括:待测GSM-R接口服务器业务处理过程产生的业务逻辑日志、以及测试平台系统自身执行测试任务产生的日志等。
4)报警数据,包括:各类报警事件描述数据。
在监控参数异常/恢复、服务异常/恢复等条件下,报警监控逻辑从其他服务、数据库、待测系统中获取源数据,在阈值判断后,产生描述该事件的报警数据,并伴随有报警数据的外送、呈现等操作。
5)辅助数据,包括:测试平台系统配置参数、心跳间隔参数与开关控制参数。
此处的开关控制参数,主要是指一些测试平台系统的辅助功能开关,如是否开启测试过程日志记录开关、是否开启测试异常状态邮件通知开关等。
2、数据构造引擎。
测试数据是否全面准确,直接关系待测功能覆盖范围和测试有效程度。
本发明实施例中,所述数据构造引擎,用于按照构造规则,负责产生与输出测试数据,根据数据来源不同,测试数据的构造方式包括:1)按照设定方式自行实时构造测试数据。2)读取、转换并加以调整的提取已录入的既有数据。3)截流实际生产数据并做相应改造。
本发明实施例中,自行实时构造测试数据时,使用如下任一种方式:
1)随机值方式:对数值型数据,随机值取值范围涉及数据实际有效范围、边界值以及外扩的无效范围;对字符型数据,随机值涉及字符串内容随机、以及字符串的长度随机;而且,随机取值是符合设定分布(具体的分布可自行设定)规律的有所侧重的随机取值;此外,较为常见的场景,测试平台垂直分隔数据池,按测试任务分配测试数据,避免各项并行测试工作之间的干扰。
2)递增值方式:按照设定的固定步长在有效范围内构造测试数据,递增值方式适用于数值型数据,而且还能够对字符型数据在内容固定的情况下长度递增,或长度固定的情况下(按照ASCII数值)内容递增。
3)常量方式:使用设定的固定数值或固定内容字符串作为测试数据;一般用于测试环境中其他功能测试工作的辅助,常量值可随意设定。
4)固定边界方式:以目标数据实际有效范围为基础,调整数据构造范围,作为边界限定。
此外,对于方式2)~3),即使用已录入既有数据和截留实际生产数据的方式,一般也需要对数据加以改造,以实现目标测试环境的适配,以及测试数据的标定和环境隔离。
上述数据构造方式中,自行构造测试数据一般为(与真实有效数据具有明显不同)Fake数据或随机数据,截留实际生产数据一般为真实数据,已录入既有数据则两者皆有可能。对于功能缺陷检测、性能调优以及新功能测试等内容,一般选用自行构造测试数据的方式;对于新上线线路容量规划、系统性能能力验证等内容,一般选用截留实际生产数据的方式;对于回归测试以及功能遍历等内容,一般选用使用已录入既有数据的方式。
3、数据分发引擎。
所述数据分发引擎,主要用于数据模块对外收发数据控制以及分发过程中的协议转换、格式处理、数据解压缩、数据规整化和数据过滤等操作,可以提高数据互动效率,减少数据重复和资源浪费,统一数据维护和生产源头,提升数据共享程度。
数据分发引擎通过指定数据传输方式获取数据,按照数据处理机制进行数据处理并进行数据分发,并且还能够实现时效处理以及数据丢包重发与判重;具体说明如下:
1)数据传输方式包括:直接接口传输与消息中间件传输。
直接接口传输是传统C/S交互模式,常见的网络层Socket直连、WebService等属于这种方式,具有消息传输全过程可控和中转较少等优点,一般用于信息量平稳和时延要求较高场景。消息中间件传输是分布式应用间交互信息的一种技术,由一方将消息推送到队列中,通过中间件隧道,由另一方按序取出消费,常见的ActiveMQ、IBM WebSphere MQ等属于这种方式,具有应用解耦和异步削峰等优点,一般用于信息量波动较大和时延要求较低场景。
2)数据获取方式包括:主动式与被动式,即数据的post/get方式。
主动式是数据生产方在数据更新机制或时间轮询机制控制下,主动向受控目标发送数据,时效性较高,交互较少。
被动式是数据接收方在业务需要时即时向数据模块发送申请,被动等待数据,增加数据交互过程,适用于偶然性或特定业务场景下的数据拉取操作。
3)数据处理机制包括:同步处理与异步处理。
在消息传送可靠性保障方面,可以采用数据双发、请求确认三步握手等机制。
4)数据时效处理包括:数据时效卡控与数据时效修正。
在网络波动或待测GSM-R接口服务器处理延时等场景下,数据模块接收响应数据已超过网络传输阈值,数据模块依据消息中的时间标签、网络跳数等可以认定数据失效,进而抛弃该数据。数据时效修正则是对已录入的既有数据重复利用时,由于既有时间标签与测试时刻时间不符,需要有数据模块进行修正,以避免该包数据被待测对象认定为超时数据而抛弃。
5)数据丢包重发与判重。
由于网络波动、设备故障等问题,以及异步处理等机制,数据不可避免存在丢包和重复的问题。在统一业务场景下,利用基于SnowFlake算法的UUID构造算法,可以保证数据唯一性和提高数据传输可靠性;在多业务融合场景下,采用会话ID、请求ID、来源目的设备编号构成的多元组,作为数据包的唯一标识数据,进行数据包的判重与丢包重发。
4、数据校验引擎。
本发明实施例中,所述数据校验引擎,对于来自待测GSM-R接口服务器输出数据进行特征提取,再与已存储的原始数据进行特征比对,产生阶段性或最终测试结果。
GSM-R接口服务器业务运转过程中,产生大量输出数据,其中部分数据与业务功能关联性较低,如心跳数据、用户登录数据等;部分数据的输出时机具有随机性和波动性,如各类定时数据等;部分数据输出内容具有不确定性,如基于时间的各类ID构造数据等。数据校验引擎无需处理与待测功能关联性较低的输出数据,减少数据处理资源消耗。
因此,数据校验引擎主要针对关键数据进行特征提取,如信息功能码、车次号、机车号、报警ID、报警内容等,可以一定程度忽略无关字段。所述关键数据主要是指与待测功能相关的,或者关联性满足设定要求的数据,此处的设定要求可以由本领域技术人员根据经验或者需求自行设定。
四、执行模块。
本发明实施例中,执行模块实现待测GSM-R接口服务器的封装、对接和管理功能,如图8所示,核心功能包括:连接隔离部分、数据对接部分、基础统计部分、服务模拟部分与系统封装部分。系统封装功能将执行模块核心和待测系统一起封装为独立和易于部署的虚拟发布包,用于测试资源的快速动态扩展。
1、连接隔离部分。
为了保持后续扩展以及向后兼容能力,测试平台的测试目标对象并不限定为GSM-R接口服务器。因此,测试平台应提供广泛兼容的对接方式,即执行模块按照待测系统的预期连接方式,与其连接,并隔离测试平台系统中其他无关模块与待测系统的差异;其中,所述待测系统包括:待测GSM-R接口服务器以及其他需要测试的系统。
目前常用的连接方式包括网络Socket连接、中间件连接、USB连接、Comm串口连接等。执行模块还应消除目标系统的专用通信要求和通信协议格式,如按照不同目标测试系统的时间间隔要求向其发送预期协议格式的心跳数据。
2、数据对接部分。
此部分为执行模块的基本功能,用于实现数据收发,按照连接隔离部分的要求与待测GSM-R接口服务器建立连接之后,将来自数据模块的测试数据输入至待测GSM-R接口服务器,接收待测GSM-R接口服务器的输出数据,并在调度模块控制下,传送至数据模块的数据校验引擎。
3、基础统计部分。
执行模块与待测GSM-R接口服务器直接连接,最容易获取待测GSM-R接口服务器状态,将统计的待测GSM-R接口服务器的相关信息(收发数据统计、待测系统硬件性能统计等)并传输至监控模块。
4、服务模拟部分。
由于各种环境限制(如仿真测试环境不能污染生产数据库),或者部分功能暂未实现(迭代开发过程中的暂时性功能缺失),待测GSM-R接口服务器无法提供全部业务功能时,由执行模块进行服务模拟,代替待测系统提供相关服务。
目前,测试平台系统可以提供如下服务模拟方案:
1)与待测系统一起修改相关实际功能代码,暂时使用功能业务逻辑替代缺失功能,如实际业务需求为根据列车类型获取实际运行路线,临时实现为固定运行路线或随机运行路线(与列车类型无关)。该方案需要改动待测系统代码,业务侵入性高,风险较大,较少采用。
2)执行模块在自身逻辑中实现虚假服务,替代待测系统对应服务。虚假服务的业务逻辑可繁可简,上限为真实有效且完整的实际业务功能,下限为服务返回值有效范围内的固定返回或随机返回,随开发测试工期安排、人员配备等灵活选择。该方案要求测试平台的执行模块具备较为完善的待测系统业务背景,虽然实现成本较高,但具有待测系统侵入性小,风险较小的优点,相对方案一具有更为广泛的应用。
5、系统封装部分。
本发明实施例中,为实现压测场景下压测资源动态智能扩展,执行模块应提供简单易行的待测系统环境打包封装功能。
本发明实施例中,打包封装功能实现方式包括:1)命令脚本直接操作。环境备份阶段,删除指定后缀文件类型(如测试过程动态生成的日志文件);检查测试环境完整性(如环境配置文件是否齐备);通过命令脚本将基准环境打包为单一压缩文件(如Linux环境的tar命令);资源扩展阶段是环境备份阶段的逆过程,通过命令脚本将压缩文件反向解压部署,确保测试环境可用。2)虚拟机扩展包,采用虚拟化技术模拟部署待测GSM-R接口服务器的软硬件环境,即虚拟机,各个虚拟机都是完整独立的测试环境。系统封装功能将待测系统一并并入虚拟发布包,以虚拟化技术模拟待测系统软硬件环境。
五、监控模块。
本发明实施例中,监控模块主要负责对测试平台各模块,尤其是执行模块和调度模块,以及待测试的GSM-R接口服务器及其宿主系统的工作状态进行实时监测和评测,包括监控对象自身性能指标、网络通信指标、宿主系统(CPU)性能指标等。
所述监控模块主要包括:发压监控引擎、报警监控引擎、性能监控引擎与熔断监控引擎。
1、发压监控引擎。
本发明实施例中,所述发压监控引擎主要用于提供测试任务的基本发压信息,包括各时间维度下的分段发压统计信息;以及标定由测试人物所体现的待测GSM-R接口服务器的性能上限及其可靠性指标。发压监控引擎工作内容侧重于完整测试阶段的概要监控和统计。
本领域技术人员可以理解,发压统计是软件测试领域的术语,用于描述压力测试的测试压力,如按信息类型统计的数据发送量、信息发送总量、单位时间事务处理量、平均响应时间和网络并发连接数量等。可靠性指标属于软件测试领域一个基础概念,主要包括平均故障间隔时间(MTBF)、平均恢复时间(MTTR)、平均无故障时间(MTTF)等。
发压监测引擎的功能实现依靠在测试平台系统内部各模块、网络关键节点(如路由器、网闸等)、业务逻辑链路关键节点(如CTC系统内部应用服务器、车站前置机等)以及待测GSM-R接口服务器内部,部署的大量轻量级前端监测探针。
本领域技术人员可以理解,网络关键节点和业务逻辑链路关键节点主要是指承载主要信息(信息量大)和关键信息(信息重要程度高)交互的节点,可以通过重要程度来体现,即重要程度高于设定值记为关键节点。
功能测试时,调度模块直接将单一任务分发至确定的单一执行模块;而在压力测试或稳定性测试阶段,调度模块可以将单一任务拆分为若干子任务分发至若干执行模块。无论哪种方式,在测试任务开始时,调度模块通知执行模块开始测试,同时通知监控模块开始实时监控;发压监控引擎通过众多靠近数据源头的监测探针对测试过程、测试环境和测试对象进行数据采集和监控,监控数据以精简的方式实时或延迟汇总至发压监测引擎,并在测试结束时整理输出统计信息。
本发明实施例中,将发压监控引擎统计时的指标分为若干层级,使得发压监控统计的指标清晰和量化:1)字节粒度数据,包括测试平台系统收发数据总量。2)数据包粒度数据,包括测试平台系统收发数据总包数、待测GSM-R接口服务器收发数据总包数(或者剔除无关信息的关键信息总包数)等。3)业务场景粒度数据,包括待测GSM-R接口服务器执行完整业务单元(如完整的进路预告处理场景、完整的无线调度命令处理场景等)的数据;对测试平台系统及待测GSM-R接口服务器的宿主系统而言,包括计算指标(CPU使用率)、存储指标(内存、硬盘)和网络指标(网络传输使用量)。
2、报警监控引擎。
本发明实施例中,所述报警监控引擎,通过待测GSM-R接口服务器的自主输出,被动监控待测GSM-R接口服务器的状态,此处主要考虑异常状态。
包括待测GSM-R接口服务器在内的行车调度系统软件,内嵌了状态监控逻辑,持续周期性输出自身系统的处理队列长度、以及可用资源数量,并在数值超过配置阈值时,输出报警信息;测试平台系统以周期性且无人值守的方式开展回归测试和稳定性测试,并且收集待测GSM-R接口服务器的格式化输出;在压力测试执行过程中,测试平台系统实时监控服务性能指标,并据此调整测试功能开关和测试参数,例如待测系统并发压力过大时,测试平台关闭部分非核心功能测试任务,保证测试任务顺利进行。反之则可提高测试预置,扩大调用链覆盖范围;在此过程中,测试平台系统持续收集待测GSM-R接口服务器的报警信息;
3、性能监控引擎。
本发明实施例中,所述性能监控引擎,用于标定待测GSM-R接口服务器在不同数据冲击下的整体性能表现,以及不同服务或功能的模块性能表现;更加关注测试对象的极限能力以及宿主系统的依赖特性,而非发压监控引擎的日常概要统计。
类似发压监控引擎,性能监控引擎通过前端监测探针主动采集数据和监测指标;监测指标包括待测GSM-R接口服务器支持的最大并发用户数、业务响应时间、系统处理能力以及在极限状态下宿主系统的状态(CPU、内存、网络等)指标。
监测方式包括发压统计、日志分析、染色数据跟踪等等。监控数据一方面在测试完成时刻,以统计报表的方式直观展示,另一方面交由数据模块入库,以备后续统计分析。
4、熔断监控引擎。
由于有基于生产引流机制的测试环境,以及长期稳定性和极限性能测试需求,本发明实施例中,所述熔断监控引擎,用于实现待测GSM-R接口服务器满流情况下测试平台系统的测试服务限流和降级功能,以减少仿真测试对实际生产业务的影响和保证仿真测试的有效持续进行。
本发明实施例中,所述熔断监控引擎采用基于报警信息监控的熔断机制和基于监测指标统计的熔断机制,它们属于独立的熔断机制,可以根据需求开启其中一个或者同时开启,任一机制均可以触发熔断。
1)基于报警信息监控的熔断机制。
待测GSM-R接口服务器在无法有效提供业务功能时,会主动对外发送预定义的报警信息;测试平台系统执行测试任务之前,可以灵活定制和关联待测GSM-R接口服务器对应调用链中的任意服务的报警规则。
测试任务执行时,待测GSM-R接口服务器监听待测GSM-R接口服务器的报警消息,当调用链中有服务出现了报警,测试平台系统停止测试任务;对于未定制和关联的报警信息,予以记录,便于后续问题分析和定位。
2)基于监测指标统计的熔断机制。
测试平台系统整理汇总监控指标及相关阈值,根据具体测试任务所涉及的功能业务,由探针和埋点采集测试平台系统本身以及待测GSM-R接口服务器的数据,形成时间粒度上的统计指标,用于指导熔断操作。
其中:此处探针与之前提及的监控探针是类似;探针是独立于待测GSM-R接口服务器的代码功能单元,用于获取测试链路上设定节点的核心指标,包括节点CPU使用率、内存使用率以及系统错误率;埋点,是内嵌于待测GSM-R接口服务器内部的代码功能单元,用于针对制定功能、业务、行为或状态进行捕捉与处理。探针和埋点仅是数据采集方式,不限应用于熔断监控功能,还可以广泛用于待测系统性能指标评测、发压过程统计等功能。
本领域技术人员可以理解,测试链路是软件领域专用术语,可以理解为测试数据流经的节点组成的虚拟路径。如进路预告场景中,测试链路包括GSM-R接口服务器、应用服务器、前置机、车站自律机等。
对于监测指标统计,使用基于T-Digest算法的指标统计方法,选定监测间隔(例如以以秒为单位选定监测间隔)后,统计单一执行模块的指定监测指标的统计值,当该执行模块的指定指标统计值超过阈值,即触发对应规则熔断开关,执行限流(减少测试数据流量)、断流(截断测试数据流量)、并流(将若干测试数据流合并)和/或支流(将本测试数据流引导至其他测试对象或执行模块)操作,使测试工作恢复正常。
本发明实施例以上方案主要获得如下有益效果:
1、通过数据模块、监控模块、调度模块、执行模块以及交互模块设计,构建了覆盖完整GSM-R接口服务器业务场景的自动化测试平台,将模块级测试工具扩展为平台级测试环境,消除重复繁杂的人工工作,大幅降低人工劳动强度;具体的:1)数据管理模块具备覆盖面广泛的底层数据持久化能力,丰富多样的数据构造能力,高效统一的数据分发能力以及关键特征提取的数据校验能力。2)监控模块支持实时监测功能,包括待测系统状态及其宿主环境状态。通过尽早识别系统潜在问题,快速甄别即将发生的故障和刚刚发生的故障。3)位于调度模块的负载管理引擎通过自动智能扩展执行模块资源,实现智能负载管理和测试资源动态调配,在最大化测试资源利用率基础上,支持更大压力测试强度。4)交互模块通过丰富人机交互操作,支持较为完善的资源管理功能,包括测试环境管理、测试流程控制管理、测试数据管理等;借助监控模块的发压监控引擎、报警监控引擎、性能监控引擎以及熔断监控引擎支持,交互模块提供形式化的测试结果呈现及测试报警通知功能。
2、充分利用现场完备的生产环境和详实的运营数据,通过引流技术并适当改造的现场生产数据,实现生产引流机制下的稳定测试和压力测试。专属测试账号/状态、专属测试数据构造、专属测试阀门开关等技术手段,在完成生产数据复制和重定向功能下,保障了测试环境与生产环境的隔离和独立。
3、测试平台系统注重安全性、易用性和可扩展性:1)基于用户、角色的完善的权限管理体系,以及内置各类脚本检查(如测试账号检查、系统封装中的脚本检查等)、参数一致性校核、运维流程自动化等技术手段,保证测试任务的正确有效执行,避免对生产系统的影响;其中,参数一致性校核是指参数取值有效性和相互关系有效性的检查。其中,参数取值范围检查是指检查当前输入参数是否在给定参数取值范围内,例如,给定参数取值范围1-10,若输入参数为20,则参数取值错误;相互关系有效性检查:如某些功能是互斥的,互斥功能的开关参数不能同时开启。2)测试平台实现测试过程的流程化和标准化,以交互方式管理平台配置和测试流程,以图形化方式呈现测试结果。3)模块化设计使测试资源的热插拔和动态扩充成为可能。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (10)
1.一种全场景的GSM-R接口服务器测试平台系统,其特征在于,包括:交互模块、调度模块、数据模块、执行模块以及监控模块;其中:
所述交互模块,用于通过人机交互方式对测试平台系统进行配置和管理,以及设置测试任务,并呈现测试结果以及监控模块输出的各类监控数据和/或报警信息;
所述调度模块,用于实现测试环境、测试数据和测试任务的集中管理与统筹调配,结合交互模块输出的测试任务指导数据模块输出相关测试数据至执行模块,以及控制执行模块将待测GSM-R接口服务器输出的数据传输至数据模块;还用于根据各执行模块的负载进行,指导与控制测试数据动态调整流向;
所述数据模块,用于存储测试平台测试所需的以及测试产生的各项数据,以及根据执行模块输出的来自待测GSM-R接口服务器输出数据产生阶段性或最终测试结果,并通过交互模块呈现;
所述执行模块,用于结合待测GSM-R接口服务器实现的各项测试任务,包括:将来自数据模块的测试数据传输至待测GSM-R接口服务器,以及将来自待测GSM-R接口服务器的输出数据传输至所述数据模块;
所述监控模块,用于实时监控测试平台系统各模块以及待测GSM-R接口服务器及其宿主系统,输出各类监控数据和/或报警信息。
2.根据权利要求1所述的一种全场景的GSM-R接口服务器测试平台系统,其特征在于,所述测试平台系统引入了测试隔离技术,所述测试隔离技术至少包括:专属测试账号与状态部分、专属测试数据构造部分以及专属测试阀门开关部分;其中:
所述专属测试账号与状态部分包括:使用专属测试账号登录测试平台系统,待测GSM-R接口服务器及测试任务将在测试平台系统中处于专属测试状态,该专属测试状态将维持至测试任务结束,在各项测试任务中被测服务、测试开关以及测试平台系统的模块、引擎识别和应用测试账号,并实现各自基于专属测试状态的测试隔离功能;
所述专属测试数据构造部分包括:由数据模块配合实现专属测试数据的构造,构造时使用了区间隔离技术与数据标签技术;其中,区间隔离技术包括:分析实际生产数据分布范围,将生产数据未涉及的分布区间划分为独立隔绝的测试数据范围;数据标签技术包括:对于不是由测试平台系统自主构造的数据,在应用于基于引流机制的仿真测试环境中时,对测试数据增加附属标签,表明其测试身份;
所述专属测试阀门开关部分包括:通过专属测试阀门控制测试数据通道开通与否,专属测试阀门开关打开,测试数据流量流入测试平台系统的相关模块,接收数据处理和/或转发服务,否则就会被对端直接拒绝;专属测试阀门开关开通与否,在初始时刻与测试环境需求有关;测试任务的目标包含有对应业务功能时,阀门开关开通,否则关闭;在测试任务执行时刻,专属测试阀门开关受监测模块控制;当监控模块监测待测GSM-R接口服务器异常,调整阀门开关状态。
3.根据权利要求1所述的一种全场景的GSM-R接口服务器测试平台系统,其特征在于,所述交互模块包括:人机操作部分、链路管理部分、数据呈现部分与报警通知部分;其中:
所述人机操作部分包括:用户与角色管理,涉及测试平台系统的使用权限和控制权限的定制与管理;测试环境管理,涉及测试环境资源分配以及测试平台系统控制;测试任务管理,涉及测试项目管理与测试用例管理以及定时任务管理;
所述链路管理部分包括:基于测试数据、服务ID与日志类型ID三元组进行链路合并与梳理;测试数据,由交互模块提取数据的相关特征作为测试数据标识;服务ID是待测GSM-R接口服务器对外提供功能标识;日志类型ID,包括测试平台系统自身日志类型ID与待测GSM-R接口服务器产生的日志类型ID;
所述数据呈现部分包括:通过设定的方式呈现测试过程与结果数据;
所述报警通知部分包括:定制消息通知与监控报警;其中,定制消息通知包括:通过交互模块的人机操作,定制消息通知规则,满足通知规则中预定义条件时,按预定义方式通知目标用户;监控报警包括:在预定义策略下,由监控模块产生的报警事件,以预定义方式通知目标用户。
4.根据权利要求1所述的一种全场景的GSM-R接口服务器测试平台系统,其特征在于,所述调度模块包括:业务场景调度引擎、测试环境管理引擎、任务管理引擎、数据管理引擎以及负载管理引擎;其中:
所述业务场景调度引擎,用于执行单一业务准备与清理工作,以及多业务场景调度工作;
所述测试环境管理引擎,用于通过自动化脚本以及资源隔离复用技术实现测试环境部署与备份,用于通过约束环境变量、服务内容、限制变更内容与次数以及引入测试环境镜像实现不同测试环境的管理与隔离工作,还用于实现基础统一服务的测试环境管理;
所述任务管理引擎,用于实现测试任务的单向隔离以及并行调度;
所述数据管理引擎,负责即时测试任务中的数据调度工作;测试任务开始之前,数据管理引擎读取测试任务,按照测试任务中指定的测试环境配置参数配置当前环境;测试工作正式开始,数据管理引擎指导数据模块的数据构造引擎读取或产生测试数据,控制数据模块将测试数据输入至执行模块,测试过程控制数据也被传输至执行模块,控制其运转逻辑;测试工作持续进行,数据管理引擎控制执行模块将待测GSM-R接口服务器产生的实时输出数据输出至数据模块的数据校验引擎,测试过程日志数据输出至数据模块的数据存储引擎;测试过程中,监控模块也在不断产生各类监控数据,相关监控数据由数据管理引擎控制传送至数据模块的数据存储引擎;所述数据管理引擎,还用于在压力测试场景中,控制测试输入数据与执行模块的映射关系;
所述负载管理引擎,用于性能测试场景下,基于监控模块输出的报警统计信息,指导与控制测试数据动态调整流向,平衡各执行模块的工作量;在测试平台系统的执行能力不足时,通过执行模块的横向扩展与添加,进行智能与动态的测试能力补充;其中,单一执行模块负载压力超过自身处理能力,即为执行模块的负载超限,相关表现为监控模块主动监测性能异常以及被动接收执行模块异常报警;负载管理引擎保存有执行模块清单,包括执行模块网络连接信息、负载信息以及可用资源信息;在某一执行模块负载超限时,负载管理引擎查询清单,询问其余执行模块负载情况,通过负载算法,将负载超限的执行模块的超限测试数据重新引流至其他执行模块,直至负载超限的执行模块的负载压力回归正常值;当无可用执行模块承担超限负载时,即为测试平台系统的执行能力不足,需要扩展引入新的执行模块,待资源利用率低于下限时,释放多余的执行模块。
5.根据权利要求1所述的一种全场景的GSM-R接口服务器测试平台系统,其特征在于,所述数据模块包括:数据存储引擎、数据构造引擎、数据分发引擎以及数据校验引擎;其中:
所述数据存储引擎位于数据模块底层,通过内嵌的存储系统以及抽象整合的对外接口,提供业务数据、测试描述数据、日志数据、报警数据以及辅助数据的相关数据操作功能;
所述数据构造引擎,用于按照构造规则,负责产生与输出测试数据,包括:按照设定方式自行实时构造测试数据;读取、转换并加以调整的提取已录入的既有数据;截流实际生产数据并做相应改造;
所述数据分发引擎,用于通过指定数据传输方式获取数据,按照数据处理机制进行数据处理并进行数据分发,并且还能够实现时效处理以及数据丢包重发与判重;其中,数据传输方式包括:直接接口传输与消息中间件传输;数据获取方式包括:主动式与被动式;数据处理机制包括:同步处理与异步处理;数据时效处理包括:数据时效卡控与数据时效修正;数据丢包重发与判重包括:利用基于SnowFlake算法的UUID构造算法,保证数据唯一性;在多业务融合场景下,采用会话ID、请求ID、来源目的设备编号构成的多元组,作为数据包的唯一标识数据,进行数据包的判重与丢包重发;
所述数据校验引擎,对于来自待测GSM-R接口服务器输出数据进行特征提取,再与已存储的原始数据进行特征比对,产生阶段性或最终测试结果。
6.根据权利要求5所述的一种全场景的GSM-R接口服务器测试平台系统,其特征在于,数据存储引擎存储与管理的数据中:
业务数据包括:来源于实际生产环境的GSM-R接口服务器实际接收数据,以及来源于仿真测试环境的GSM-R接口服务器发送的输出数据;
测试描述数据包括:任务描述数据,用于描述测试环境基本属性、测试单元或测试任务特征或指标以及待测GSM-R接口服务器基本特征,记录相关项的数据特征值与关键属性;操作描述数据,即测试任务操作要求及流程描述,用于描述测试任务业务走向控制要求,包括测试执行流程描述、中间过程描述以及最终结果;概要统计数据,针对测试数据的数据统计;
日志数据包括:待测GSM-R接口服务器业务处理过程产生的业务逻辑日志以及测试平台系统自身执行测试任务产生的日志;
报警数据包括:各类报警事件描述数据;
辅助数据包括:测试平台系统配置参数、心跳间隔参数与开关控制参数。
7.根据权利要求5所述的一种全场景的GSM-R接口服务器测试平台系统,其特征在于,所述数据构造引擎中,自行实时构造测试数据时,使用如下任一种方式:
随机值方式:对数值型数据,随机值取值范围涉及数据实际有效范围、边界值以及外扩的无效范围;对字符型数据,随机值涉及字符串内容随机以及字符串的长度随机;而且,随机取值是符合设定分布规律的有所侧重的随机取值;
递增值方式:按照设定的固定步长在有效范围内构造测试数据,递增值方式适用于数值型数据,而且还能够对字符型数据在内容固定的情况下长度递增,或长度固定的情况下内容递增;
常量方式:使用设定的固定数值或固定内容字符串作为测试数据;
固定边界方式:以目标数据实际有效范围为基础,调整数据构造范围,作为边界限定。
8.根据权利要求1所述的一种全场景的GSM-R接口服务器测试平台系统,其特征在于,所述执行模块包括:连接隔离部分、数据对接部分、基础统计部分、服务模拟部分与系统封装部分;其中:
所述连接隔离部分,用于按照待测系统的预期连接方式,与其连接,并隔离测试平台系统中其他无关模块与待测系统的差异;其中,所述待测系统包括:待测GSM-R接口服务器以及其他需要测试的系统;
所述数据对接部分,用于实现数据收发,按照连接隔离部分的要求与待测GSM-R接口服务器建立连接之后,将来自数据模块的测试数据输入至待测GSM-R接口服务器,接收待测GSM-R接口服务器的输出数据,并在调度模块控制下,传送至数据模块的数据校验引擎;
所述基础统计部分,用于统计待测GSM-R接口服务器的相关信息并传输至监控模块;
所述服务模拟部分,用于当待测GSM-R接口服务器无法提供全部业务功能时,进行服务模拟,代替待测GSM-R接口服务器提供相关服务;
所述系统封装部分,用于实现提供待测GSM-R接口服务器打包封装功能,打包封装功能实现方式包括:命令脚本直接操作与虚拟机扩展包;其中,命令脚本直接操作:环境备份阶段,删除指定后缀文件类型,检查测试环境完整性,通过命令脚本将基准环境打包为单一压缩文件;资源扩展阶段是环境备份阶段的逆过程,通过命令脚本将压缩文件反向解压部署;虚拟机扩展包,采用虚拟化技术模拟部署待测GSM-R接口服务器的软硬件环境,即虚拟机,各个虚拟机都是完整独立的测试环境。
9.根据权利要求1所述的一种全场景的GSM-R接口服务器测试平台系统,其特征在于,所述监控模块包括:发压监控引擎、报警监控引擎、性能监控引擎与熔断监控引擎;其中:
所述发压监控引擎,用于提供测试任务的基本发压信息,包括各时间维度下的分段发压统计信息;以及标定由测试人物所体现的待测GSM-R接口服务器的性能上限及其可靠性指标。发压监控引擎工作内容侧重于完整测试阶段的概要监控和统计;发压监测引擎的功能实现依靠在测试平台系统内部各模块、网络关键节点、业务逻辑链路关键节点以及待测GSM-R接口服务器内部部署的监测探针;测试任务开始时,调度模块通知执行模块开始测试,同时通知监控模块开始实时监控;通过监测探针对测试过程、测试环境和测试对象进行数据采集和监控,监控数据以实时或延迟汇总至发压监测引擎,并在测试结束时整理输出统计信息;发压监控引擎统计时的指标分为若干层级:字节粒度数据,包括测试平台系统收发数据总量;数据包粒度数据,包括测试平台系统收发数据总包数、待测GSM-R接口服务器收发数据总包数;业务场景粒度数据,包括待测GSM-R接口服务器执行总业务单元的数据;对测试平台系统及待测GSM-R接口服务器的宿主系统而言,包括计算指标、存储指标以及网络指标;
所述报警监控引擎,通过待测GSM-R接口服务器的自主输出,被动监控待测GSM-R接口服务器的状态;包括待测GSM-R接口服务器在内的行车调度系统软件,内嵌了状态监控逻辑,持续周期性输出自身系统的处理队列长度以及可用资源数量,并在数值超过配置阈值时,输出报警信息;测试平台系统以周期性且无人值守的方式开展回归测试和稳定性测试,并且收集待测GSM-R接口服务器的格式化输出;在压力测试执行过程中,测试平台系统实时监控服务性能指标,并据此调整测试功能开关和测试参数,且持续收集待测GSM-R接口服务器的报警信息;
所述性能监控引擎,用于标定待测GSM-R接口服务器在不同数据冲击下的整体性能表现,以及不同服务或功能的模块性能表现;性能监控引擎通过前端监测探针主动采集数据和监测指标;监测指标包括待测GSM-R接口服务器支持的最大并发用户数、业务响应时间、系统处理能力以及在极限状态下宿主系统的状态指标;
所述熔断监控引擎,用于实现待测GSM-R接口服务器满流情况下测试平台系统的测试服务限流和降级功能。
10.根据权利要求9所述的一种全场景的GSM-R接口服务器测试平台系统,其特征在于,所述熔断监控引擎采用基于报警信息监控的熔断机制和基于监测指标统计的熔断机制;其中:
所述基于报警信息监控的熔断机制包括:待测GSM-R接口服务器在无法有效提供业务功能时,会主动对外发送预定义的报警信息;测试平台系统执行测试任务之前,能够定制和关联待测GSM-R接口服务器对应调用链中的任意服务的报警规则;测试任务执行时,待测GSM-R接口服务器监听待测GSM-R接口服务器的报警消息,当调用链中有服务出现了报警,测试平台系统停止测试任务;对于未定制和关联的报警信息,予以记录;
所述基于监测指标统计的熔断机制包括:测试平台系统整理汇总监控指标及相关阈值,根据具体测试任务所涉及的功能业务,由探针和埋点采集测试平台系统本身以及待测GSM-R接口服务器的数据,形成时间粒度上的统计指标,用于指导熔断操作;其中,探针,是独立于待测GSM-R接口服务器的代码功能单元,用于获取测试链路上设定节点的核心指标,包括节点CPU使用率、内存使用率以及系统错误率;埋点,是内嵌于待测GSM-R接口服务器内部的代码功能单元,用于针对制定功能、业务、行为或状态进行捕捉与处理;对于监测指标统计,使用基于T-Digest算法的指标统计方法,选定监测间隔后,统计单一执行模块的指定监测指标的统计值,当该执行模块的指定指标统计值超过阈值,即触发对应规则熔断开关,执行限流、断流、并流和/或支流操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110842165.3A CN113704089B (zh) | 2021-07-26 | 2021-07-26 | 一种全场景的gsm-r接口服务器测试平台系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110842165.3A CN113704089B (zh) | 2021-07-26 | 2021-07-26 | 一种全场景的gsm-r接口服务器测试平台系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113704089A true CN113704089A (zh) | 2021-11-26 |
CN113704089B CN113704089B (zh) | 2023-01-10 |
Family
ID=78650433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110842165.3A Active CN113704089B (zh) | 2021-07-26 | 2021-07-26 | 一种全场景的gsm-r接口服务器测试平台系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113704089B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114238155A (zh) * | 2022-02-25 | 2022-03-25 | 北京宇信科技集团股份有限公司 | 测试方法、测试平台、测试装置、服务器及存储介质 |
CN114661622A (zh) * | 2022-05-17 | 2022-06-24 | 中电太极(集团)有限公司 | 测试中间件及测试管理系统 |
CN115237816A (zh) * | 2022-09-22 | 2022-10-25 | 深圳市明源云科技有限公司 | 系统功能验证方法、装置、电子设备及可读存储介质 |
CN116109110A (zh) * | 2023-04-11 | 2023-05-12 | 华能信息技术有限公司 | 一种业务中台的任务调度方法 |
CN118004250A (zh) * | 2024-04-08 | 2024-05-10 | 中国铁道科学研究院集团有限公司通信信号研究所 | 一种支持站间协同的铁路跨站安全防护方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106683525A (zh) * | 2016-11-16 | 2017-05-17 | 凌涛 | 真实场景下的实践教学支撑平台 |
CN107807878A (zh) * | 2016-09-09 | 2018-03-16 | 北京航空航天大学 | 基于关键字的自动化测试引擎 |
CN111552628A (zh) * | 2020-03-20 | 2020-08-18 | 北京海致星图科技有限公司 | 一种针对图数据库及图服务接口进行分布式压测系统及方法 |
-
2021
- 2021-07-26 CN CN202110842165.3A patent/CN113704089B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107807878A (zh) * | 2016-09-09 | 2018-03-16 | 北京航空航天大学 | 基于关键字的自动化测试引擎 |
CN106683525A (zh) * | 2016-11-16 | 2017-05-17 | 凌涛 | 真实场景下的实践教学支撑平台 |
CN111552628A (zh) * | 2020-03-20 | 2020-08-18 | 北京海致星图科技有限公司 | 一种针对图数据库及图服务接口进行分布式压测系统及方法 |
Non-Patent Citations (1)
Title |
---|
王寅峰等: "网格测试引擎:一种构建网格测试环境的基础架构", 《西安交通大学学报》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114238155A (zh) * | 2022-02-25 | 2022-03-25 | 北京宇信科技集团股份有限公司 | 测试方法、测试平台、测试装置、服务器及存储介质 |
CN114661622A (zh) * | 2022-05-17 | 2022-06-24 | 中电太极(集团)有限公司 | 测试中间件及测试管理系统 |
CN115237816A (zh) * | 2022-09-22 | 2022-10-25 | 深圳市明源云科技有限公司 | 系统功能验证方法、装置、电子设备及可读存储介质 |
CN115237816B (zh) * | 2022-09-22 | 2022-12-27 | 深圳市明源云科技有限公司 | 系统功能验证方法、装置、电子设备及可读存储介质 |
CN116109110A (zh) * | 2023-04-11 | 2023-05-12 | 华能信息技术有限公司 | 一种业务中台的任务调度方法 |
CN118004250A (zh) * | 2024-04-08 | 2024-05-10 | 中国铁道科学研究院集团有限公司通信信号研究所 | 一种支持站间协同的铁路跨站安全防护方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113704089B (zh) | 2023-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113704089B (zh) | 一种全场景的gsm-r接口服务器测试平台系统 | |
EP1922597B1 (en) | Fault data management | |
US9170856B2 (en) | Message traffic interception system | |
CN105491038B (zh) | 一种智能设备协议解析方法 | |
CN102163173B (zh) | 一种分布式信息系统接口自动化测试方法 | |
CN102768642B (zh) | 一种基于源码分析的linux内核可靠性评测系统及其方法 | |
CN112910089A (zh) | 一种变电站二次设备故障逻辑可视化方法及系统 | |
CN110162471A (zh) | 一种基于容器云的压力测试方法及系统 | |
CN105119757A (zh) | 一种企业服务器运维自动化的方法与系统 | |
CN101119243A (zh) | 日志的自动测试方法及自动测试系统 | |
JP2022028619A (ja) | 製造システムにおける故障の根本原因分析用の故障拡張システムモデルを構築するためのシステム及び方法 | |
CN102014016A (zh) | 一种网络协议缺陷测试系统及方法 | |
Yin et al. | On representing resilience requirements of microservice architecture systems | |
CN108965282B (zh) | 一种非入侵式跨安全区消息跟踪与监测的系统及方法 | |
CN108536972A (zh) | 基于自适应智能体的复杂系统可靠性仿真方法及系统 | |
CN109117526A (zh) | 一种适用于机械系统设备维修指引数据记录及分析系统 | |
Rouached et al. | Web service mining and verification of properties: An approach based on event calculus | |
CN107122307B (zh) | 一种物联网执行系统 | |
CN111181775A (zh) | 基于自动发现主机资产的一体化运维管理告警方法 | |
KR20230100260A (ko) | 업무 처리 자동화 시스템의 업무 처리 상황 관리 시스템 및 그 구동방법 | |
CN111464350B (zh) | 一种管理异构品牌网络设备的方法及系统 | |
CN117453280A (zh) | 一种代码拓扑和业务拓扑生成方法、装置、设备及介质 | |
US20080168102A1 (en) | Method, system, and computer program product for reconstructing a data stream | |
CN110113428A (zh) | 一种wifi产品在生产线上数据采集分析系统及方法 | |
CN112701783B (zh) | 一种配网运维监测设备及监测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |