一种软件性能测试中无应答事务的测量方法

文档序号:7678056阅读:257来源:国知局
专利名称:一种软件性能测试中无应答事务的测量方法
技术领域
本发明涉及计算机技术领域,特别是涉及一种软件性能测试中无应答事务的测量方法。
背景技术
软件性能测试的目的是为了验证系统是否达到用户提出的性能指标,同时发现系统中存在的性能瓶颈,起到优化系统的目的。软件性能测试的方法为采用软件开发技术,编写自动执行的测试代码(即客户端程序),在每种需要测试的事务开始和结束的时候加入标记,按照测试设计执行代码,统计每个事务的响应时间和单位时间内业务的完成量(TPQ、事务成功率来衡量软件的性能。软件性能测试中的事务从功能的角度理解是应用程序完成的功能单元,从性能测试代码内部来看,是一个请求和其对应的应答的集合,或者几组这样的请求应答对的集
I=I O无应答事务由于业务的特殊原因,客户端程序在请求过服务器后,服务器应答客户端程序“请求已收到”(或服务器不做任何应答),之后不在继续通知客户端最终的处理结果的方式,称为无应答事务。图1是无应答事务的一个示意流程图。如图1所示,客户端程序发送请求A到服务器(这里是将该请求标记为A,后续的文字中称为请求A),服务器向客户端程序返回‘请求A已收到’的回执,然后服务器处理请求A,将请求A的处理结果发送到外部系统程序。这里,服务器是指运行被测试软件的机器;外部系统程序是无应答事务的处理结果的发送目的地,例如,在一个即时通信系统中,一个即时通信客户端给另外一个即时通信客户端发送无应答消息,那么该另外一个客户端就是外部系统。按照现有的性能测试方案,客户端程序只能把请求A发送前标记为A事务的开始, 把‘回请求A已收到’的回执当作A事务的结束,由此得到事务的响应时间、TPS、成功率。但事实上,A事务的结束应该是以外部系统收到处理结果为结束标志的,这个事务度量才能真正反映出被测试系统的处理性能。相比之下,现有的性能测试方案得到的结果只有部分的测试意义或者完全没有意义。

发明内容
本发明提供了一种软件性能测试中无应答事务的测量方法,该方法能够准确地对包括无应答事务软件的性能进行测试。为达到上述目的,本发明的技术方案是这样实现的本发明公开了一种软件性能测试中无应答事务的测量方法,其特征在于,该方法包括客户端程序向服务器发送请求A,服务器向客户端程序返回请求A已收到的回执;服务器处理请求A,并将请求A的处理结果发送给外部系统程序;
客户端程序获知外部系统程序接收到请求A的处理结果;客户端程序将发送请求A标记为无应答事务的开始,将获知外部系统程序接收到请求A的处理结果标记为无应答事务的结束,由此测量无应答事务。由上述可见,本发明这种客户端程序向服务器发送请求A,服务器向客户端程序返回请求A已收到的回执,服务器处理请求A,并将请求A的处理结果发送给外部系统程序, 客户端程序获知外部系统程序接收到请求A的处理结果,客户端程序将发送请求A标记为无应答事务的开始,将获知外部系统程序接收到请求A的处理结果标记为无应答事务的结束,由此测量无应答事务的技术方案,由于客户端程序获知外部系统程序接收到请求A的处理结果,并将获知外部系统程序接收到请求A的处理结果标记为无应答事务的结束,相对于现有技术中将服务器发送的请求A已收到的回执作为无应答事务的结束,能够准确地对包括无应答事务软件的性能进行测试。


图1是无应答事务的一个示意流程图;图2是本发明实施例中的一种无应答事务的性能测试方法的流程图;图3是本发明实施例中采用方案一实现无应答事务的性能测试的流程图;图4是本发明实施例中采用方案二实现无应答事务的性能测试的流程图;图5是本发明实施例中采用方案三实现无应答事务的性能测试的流程图。
具体实施例方式为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。图2是本发明实施例中的一种无应答事务的性能测试方法的流程图。如图2所示, 该方法包括201,客户端程序向服务器发送请求A,服务器向客户端程序返回请求A已收到的回执。202,服务器处理请求A,并将请求A的处理结果发送给外部系统程序。203,客户端程序获知外部系统程序接收到请求A的处理结果。204,客户端程序将发送请求A标记为无应答事务的开始,将获知外部系统程序接收到请求A的处理结果标记为无应答事务的结束,由此测量无应答事务。在图2所示的方案中,将客户端程序和外部系统程序以某种方式联系起来,使得客户端程序能过获知外部系统程序接收到请求A的处理结果,并把该事件作为无应答事务的结束,从而能够准确地检测出无应答事务的响应时间等。在本发明的实施例中提供三种客户端程序获知外部系统程序接收到请求A的处理结果的方案方案一将客户端程序和外部系统程序实现在同一个进程中,当服务器向外部系统程序发送请求A的处理结果时,客户端程序能获知外部系统程序接收到了请求A的处理结果。就是说在测试代码中,同时实现客户端和外部系统功能,在运行时,通过事前的安排,请求A的发送和最后请求A的处理结果都发生在同一个测试进程内,方便最后事务的计算,具体过程如图3所示。图3是本发明实施例中采用方案一实现无应答事务的性能测试的流程图。如图3 所示,客户端程序和外部系统程序在同一个进程中,客户端程序向服务器发送请求A,服务器向客户端程序返回请求A已收到的回执,服务器处理请求A,并向外部系统程序返回请求 A的处理结果,由于客户端程序和外部系统程序在同一个进程中,因此客户端程序也能获知外部系统程序接收到的请求A的处理结果。方案一的优点在于在测试代码中解决了事务定义的问题,方法简洁,事务定义没有引入其它必需添加的过程。但是方案一也有一个缺点当有多个客户端程序对事务A进行测试,而外部系统程序只有1或有限的几个时,这种方案不适用。因为不知道该将这有限的外部系统程序合并到哪些客户端程序的进程中。方案二客户端程序在启动后向外部系统程序(又称为挡板程序)注册自己的位置信息; 外部系统程序在接收到请求A的处理结果后,通过查找客户端注册的位置信息,确定所述客户端程序的位置,将请求A的处理结果发送给所述客户端程序。具体如图4所示图4是本发明实施例中采用方案二实现无应答事务的性能测试的流程图。如图4 所示,客户端程序在启动后向外部系统程序注册自己的位置信息,具体为客户端程序将自身的标识以及自身所在进程的IP地址和端口号发送给外部系统程序,外部系统程序将所述客户端程序的标识以及IP地址和端口号对应保存。客户端程序向服务器发送请求AJg 务器向客户端程序返回请求A已收到的回执。服务器处理请求A,并将请求A的处理结果发送给外部系统程序。所述外部系统程序在接收到请求A的处理结果后,通过查找客户端注册的位置信息,确定所述客户端程序的位置,具体为外部系统程序从请求A的处理结果中获取所述客户端程序的标识(这是因为客户端程序向服务器发送的请求A,以及服务器向外部系统程序发送的请求A的处理结果中都一直携带客户端程序的标识),根据该标识查询所保存的信息,得到对应的IP地址和端口号,根据所得到的IP地址和端口号确定所述客户端程序的位置。然后外部系统程序将请求A的处理结果返回给客户端程序。方案二的特点在于实现方法简单直接,适合测试压力不是很大的情况。方案三建立客户端程序和客户端程序所在客户端进程之间的匹配规则;客户端进程根据所述匹配原则确定自身对应的客户端程序并启动该客户端程序;外部系统程序在接收到请求A的处理结果后,根据所述匹配原则确定客户端进程的位置,将请求A的处理结果返回给所述客户端进程,进而所述客户端程序获知外部系统接收到请求A的处理结果。具体如图 5所示。图5是本发明实施例中采用方案三实现无应答事务的性能测试的流程图。在本方案中,预先建立配置文件,在该配置文件中保存客户端程序的标识与客户端进程的IP地址和端口号之间的对应关系。则具体流程如图5所示,客户端进程根据自身的IP地址和端口号查找配置文件,找到对应客户端程序的标识,启动该客户端程序标识对应的客户端程序。 客户端程序启动后向服务器发送请求A,服务器向客户端程序返回请求A已收到的回执。服
6务器处理请求A,并将请求A的处理结果发送给外部系统程序。外部系统程序在接收到请求 A的处理结果后,从请求A的处理结果中获取客户端程序的标识,根据客户端程序的标识查找配置文件,找到对应客户端进程的IP地址和端口号,向客户端进程返回请求A的处理结果。由于所述客户端程序在所述客户端进程中,因此能够获知外部系统程序接收到了请求 A的处理结果。在本发明的一个实施例中,当有N (N为大于1的自然数)个客户端进程时在配置文件中保存客户端程序的标识模N后的余数与客户端进程的IP地址和端口号之间的对应关系。客户端进程根据匹配原则确定自身对应的客户端程序为客户端进程根据自身的IP 地址和端口号查找所述配置文件,找到对应的余数,然后找到其标识模N后余数等于该找到的余数的客户端程序。外部系统程序在接收到请求A的处理结果后,根据匹配原则确定客户端进程的位置具体为外部系统程序从请求A的处理结果中获取客户端程序的标识, 根据客户端程序的标识模N后的余数查找配置文件,找到对应客户端进程的IP地址和端口号。例如,有50个客户端进程,客户端程序的标识是数字或者可以转化成数字,则对每个客户端程序的标识进行模50取余数,同一个余数对应一个IP地址和端口号对,这样建立起来一个匹配关系,将该匹配关系保存到配置文件中。客户端程序和外部系统程序遵循同样的规则完成整个测试过程。方案三的特点是能够完成大压力情况下的性能测试。综上所述,本发明这种客户端程序向服务器发送请求A,服务器向客户端程序返回请求A已收到的回执,服务器处理请求A,并将请求A的处理结果发送给外部系统程序,客户端程序获知外部系统程序接收到请求A的处理结果,客户端程序将发送请求A标记为无应答事务的开始,将获知外部系统程序接收到请求A的处理结果标记为无应答事务的结束, 由此测量无应答事务的技术方案,由于客户端程序获知外部系统程序接收到请求A的处理结果,并将获知外部系统程序接收到请求A的处理结果标记为无应答事务的结束,相对于现有技术中将服务器发送的请求A已收到的回执作为无应答事务的结束,能够准确地对包含无应答事务的软件的性能进行测试。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种软件性能测试中无应答事务的测量方法,其特征在于,该方法包括客户端程序向服务器发送请求A,服务器向客户端程序返回请求A已收到的回执;服务器处理请求A,并将请求A的处理结果发送给外部系统程序;客户端程序获知外部系统程序接收到请求A的处理结果;客户端程序将发送请求A标记为无应答事务的开始,将获知外部系统程序接收到请求 A的处理结果标记为无应答事务的结束,由此测量无应答事务。
2.根据权利要求1所述的方法,其特征在于,所述由此测量无应答事务包括测量无应答事务的响应时间、单位时间内业务的完成量和成功率。
3.根据权利要求1或2所述的方法,其特征在于,所述客户端程序获知外部系统程序接收到请求A的处理结果包括将客户端程序和外部系统程序实现在同一个进程中,当服务器向外部系统程序发送请求A的处理结果时,客户端程序能获知外部系统程序接收到了请求A的处理结果。
4.根据权利要求1或2所述的方法,其特征在于,所述客户端程序获知外部系统程序接收到请求A的处理结果包括客户端程序在启动后向外部系统程序注册自己的位置信息;外部系统程序在接收到请求A的处理结果后,通过查找客户端注册的位置信息,确定所述客户端程序的位置,将请求A的处理结果发送给所述客户端程序。
5.根据权利要求4所述的方法,其特征在于,所述客户端程序在启动后向外部系统程序注册自己的位置信息包括客户端程序将自身的标识以及自身所在进程的IP地址和端口号发送给外部系统程序,外部系统程序将所述客户端程序的标识以及IP地址和端口号对应保存;所述外部系统程序在接收到请求A的处理结果后,通过查找客户端注册的位置信息, 确定所述客户端程序的位置包括外部系统程序从请求A的处理结果中获取所述客户端程序的标识,根据该标识查询所保存的信息,得到对应的IP地址和端口号,根据所得到的IP 地址和端口号确定所述客户端程序的位置。
6.根据权利要求1或2所述的方法,其特征在于,所述客户端程序获知外部系统程序接收到请求A的处理结果包括建立客户端程序和客户端程序所在客户端进程之间的匹配规则;客户端进程根据所述匹配原则确定自身对应的客户端程序并启动该客户端程序;外部系统程序在接收到请求A的处理结果后,根据所述匹配原则确定客户端进程的位置,将请求A的处理结果返回给所述客户端进程,进而所述客户端程序获知外部系统接收到请求A的处理结果。
7.根据权利要求6所述的方法,其特征在于,所述建立客户端程序和客户端程序所在客户端进程之间的匹配规则包括建立配置文件,在该配置文件中保存客户端程序的标识与客户端进程的IP地址和端口号之间的对应关系;所述客户端进程根据所述匹配原则确定自身对应的客户端程序包括客户端进程根据自身的IP地址和端口号查找所述配置文件,找到对应客户端程序的标识;所述外部系统程序在接收到请求A的处理结果后,根据所述匹配原则确定客户端进程的位置包括外部系统程序从请求A的处理结果中获取客户端程序的标识,根据客户端程序的标识查找配置文件,找到对应客户端进程的IP地址和端口号。
8.根据权利要求7所述的方法,其特征在于,当有N个客户端进程时 N为大于1的自然数;在配置文件中保存客户端程序的标识模N后的余数与客户端进程的IP地址和端口号之间的对应关系;所述客户端进程根据所述匹配原则确定自身对应的客户端程序包括客户端进程根据自身的IP地址和端口号查找所述配置文件,找到对应的余数,然后找到其标识模N后余数等于该找到的余数的客户端程序;所述外部系统程序在接收到请求A的处理结果后,根据所述匹配原则确定客户端进程的位置包括外部系统程序从请求A的处理结果中获取客户端程序的标识,根据客户端程序的标识模N后的余数查找配置文件,找到对应客户端进程的IP地址和端口号。
全文摘要
本发明公开了一种软件性能测试中无应答事务的测量方法。该方法包括客户端程序向服务器发送请求A,服务器向客户端程序返回请求A已收到的回执;服务器处理请求A,并将请求A的处理结果发送给外部系统程序;客户端程序获知外部系统程序接收到请求A的处理结果;客户端程序将发送请求A标记为无应答事务的开始,将获知外部系统程序接收到请求A的处理结果标记为无应答事务的结束,由此测量无应答事务。本发明的技术方案解决了包含无应答事务的软件性能测试场景中,如何准确地测量无应答事务的问题。
文档编号H04L29/06GK102333004SQ20111013979
公开日2012年1月25日 申请日期2011年5月27日 优先权日2011年5月27日
发明者林谡 申请人:北京新媒传信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1