一种基于网络通信协议的企业级软件系统动态测试方法技术方案

技术编号:14524090 阅读:106 留言:0更新日期:2017-02-02 02:29
本发明专利技术公开了一种基于网络通信协议的企业级软件系统动态测试方法,包括服务器端和客户端,其中客户端为控制端,服务器端为被控制端,其实现过程为:在服务器端,设置远程测试辅助工具类,并在该工具类中的变量处设置一个断点;在客户端引入上述远程测试辅助工具类,当服务器端运行时,则可用控制端对服务器端进行控制和测试。该一种基于网络通信协议的企业级软件系统动态测试方法与现有技术相比,避免了系统的频繁重启,尤其是当一些测试变量条件需要系统运行很长一段时间后才具备时,更能大量节省测试的等待时间,实用性强,适用范围广泛,易于推广。

【技术实现步骤摘要】

本专利技术涉及计算机
,具体地说是一种实用性强、基于网络通信协议的企业级软件系统动态测试方法。
技术介绍
现在的企业级行业软件系统越来越庞大,使得应用系统的启动逐渐变得耗时且代价昂贵,尤其是在集群软件环境下。使得在运行期查看和修改系统变量值,可以有效提高系统的测试效率。对于偏静态类语言的程序(如Java),现在的测试手段大多都是在开发期,在运行期则通过查看系统日志的方式来分析问题。如果在软件运行期也使用类似开发期的测试手段,就会造成系统的频繁重启,影响较大,基于此,现提供一种基于网络通信协议的企业级软件系统动态测试方法,使用该方法后,尤其是当一些测试变量条件需要系统运行很长一段时间后才具备时,能大量节省测试的等待时间。
技术实现思路
本专利技术的技术任务是针对以上不足之处,提供一种实用性强、基于网络通信协议的企业级软件系统动态测试方法。一种基于网络通信协议的企业级软件系统动态测试方法,包括服务器端和客户端,其中客户端为控制端,服务器端为被控制端,其实现过程为:在服务器端,设置远程测试辅助工具类,并在该工具类中的变量处设置一个断点;在客户端引入上述远程测试辅助工具类,当服务器端运行时,则可用控制端对服务器端进行控制和测试。上述断点设置在远程测试辅助工具类变量处是指设置在欲查看的远程查看和测试的变量处,该断点的控制代码内容为:mapData=(Map)RJF.inspect(mapData)。在客户端对服务器端进行控制和测试的过程为:客户端运行后,对服务器端跟踪监控,当服务器端运行到某个断点时将变量值发送到客户端,服务器端程序挂起,等待客户端的指令,完成客户端对服务器端的控制。所述指令是基于Socket网络通信协议定义的控制命令。控制端对服务器端进行测试是指控制端控制服务器端通过反序列化和序列化修改运行期变量值,通过反射机制调用指定过程。具体测试过程为:上述服务器端发给客户端的变量值均是可序列化的,客户端反序列化后重新创建出Java对象,测试人员对变量值进行查看,修改客户端Java工程中的代码,修改变量值,通过指令回传修改后的变量值,或忽略继续执行;并通过指令创建服务器端指定对象,调用指定的方法;服务器端收到指令后,解析指令,利用Java反射机制创建对象、执行方法、修改变量值或继续运行。本专利技术的一种基于网络通信协议的企业级软件系统动态测试方法,具有以下优点:该专利技术的一种基于网络通信协议的企业级软件系统动态测试方法,减少了测试等待时间,当软件系统的启动需要6分钟时,在一天的开发测试中,如果能减少重启应用系统10次,则能减少等待时间1个小时;提高了测试覆盖率,当数据库中的数据生产过程步骤繁琐复杂,测试数据量不足时,通过修改运行期中间数据,利用控制端工程在程序里循环制造测试数据,保证了测试数据的数量,从而提高了测试覆盖率,实用性强,适用范围广泛,易于推广。附图说明附图1为本专利技术的实现示意图。具体实施方式下面结合附图及具体实施例对本专利技术作进一步说明。如附图1所示,本专利技术提供一种基于网络通信协议的企业级软件系统动态测试方法,针对大型企业级应用的软件系统测试,本专利技术综合了本地断点调试、单元测试、远程服务器输出日志的优点,又增加了增强型的功能改进了软件测试方法:基于Socket网络通信,实现了一种远程调试机制,可以在软件运行期,不重启系统的情况下,控制程序中断或继续运行,查看变量值;通过反序列化和序列化修改运行期变量值;通过反射机制调用指定过程。利用本专利技术提高了软件测试的效率和覆盖率。包括服务器端和客户端,其中客户端为控制端,服务器端为被控制端,其实现过程为:在被控制端,即服务器端:被控制端代码工程中,引入远程测试辅助工具类,如rjf-server.jar,在希望远程查看和测试的变量处修改为比如:mapData=(Map)RJF.inspect(mapData)。这行控制代码的作用类似于给程序设置了一个断点。在控制端,即客户端:控制端是一个运行在本地的Java代码工程,引入rjf-client.jar,当服务器端运行时,则可用控制端对服务器端进行控制和测试。客户端运行后,可对服务器端跟踪监控,当服务器端运行到某个断点时会将变量值发送到控制端,服务器端程序挂起,等待控制端的“指令”,这里的“指令”则是基于Socket网络通信协议定义的一些控制命令。服务器端发给控制端的变量值均是可序列化的,客户端反序列化后可重新创建出Java对象,测试人员可对变量值进行查看,基于现有的变量值修改控制端Java工程中的代码,修改变量值,通过“指令”回传修改后的变量值,或忽略继续执行。也可以通过“指令”创建服务器端指定对象,调用指定的方法。服务器端收到指令后,会解析指令,利用Java反射机制创建对象、执行方法、修改变量值或继续运行。本专利技术针对大型企业级软件系统,提供了程序运行期查看和修改程序变量、制造大量测试数据的方法。能减少大型应用重启带来的等待时间,提高了测试效率和覆盖率。并且通过网络通信协议,在被控制端和控制端之间建立控制通道,由控制端向被控制端发送指令和数据,被控制端解析并执行指令,如:中断、修改数据、忽略、继续执行或调用特定方法等。上述具体实施方式仅是本专利技术的具体个案,本专利技术的专利保护范围包括但不限于上述具体实施方式,任何符合本专利技术的一种基于网络通信协议的企业级软件系统动态测试方法的权利要求书的且任何所属
的普通技术人员对其所做的适当变化或替换,皆应落入本专利技术的专利保护范围。本文档来自技高网
...

【技术保护点】
一种基于网络通信协议的企业级软件系统动态测试方法,其特征在于,包括服务器端和客户端,其中客户端为控制端,服务器端为被控制端,其实现过程为:在服务器端,设置远程测试辅助工具类,并在该工具类中的变量处设置一个断点;在客户端引入上述远程测试辅助工具类,当服务器端运行时,则可用控制端对服务器端进行控制和测试。

【技术特征摘要】
1.一种基于网络通信协议的企业级软件系统动态测试方法,其特征在于,包括服务器端和客户端,其中客户端为控制端,服务器端为被控制端,其实现过程为:在服务器端,设置远程测试辅助工具类,并在该工具类中的变量处设置一个断点;在客户端引入上述远程测试辅助工具类,当服务器端运行时,则可用控制端对服务器端进行控制和测试。2.根据权利要求1所述的一种基于网络通信协议的企业级软件系统动态测试方法,其特征在于,上述断点设置在远程测试辅助工具类变量处是指设置在欲查看的远程查看和测试的变量处,该断点的控制代码内容为:mapData=(Map)RJF.inspect(mapData)。3.根据权利要求1所述的一种基于网络通信协议的企业级软件系统动态测试方法,其特征在于,在客户端对服务器端进行控制和测试的过程为:客户端运行后,对服务器端跟踪监控,当服务器端运行到某个断点时将变量值发送到客户端,服务器端程序挂起,等待客户端的指令...

【专利技术属性】
技术研发人员:姜飞李磊
申请(专利权)人:浪潮软件股份有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1