基于字节码技术的JAVA应用程序测试方法及系统技术方案

技术编号:26375857 阅读:10 留言:0更新日期:2020-11-19 23:44
本发明专利技术提供了一种基于字节码技术的JAVA应用程序测试方法及系统,可用于人工智能技术领域,所述方法包括:根据预设测试信息得到JAVA应用程序信息、接口信息和测试任务信息;根据所述JAVA应用程序信息将数据采集代理程序传输至JAVA应用程序服务器,通过所述数据采集代理程序根据所述接口信息采集对应接口的接口传输数据;根据所述接口传输数据和测试任务信息形成测试脚本,并对所述JAVA应用程序服务器进行压力测试,本发明专利技术可。

【技术实现步骤摘要】
基于字节码技术的JAVA应用程序测试方法及系统
本专利技术涉及JAVA应用程序测试
,特别涉及人工智能
,尤其涉及一种基于字节码技术的JAVA应用程序测试方法及系统。
技术介绍
随着互联网的普及,互联网用户的急速增长,IT行业的用户需求也呈现爆炸式的增长,从而衍生了JAVA应用程序的随便快速交付和DevOps等理念,DevOps(英文Development和Operations的组合)是一组过程、方法与系统的统称,为了按时交付软件产品和服务,开发和运营工作必须紧密合作,促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。传统的一个季度或者一个月度更新的月季度系统版本更新已经无法满足日益增长的用户需求。快速的新版本应用程序的迭代交付模式下,对于应用程序测试的需求日益增加。通过对各应用各版本编写自动化脚本的模式,能有效的解决不断增长的测试需求。但是,在测试领域,因为技术的专项性和专项测试人员的缺少,经常是一个专项测试人员对应多个应用,并且专项测试成本远大于功能测试,会存在性能测试覆盖不全的问题,这无疑增加的程序上线的性能风险,同时也不符合DevOps4级的性能自动化理念。
技术实现思路
本专利技术的一个目的在于提供一种基于字节码技术的JAVA应用程序测试方法,解决目前的JAVA应用程序测试性能中测试覆盖不全的问题。本专利技术的另一个目的在于提供一种基于字节码技术的JAVA应用程序测试系统。本专利技术的再一个目的在于提供一种计算机设备。本专利技术的还一个目的在于提供一种可读介质。为了达到以上目的,本专利技术一方面公开了一种基于字节码技术的JAVA应用程序测试方法,包括:根据预设测试信息得到JAVA应用程序信息、接口信息和测试任务信息;根据所述JAVA应用程序信息将数据采集代理程序传输至JAVA应用程序服务器,通过所述数据采集代理程序根据所述接口信息采集对应接口的接口传输数据;根据所述接口传输数据和测试任务信息形成测试脚本,并对所述JAVA应用程序服务器进行压力测试。优选的,所述通过所述数据采集代理程序根据所述接口信息采集对应接口的接口传输数据具体包括:通过所述数据采集代理程序根据所述接口信息确定所有采集的应用程序接口;对各接口通过字节码技术将预设的附加程序插入至JAVA应用程序中;通过所述附加程序采集各接口的接口传输数据。优选的,所述JAVA应用程序信息包括JAVA应用程序的环境信息、应用名、版本信息和服务器地址;所述接口信息包括需要测试的接口类型、接口列表、白名单和采集频度;所述测试任务信息包括测试任务列表和测试并发量。优选的,所述根据所述接口传输数据和测试任务信息形成测试脚本具体包括:根据所述测试任务信息得到测试任务列表;若所述测试任务列表为mock测试,分别对每个接口的接口传输数据中不同参数交易进行筛选得到多个相似交易,根据多个相似交易中出现频率最多的相似交易形成测试脚本;若所述测试任务列表为非mock测试,分别对每个接口的接口传输数据中不同参数交易进行筛选得到多个相似交易,对多个相似交易中出现频率最多的相似交易进行聚类分析,若聚类结果包括多个不同类别的相似交易,将相似交易的参数设置固定参数,若聚类结果为离散,将相似交易的参数设置为随机参数形式,根据设置参数后的相似交易形成测试脚本。优选的,所述对所述JAVA应用程序服务器进行压力测试具体包括:根据测试任务信息的测试并发量形成多个线程;通过多个线程并发调用测试脚本对所述JAVA应用程序进行压力测试。本专利技术还公开了一种基于字节码技术的JAVA应用程序测试系统,包括:测试信息解析模块,用于根据预设测试信息得到JAVA应用程序信息、接口信息和测试任务信息;代理程序部署模块,用于根据所述JAVA应用程序信息将数据采集代理程序传输至JAVA应用程序服务器,通过所述数据采集代理程序根据所述接口信息采集对应接口的接口传输数据;自动化性能测试模块,用于根据所述接口传输数据和测试任务信息形成测试脚本,并对所述JAVA应用程序服务器进行压力测试。优选的,所述代理程序部署模块具体用于通过所述数据采集代理程序根据所述接口信息确定所有采集的应用程序接口,对各接口通过字节码技术将预设的附加程序插入至JAVA应用程序中,通过所述附加程序采集各接口的接口传输数据。优选的,所述JAVA应用程序信息包括JAVA应用程序的环境信息、应用名、版本信息和服务器地址;所述接口信息包括需要测试的接口类型、接口列表、白名单和采集频度;所述测试任务信息包括测试任务列表和测试并发量。优选的,所述自动化性能测试模块具体用于根据所述测试任务信息得到测试任务列表,若所述测试任务列表为mock测试,分别对每个接口的接口传输数据中不同参数交易进行筛选得到多个相似交易,根据多个相似交易中出现频率最多的相似交易形成测试脚本,若所述测试任务列表为非mock测试,分别对每个接口的接口传输数据中不同参数交易进行筛选得到多个相似交易,对多个相似交易中出现频率最多的相似交易进行聚类分析,若聚类结果包括多个不同类别的相似交易,将相似交易的参数设置固定参数,若聚类结果为离散,将相似交易的参数设置为随机参数形式,根据设置参数后的相似交易形成测试脚本。优选的,所述自动化性能测试模块进一步用于根据测试任务信息的测试并发量形成多个线程,通过多个线程并发调用测试脚本对所述JAVA应用程序进行压力测试。本专利技术还公开了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述方法。本专利技术还公开了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述方法。通过为解决日益增长的性能测试需求,以及解决目前性能测试周期长,覆盖面狭窄的问题。本专利技术通过预先配置的测试信息在JAVA应用程序服务器设置代理程序,通过代理程序采用字节码技术采集JAVA应用程序服务器接口传输数据,根据接口传输数据和测试任务信息形成测试脚本,通过测试脚本自动对所述JAVA应用程序服务器进行压力测试,帮助测试人员减少因测试覆盖面不广,只针对核心交易测试而产生其他地方出错的问题。最大程度的保证交易性能的生产安全。本专利技术通过配置测试信息、自动化和算法分析的方式在功能或者流程测试完成一遍后,全面同步完成相关的性能测试,测试覆盖面广,且执行高效简单。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出本专利技术基于字节码技术的JAVA应用程序测试方法一个具体实施例的流程图;图2示出本专利技术基于字节码技术的JAVA应用本文档来自技高网...

【技术保护点】
1.一种基于字节码技术的JAVA应用程序测试方法,其特征在于,包括:/n根据预设测试信息得到JAVA应用程序信息、接口信息和测试任务信息;/n根据所述JAVA应用程序信息将数据采集代理程序传输至JAVA应用程序服务器,通过所述数据采集代理程序根据所述接口信息采集对应接口的接口传输数据;/n根据所述接口传输数据和测试任务信息形成测试脚本,并对所述JAVA应用程序服务器进行压力测试。/n

【技术特征摘要】
1.一种基于字节码技术的JAVA应用程序测试方法,其特征在于,包括:
根据预设测试信息得到JAVA应用程序信息、接口信息和测试任务信息;
根据所述JAVA应用程序信息将数据采集代理程序传输至JAVA应用程序服务器,通过所述数据采集代理程序根据所述接口信息采集对应接口的接口传输数据;
根据所述接口传输数据和测试任务信息形成测试脚本,并对所述JAVA应用程序服务器进行压力测试。


2.根据权利要求1所述的基于字节码技术的JAVA应用程序测试方法,其特征在于,所述通过所述数据采集代理程序根据所述接口信息采集对应接口的接口传输数据具体包括:
通过所述数据采集代理程序根据所述接口信息确定所有采集的应用程序接口;
对各接口通过字节码技术将预设的附加程序插入至JAVA应用程序中;
通过所述附加程序采集各接口的接口传输数据。


3.根据权利要求1所述的基于字节码技术的JAVA应用程序测试方法,其特征在于,所述JAVA应用程序信息包括JAVA应用程序的环境信息、应用名、版本信息和服务器地址;
所述接口信息包括需要测试的接口类型、接口列表、白名单和采集频度;
所述测试任务信息包括测试任务列表和测试并发量。


4.根据权利要求1所述的基于字节码技术的JAVA应用程序测试方法,其特征在于,所述根据所述接口传输数据和测试任务信息形成测试脚本具体包括:
根据所述测试任务信息得到测试任务列表;
若所述测试任务列表为mock测试,分别对每个接口的接口传输数据中不同参数交易进行筛选得到多个相似交易,根据多个相似交易中出现频率最多的相似交易形成测试脚本;
若所述测试任务列表为非mock测试,分别对每个接口的接口传输数据中不同参数交易进行筛选得到多个相似交易,对多个相似交易中出现频率最多的相似交易进行聚类分析,若聚类结果包括多个不同类别的相似交易,将相似交易的参数设置固定参数,若聚类结果为离散,将相似交易的参数设置为随机参数形式,根据设置参数后的相似交易形成测试脚本。


5.根据权利要求3所述的基于字节码技术的JAVA应用程序测试方法,其特征在于,所述对所述JAVA应用程序服务器进行压力测试具体包括:
根据测试任务信息的测试并发量形成多个线程;
通过多个线程并发调用测试脚本对所述JAVA应用程序进行压力测试。


6.一种基于字节码技术的JAVA应用程序测试系统,其特征在于,包括:
测试信息解析模块,用于根据...

【专利技术属性】
技术研发人员:黄俊文杨卓俊谢林洁陆斌
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:北京;11

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

1