发明内容
本发明所要解决的技术问题在于,提供一种通信系统的性能指标测试系统及测试方法,解决现有性能指标测试技术存在的测试难度大、测试效率低、难以全面覆盖等问题,实现覆盖全流程的性能指标的自动化测试。
为了解决上述问题,本发明提出了一种通信系统的性能指标测试系统,包括:
性能数据生成工具,用于根据选定的性能指标对应的性能指标计算公式模拟生成源性能数据并保存,将所述源性能数据发送到驻留在对应的性能前台代理模块的测试桩;
所述测试桩,用于接收采集源性能数据发送给其驻留的性能前台代理模块,收集所述性能前台代理模块的返回值并记录交互日志;
性能前台代理模块,驻留在前台的单板和/或主处理板上,用于通过测试桩采集性能数据并上报给性能管理后台模块;
性能管理后台模块,用于对所述性能前台代理模块采集和上报的实际性能数据进行处理,按照预置的性能指标计算公式计算获得性能指标对应的统计值;
性能指标计算工具,用于根据模拟生成源性能数据的性能指标计算公式对性能数据生成工具保存的源性能数据计算,得到对应该性能指标的标准值;
测试控制模块,用于对同一性能指标分别由性能管理后台模块计算得到的所述统计值与由性能指标计算工具计算得到的所述标准值进行比较,若二者一致,则表明测试正常,否则判定存在测试故障。
所述测试控制模块,在所述统计值与所述标准值不一致而判定存在测试故障后,进一步通过比较针对同一性能指标的所述性能管理后台模块与所述性能指标计算工具两者的性能指标计算公式是否一致,若不一致,则判断测试故障为后台故障。
所述测试控制模块,在所述统计值与所述标准值不一致而判定存在测试故障后,进一步通过比较性能数据生成工具模拟生成的源性能数据与测试桩处采集的性能数据是否一致,若不一致,则判断测试故障为前台故障。
所述性能指标计算工具,支持性能指标计算公式导入,可根据性能指标计算公式的变化情况修改或自定义性能指标。
所述性能数据生成工具,包括用户界面,用于供用户维护性能指标计算公式模版,根据所述性能指标计算公式模版模拟产生各类性能数据。
本发明还提供一种通信系统的性能指标测试方法,包括:
性能数据生成工具根据性能指标计算公式模拟生成源性能数据并保存,将所述源性能数据通过与各性能数据对应的测试桩发送至对应的性能前台代理模块;
性能前台代理模块将通过测试桩采集性能数据并上报给性能管理后台模块,性能管理后台模块对所述性能前台代理模块采集和上报的实际性能数据进行处理,按照预置的性能指标计算公式计算获得性能指标对应的统计值;
性能指标计算工具根据生成源性能数据的性能指标计算公式对性能数据生成工具保存的源性能数据计算,得到对应性能指标的标准值;
测试控制模块对同一性能指标的分别由性能管理后台模块计算得到的所述统计值与由性能指标计算工具计算得到的所述标准值进行比较,若二者一致,则表明测试正常,否则判定存在测试故障。
其中,所述测试控制模块在所述统计值与所述标准值不一致而判定存在测试故障后,进一步通过比较针对同一性能指标的所述性能管理后台模块的预置的计算公式与所述性能指标计算工具的性能计算公式是否一致,判断测试故障原因是否为后台故障。
其中,所述测试控制模块在所述统计值与所述标准值不一致而判定存在测试故障后,进一步通过比较性能数据生成工具的源性能数据与测试桩处采集的性能数据是否一致,判断测试故障原因是否为前台故障。
所述测试控制模块在所述统计值与所述标准值不一致而判定存在测试故障后,进一步地,通过获取驻留在前台主处理板的测试桩的性能前台代理模块返回值,并与归属于该主处理板的所有单板前台代理返回值的和进行比较,判断是否一致,若不一致则故障定位为主处理板上的性能代理对性能数据的整合有问题。
所述测试控制模块在所述统计值与所述标准值不一致而判定存在测试故障后,进一步地,对性能管理后台模块获得的实际性能数据与性能数据生成工具所模拟生成的源性能数据进行比对,若二者不一致,则故障定位为性能数据在向网管后台上报和入库的过程出现问题,检查网络状况和数据库运行状况以及这一过程的代码。
本发明的通信系统的性能指标测试系统及测试方法,采用一种打桩配合算法校验的方式,实现覆盖全流程的通信系统性能指标测试。本发明的测试方案覆盖到了性能指标的采集、上报和计算全流程,可以全面测试性能指标的可靠性和准确性;本发明的测试方案,可根据需要灵活生成性能原始数据,可控性强,且可以通过维护指标公式模版覆盖全部现有及后续增加的性能指标的测试;本发明还利用了原有的性能前台代理的采集接口,动作小,可靠性强;本发明可移植性强,只要重置前台测试桩中的接口并更新指标计算公式模版,即可应用于其他系统(如C网与G网的移植等)。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,以下结合附图对本发明作进一步地详细说明。
本发明的性能指标测试系统及测试方法,采用前台代理打桩配合后台算法校验的方式来实现性能指标采集、上报、计算全流程测试。对模拟生成的源性能数据一分为二,一路经实际的采集、上报、计算全流程获得性能指标的统计值,另一路通过性能指标计算工具获得性能指标的标准值,通过对标准值与实际的统计值的比较来判定测试是否出现故障,并可依据计算公式的比较来判断是否为后台故障,将实际的采集、上报、计算全流程中的数据与源性能数据进行查找比对判断是否为前台故障,并可通过不同测试桩处的数据比较可确定哪个环节发生故障,从而可以快速准确寻找到故障点,以便及时处理。
如图1所示,显示了本发明的性能指标测试系统的结构示意图。
所述性能指标测试系统包括:
性能数据生成工具,位于后台,用于提供用户界面,根据维护的性能指标计算公式模版,模拟产生各类性能数据。测试时,在选定性能指标后,可根据该性能指标对应的计算公式模拟生成该计算公式所需的各种性能数据,一方面将性能数据通过测试桩发送至对应的性能前台代理,另一方面将模拟生成的性能数据上报给性能指标计算工具;
性能指标计算工具,用于根据该性能指标对应的性能指标计算公式对性能数据生成工具上报的性能数据进行计算,计算出对应性能指标的标准值;其中,性能指标计算工具支持指标公式导入,用户可根据指标计算公式的变化情况修改或自定义性能指标。
测试桩,驻留于性能前台代理模块,连接在所述性能前台代理模块与所述性能数据生成工具之间,负责将所述性能数据生成工具模拟生成的性能数据发送给所述性能前台代理模块,还用于收集所述性能前台代理模块的返回值并记录交互日志以供问题排查;
性能前台代理模块,用于驻留在前台的单板和/或主处理板上,负责性能数据采集和上报至性能管理后台模块;例如针对单板A、单板B、主处理板C分别驻留有相应的性能前台代理模块;
性能管理后台模块,用于负责对各单板和/或主处理板上的性能前台代理模块采集和上报的性能数据处理,进行接收整合,获取走完性能管理数据采集、上报流程后的性能数据,并根据预置的计算公式获得性能指标对应的统计值;
测试控制模块,用于对同一性能指标分别由性能管理后台模块计算得到的所述统计值与由性能指标计算工具计算得到的所述标准值进行比较,若二者一致,则表明测试正常,否则判定存在测试故障。
总体而言,本发明针对测试系统分别对前台和后台两部分都进行了改进。
在前台,主要是在前台性能代理模块中插入测试桩,具体实现时可以将测试桩添加至单板的前台版本文件中,根据不同性能指标,测试时涉及的单板可能不同,在该测试系统中,可添加测试桩至一块或多快单板中,见图1中的测试桩A、B、C。
在性能管理原有的各性能前台代理模块处增加接口,用于接收性能数据生成工具模拟生成的性能数据,接收到相关数据后的处理流程和真实业务的性能数据走相同的流程,这样就可保证性能数据能走完性能管理的采集、上报等流程,其中,所增加的接口即为所打下的测试桩。
“测试桩”模块,每接收到一条模拟性能数据,即触发“性能前台代理”采集相应业务的值相应增加,同时收集性能前台代理返回值并记录交互日志以供问题排查。
在后台,主要改进是增加了性能数据生成工具和性能指标计算工具。
其中,性能数据生成工具,提供用户界面,根据维护的性能指标计算公式进行性能原始数据的模拟和上报,性能数据生成工具根据用户的输入模拟产生性能数据,将模拟数据以不同的数值、粒度和周期根据映射关系发送至相应“性能前台代理模块”所在单板的“测试桩”模块;同时将用户的输入值入库存储。
性能指标计算工具获取数据库中的用户输入值,将“性能数据生成工具”生成的原始数据根据导入的性能指标计算公式进行计算,并根据性能指标算法公式算出对应的性能指标的标准值。
如图2所示,显示了本发明中的“性能数据生成工具”、“性能指标计算工具”的用户界面示意图。
图2中,在用户可编辑区域,用户在性能指标列中的下拉菜单中选定某性能指标后,在“输入点”列即会根据该选定的性能指标对应的指标计算公式列出该性能指标的输入点;针对不同的输入点,用户可以输入不同的模拟生成策略,以不同数值、粒度和发送周期模拟生成性能数据并发送至前台的“测试桩”模块,同时将所有模拟生成的性能数据值存储至源性能数据数据库;
当用户设定的发送周期完成后,点击“标准值查询”按钮,此时“性能指标计算工具”即会从源性能数据数据库中获取所有输入点的模拟性能数据值,根据该性能指标的计算公式计算得到该指标的标准值;同时在用户界面上还记录各采集点本轮模拟生成值、模拟起止时间、公式核对等过程数据,以供用户参考。
本发明的性能指标测试方法,包括如下步骤:
首先,性能数据生成工具模拟生成性能数据,将性能数据一方面通过测试桩上报给性能前台代理模块,另一方面上报给性能指标计算工具;
所述性能前台代理接收到模拟的性能数据,当做真实性能数据进行采集和上报,经过性能管理后台模块进行整合处理并根据内置计算公式计算得到性能指标的统计值;
所述性能指标计算工具根据模拟的性能数据按照性能指标计算公式进行计算获得性能指标的标准值;
对性能指标的实际测试的统计值与依计算公式获得的标准值进行比较,若两者存在差异,则表明存在测试故障,否则,表明测试正常。
其中,所述模拟生成的性能数据还可存储在源性能数据库中,作为源数据以备后续比对调用;
其中,性能管理后台模块也可建立走完性能管理数据采集、上报流程后的实际性能数据库;判断性能管理是否存在故障,也可对所述原始性能数据库与所述实际性能数据库的数据进行比较,如果二者的数据存在差异,就说明性能管理存在故障。
进一步地,所述性能数据生成工具可调用源性能数据库,针对要测试的性能指标(如起呼成功率)进行某时间段的计算,得到标准值A;所述网管性能管理模块也可调用实际性能数据库,针对相同的性能指标(如起呼成功率)进行相同时间段的数据查询计算,得到统计值B;通过比对标准值A和统计值B,就可以检验网管系统对该项性能指标的统计是否存在问题。
在测试发现问题后,利用过程数据,配合前台打下的测试桩(接口统计到的数据)进行问题的排查,可快速定位故障点。其中:
前台故障可以通过抓取各测试桩数据进行排查;
后台故障可以通过性能指标计算工具的指标计算公式与网管性能管理模块所采用的指标计算公式进行比较排查。
下面以对性能指标D进行测试为例说明本发明的整个测试流程:
对性能指标D进行测试,通过性能指标计算公式模版可以知道:该指标的计算公式以及公式中的各性能源数据由前台哪些单板上的性能前台代理进行采集和上报。
首先,通过“性能数据生成工具”根据指标计算公式模拟生成源性能数据,所述源性能数据一方面上报至前台的“测试桩”,另一方面,“性能数据生成工具”将指标D相关的原始数据发送至“性能指标计算工具”,由“性能指标计算工具”按照指标计算公式计算得到性能指标D的“标准值”;
然后,“测试桩”将收到的源性能数据通过网管性能管理模块原有的采集接口发送给相应的性能前台代理模块;性能前台代理模块收到源性能数据,对其进行统计后按照网管软件性能管理的正常流程上报至性能管理后台模块,由该性能管理后台模块的整合计算得到性能指标D的“统计值”;
之后,比对性能指标D的“标准值”和“统计值”,如果二者不符,则表明网管软件对该指标的统计错误;进一步地,可以通过比对网管软件代码中该指标的公式和性能指标计算公式来排查指标计算的问题;进一步地,可以通过比对“性能数据生成工具”生成的数据以及前台测试桩记录日志中“性能前台代理”返回的值来排查指标采集的问题。
如图3所示,显示了CDMA20001X中语音呼叫起呼流程示意图。其中,stat2为1X语音起呼成功次数的采集点,即驻留在前台单板的性能前台代理模块检测到一条指配完成消息(Assignment Complete Message),记一次1X语音起呼成功次数。
以CDMA20001X语音呼叫的性能指标:1X语音起呼成功次数为例,对应的指标计算公式如下:
1X:Global Voice Originating Call.CMO_CallSuccessNum+
1X:Global Voice Originating Call.CMO_ExtInterruptNum+
1X:Global Voice Originating Call.AssignSoft_CallSuccessNum+
1X:Global Voice Originating Call.AssignSoft_ExtInterruptNum+
1X:Global SMS Originating Call(on TCH).CMO_CallSuccessNum+
1X:Global SMS Originating Call(on TCH).CMO_ExtInterruptNum+
1X:Global SMS Originating Call(on TCH).AssignSoft_CallSuccessNum+
1X:Global SMS Originating Call(on TCH).AssignSoft_ExtInterruptNum+
1X:Global Concurrent Voice Originating Call.CallSuccessNum+
1X:Global Concurrent Voice Originating Call.ExtInterruptNum1
第一步,首先将该公式导入或手工输入至“性能数据生成工具”的公式集合中,在用户界面上选择“1X语音起呼成功次数”的性能指标;“性能数据生成工具”抽取公式中所有的单元在“输入点”中列出。用户可通过用户界面针对每个输入点输入独立的数值、粒度和发送周期,输入完成后点击“发送性能数据”按钮,即可向前台的“测试桩”模块发送模拟数据(生成工具集成了每个输入点和相应性能代理的映射关系,以保证向正确的“测试桩”模块发送数据),同时将模拟数据存储入库,记录每个输入点在各时段中的值。发送周期完成后,会弹出提示,并将本次模拟的性能指标名称、指标公式、模拟起止时间等过程数据同步更新至界面上,供用户参考。
第二步,在界面统计起止时间框中输入需要查询的时段(2010-5-2010:00:00~2010-5-20 12:30:00),点击“标准值查询”按钮,“性能指标计算工具”会调用数据库中的数据,根据指标公式计算出1X语音起呼成功次数在该时段内的标准值,并同步该查询周期内所有统计粒度的指标值以及工具生成值、数据库原有值到界面上,供用户查询参考。
第三步,前台“测试桩”模块接收到“性能数据生成工具”发送的“1X语音起呼成功次数”的模拟性能数据后,即根据每条数据与性能前台代理模块对应采集进程的映射关系,触发采集进程的业务值相应增加;
第四步,“性能前台代理模块”对采集到的“1X语音起呼成功次数”指标业务值按照性能管理的正常流程上报至网管软件的性能数据库中,测试周期完成后,网管软件执行相同时段(2010-5-20 10:00:00~2010-5-2012:30:00)的查询,通过整合计算得到“1X语音起呼成功次数”的“统计值”;
第五步,比对性能指标“1X语音起呼成功次数”在各个时间粒度内的“标准值”和“统计值”,如果二者不符,说明网管软件对该指标的统计错误;
第六步,通过比对网管软件代码中该指标的公式和性能指标计算工具的性能指标计算公式来排查指标计算公式的问题;通过FTP方式或其它连接方式连接到前台单板,从性能前台代理模块取回前台测试桩记录日志,通过比对其中“性能前台代理模块”返回的值和“性能数据生成工具”用户输入生成的值来排查指标采集和上报的问题。
图4为本发明中的性能指标测试方法中发现问题后的定位流程图。
第一步,对得到性能指标的标准值和统计值进行比较,判断二者是否一致,当该性能指标的“标准值”和“统计值”一致时,该性能指标测试通过,提交测试报告并更换下一个性能指标进行测试;
第二步,如果所述“标准值”和“统计值”不一致,则进一步对网管性能管理代码中的指标公式与性能指标计算工具的性能指标计算公式进行比对,判断两个公式是否一致,若不一致,故障定位为代码中的指标公式错误,修正后生成新版本重新进行测试;
第三步,若进行公式比对时,两个公式不一致,则排除指标公式的故障,Ftp至前台单板,取回前台测试桩记录日志,通过比对其中“性能前台代理模块”返回的值与“性能数据生成工具”根据用户输入所生成的值,判断性能数据是否一致,如果二者不一致,故障定位为单板上的性能前台代理有问题,检查代码修正后合成新版本重新进行测试;
第四步,如果“性能前台代理模块”返回的值和“性能数据生成工具”根据用户输入所生成的值一致,则排除单板性能前台代理故障,Ftp至前台主处理板,取回主处理板的前台测试桩记录日志,比对其中“性能前台代理”返回的值和第三步中归属于该主处理板的所有单板前台代理返回值的和是否一致,如果二者不一致,故障定位为主处理板上的性能代理对性能数据的整合有问题,检查代码修正后合成新版本重新进行测试;
第五步,如果二者一致,则排除主处理板性能前台代理故障,对比网管软件性能数据库中的数据和“性能数据生成工具”生成的存储在数据库中的数据,如果二者不一致,则故障定位为性能数据在向网管后台上报和入库的过程出现问题,检查网络状况和数据库运行状况以及这一过程的代码,修正故障后重新进行测试;
第六步,如果二者一致,则说明经过上述第二至第五步的逐步排查和修正,该性能指标测试通过,提交测试报告,并对下一个指标进行测试。
以上所述仅为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。