本发明涉及计算机软件测试领域,尤其涉及一种异步交易性能测试方法及装置。
背景技术:
:通用性能测试工具(如loadrunner、jmeter等软件),多用于发起socket、http、websocket等不同协议类型的同步交易,主要原理是采用多线程或进程并发机制、通过线程或进程模拟虚拟用户向被测系统并发发起交易请求,在没有得到交易请求的响应之前,虚拟用户会一直等待,直到得到被测系统的响应后,才会结束等待,释放虚拟用户,用以发出新一轮的交易请求。当被测交易是异步通信类型时,或被测系统的交易发送路径与返回路径不同时,通用性能测试工具存在不能正常发起大压力交易或者无法对返回交易进行解析、统计等问题。技术实现要素:为了解决当被测交易是异步通信类型时,或被测系统的交易发送路径与返回路径不同时,通用性能测试工具存在不能正常发起大压力交易的问题,本发明的第一方面提供一种异步交易性能测试方法,预先建立与被测系统之间的连接通道,所述方法包括:接收通用性能测试工具以同步交易方式发送的交易请求报文;将交易请求报文以异步交易方式通过所述连接通道发送至被测系统。进一步实施例中,接收交易请求报文之后还包括:解析交易请求报文,得到交易特征信息;向被测系统发送交易请求报文之后还包括:在内存数据库中记录每笔交易的特征信息、发送时间及发送状态信息。进一步实施例中,异步交易性能测试方法还包括:接收并解析所述被测系统发送的交易响应报文,得到交易的处理状态及特征信息;利用交易的特征信息,将交易的处理状态与内存数据库中记录的交易信息进行匹配;在交易文件中记录每笔交易的匹配状态信息、特征信息、发送时间、响应接收时间、处理状态;根据交易文件及内存数据库中的信息,计算交易统计信息。进一步实施例中,所述交易统计信息包括:交易响应时间、最大响应时间、最小响应时间、平均响应时间、响应时间百分比指标及成功率信息。进一步实施例中,根据交易文件及内存数据库中的信息,计算交易统计信息包括:根据交易文件中每笔交易的发送时间及响应接收时间,计算交易响应时间;根据所有交易响应时间,计算最大响应时间、最小响应时间、平均响应时间及响应时间百分比指标;根据内存数据库中交易的发送状态信息、交易文件中交易的匹配状态信息及处理状态信息,计算成功率信息。进一步实施例中,异步交易性能测试方法还包括:将交易统计信息存入关系数据库中,从关系数据库中获取交易统计信息并显示。本发明的第二方面提供一种异步交易性能测试装置,所述异步交易性能测试装置与被测系统之间预先建立有连接通道,所述异步交易性能测试装置包括:第一接收模块,用于接收通用性能测试工具以同步交易方式发送的交易请求报文;交易类型转换模块,用于将接收到的报文以异步交易方式通过所述连接通道发送至被测系统。进一步实施例中,异步交易性能测试装置还包括:第一解析模块,用于解析交易请求报文,得到交易特征信息;第一记录模块,用于在内存数据库中记录每笔交易的特征信息、发送时间及发送状态信息。进一步实施例中,异步交易性能测试装置还包括:第二接收模块,用于接收被测系统发送的交易响应报文;第二解析模块,用于解析所述交易响应报文,得到交易的处理状态及特征信息;匹配模块,用于利用交易的特征信息,将交易的处理状态与内存数据库中记录的交易信息进行匹配;第二记录模块,用于在交易文件中记录每笔交易的匹配状态信息、特征信息、发送时间、响应接收时间、处理状态;统计模块,用于根据交易文件及内存数据库中的信息,计算交易统计信息。进一步实施例中,所述交易统计信息包括:交易响应时间、最大响应时间、最小响应时间、平均响应时间、响应时间百分比指标及成功率信息。进一步实施例中,所述统计模块根据交易文件及内存数据库中的信息,计算交易统计信息包括:根据交易文件中每笔交易的发送时间及响应接收时间,计算交易响应时间;根据所有交易响应时间,计算最大响应时间、最小响应时间、平均响应时间及响应时间百分比指标;根据内存数据库中交易的发送状态信息、交易文件中交易的匹配状态信息及处理状态信息,计算成功率信息。进一步实施例中,异步交易性能测试装置还包括:存储模块,用于将交易统计信息存入关系数据库中;展示模块,用于从关系数据库中获取交易统计信息并显示。本发明的第三方面提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述任一实施例所述的异步交易性能测试方法。本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行计算机程序,所述计算机程序被处理器执行时实现前述任一实施例所述的异步交易性能测试方法。本发明使通用性能测试工具与交易类型实现松耦合,在不对通用性能测试工具做修改的情况下,通过预先建立与被测系统之间的连接通道,接收通用性能测试工具以同步交易方式发送的交易请求报文;将交易请求报文以异步交易方式通过所述连接通道发送至被测系统,能够转换通用性能测试工具的同步交易压力为异步交易压力的方式对异步交易被测系统进行性能测试,实现异步系统测试工作。为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出了本发明一实施例的异步交易性能测试系统的结构图;图2示出了本发明一实施例的异步交易性能测试方法的流程图;图3示出了本发明另一实施例的异步交易性能测试方法的流程图;图4示出了本发明再一实施例的异步交易性能测试方法的流程图;图5示出了本发明一实施例计算交易统计信息的流程图;图6示出了本发明又一实施例的异步交易性能测试方法的流程图;图7示出了本发明一实施例的异步交易性能测试装置的结构图;图8示出了本发明另一实施例的异步交易性能测试装置的结构图;图9示出了本发明再一实施例的异步交易性能测试装置的结构图。具体实施方式为了使本发明的技术特点及效果更加明显,下面结合附图对本发明的技术方案做进一步说明,本发明也可有其他不同的具体实例来加以说明或实施,任何本领域技术人员在权利要求范围内做的等同变换均属于本发明的保护范畴。在本说明书的描述中,参考术语“一实施例”、“一具体实施例”、“例如”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本发明的实施,其中的步骤顺序不作限定,可根据需要作适当调整。在描述本发明具体技术方案之前,先对同步交易方式及异步交易方式术语解释如下:同步交易方式:交易双方进行数据通信时,发送方发出交易请求后,需等待接收方返回响应后才发起下一次交易请求,否则在未达到超时时间之前,发送方将一直等待接收方响应。异步交易方式:交易双方进行数据通信时,发送方发出交易请求后,不等待接收方返回响应就可发起下一次交易请求,接收端处理完交易请求后,将返回反馈给交易发送方(或者接收方只接收交易请求不返回响应)。如图1,异步交易性能测试方法执行于异步交易性能测试装置中,该装置与被测系统之间预先建立有连接通道,本实施例能够将通用性能测试工具发出的压力导向被测系统,减少通用性能测试工具与被测系统的连接数量。具体的,如图2所示,异步交易性能测试方法包括:步骤210,接收通用性能测试工具以同步交易方式发送的交易请求报文。详细的说,通用性能测试工具指的是用于发起socket、http、websocket等不同协议类型的同步交易的测试工具,例如为loadrunner、jmeter,本发明对通用性能测试工具不做具体限定。步骤230,将接收到的报文以异步交易方式通过所述连接通道发送至被测系统,详细的说,被测系统例如为异步通信类系统,或交易发送路径与返回路径不同的系统,本发明对被测系统具体为何不做限定。具体实施时,将通用性能测试工具发起的同步交易压力按照1:1的比例实时转换为被测系统可接受的异步交易压力,将大量的网络连接转换为被测系统所需的特定数量网络连接。本实施例使通用性能测试工具与交易类型实现松耦合,具有较好的通用性,不需要为不同的被测系统定制不同版本的测试工具,在不对通用性能测试工具做修改的情况下,转换通用性能测试工具的同步交易压力为异步交易压力的方式对异步交易被测系统进行性能测试。进一步实施例中,为了便于后续统计,如图3所示,上述步骤210接收交易请求报文之后还包括:步骤220,解析交易请求报文,得到交易特征信息。步骤230向被测系统发送交易请求报文之后还包括:步骤240,在内存数据库中记录每笔交易的特征信息、发送时间及发送状态信息。详细的说,发送状态信息为发送成功或发送失败信息。内存数据库中记录的信息如表一所示。表一交易编号特征信息发送时间发送状态信息交易1特征1时间1成功交易2特征2时间2失败交易3特征3时间3成功交易4特征4时间4成功交易5特征5时间5成功本实施例使用内存数据库存储每笔交易的特征信息、发送时间及发送状态信息,能够实现后续大压力并发下信息的快速匹配。进一步实施例中,为了实现性能统计,如图4所示,异步交易性能测试方法还包括:步骤250,接收并解析所述被测系统发送的交易响应报文,得到交易的处理状态及特征信息。步骤260,利用交易的特征信息,将交易的处理状态与内存数据库中记录的交易信息进行匹配。步骤270,在交易文件中记录每笔交易的匹配状态信息、特征信息、发送时间、响应接收时间、处理状态。交易文件中记录的信息如表二。表二:步骤280,根据交易文件及内存数据库中的信息,计算交易统计信息。详细的说,交易统计信息包括:交易响应时间、最大响应时间、最小响应时间、平均响应时间、响应时间百分比指标(响应时间百分比指标包括70%至99%之间的任一个或多个指标,本发明对此不做具体限定)及成功率信息。具体实施时,如图5所示,步骤280计算交易统计信息的过程包括:步骤281,根据交易文件中每笔交易的发送时间及响应接收时间,计算交易响应时间。步骤282,根据所有交易响应时间,计算最大响应时间、最小响应时间、平均响应时间及响应时间百分比指标。步骤283,根据内存数据库中交易的发送状态信息、交易文件中交易的匹配状态信息及处理状态信息,计算成功率信息。其中,成功率信息包括:发送成功率、匹配成功率及处理成功率。进一步实施例中,为了便于工作人员了解测试情况,如图6所示,异步交易性能测试方法还包括:步骤290:将交易统计信息存入关系数据库中;步骤300:从关系数据库中获取交易统计信息并显示。基于同一发明构思,本发明还提供一种异步交易性能测试装置,如下面的实施例所述。由于该装置解决问题的原理与异步交易性能测试方法相似,因此该装置的实施可以参见异步交易性能测试方法的实施,重复之处不再赘述。具体的,异步交易性能测试装置与被测系统之间预先建立有连接通道,如图7所示,异步交易性能测试装置包括:第一接收模块710,用于接收通用性能测试工具以同步交易方式发送的交易请求报文;交易类型转换模块720,用于将接收到的报文以异步交易方式通过所述连接通道发送至被测系统。具体实施时,如图8所示,异步交易性能测试装置还包括:第一解析模块730,用于解析交易请求报文,得到交易特征信息;第一记录模块740,用于在内存数据库中记录每笔交易的特征信息、发送时间及发送状态信息。如图9所示,异步交易性能测试装置还包括:第二接收模块750,用于接收被测系统发送的交易响应报文;第二解析模块760,用于解析所述交易响应报文,得到交易的处理状态及特征信息;匹配模块770,用于利用交易的特征信息,将交易的处理状态与内存数据库中记录的交易信息进行匹配;第二记录模块780,用于在交易文件中记录每笔交易的匹配状态信息、特征信息、发送时间、响应接收时间、处理状态;统计模块790,用于根据交易文件及内存数据库中的信息,计算交易统计信息。详细的说,所述交易统计信息包括:交易响应时间、最大响应时间、最小响应时间、平均响应时间、响应时间百分比指标及成功率信息。所述统计模块790根据交易文件及内存数据库中的信息,计算交易统计信息包括:根据交易文件中每笔交易的发送时间及响应接收时间,计算交易响应时间;根据所有交易响应时间,计算最大响应时间、最小响应时间、平均响应时间及响应时间百分比指标;根据内存数据库中交易的发送状态信息、交易文件中交易的匹配状态信息及处理状态信息,计算成功率信息。进一步实施例中,异步交易性能测试装置还包括:存储模块,用于将交易统计信息存入关系数据库中;展示模块,用于从关系数据库中获取交易统计信息并显示。本实施例能够为用户呈现一个交互友好的操作界面,将交易统计信息进行可视化展示。本发明提供的异步交易性能测试装置能够转换通用性能测试工具的同步交易压力为异步交易压力的方式对被测系统进行性能测试,实现异步系统测试工作。本发明一些实施例中,还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述计算机程序时实现前述任一实施例所述的异步交易性能测试方法。本发明一些实施例中,还提供一种计算机可读存储介质,计算机可读存储介质存储有执行计算机程序,所述计算机程序被处理器执行时实现前述任一实施例所述的异步交易性能测试方法。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。以上所述仅用于说明本发明的技术方案,任何本领域普通技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围应视权利要求范围为准。当前第1页12