单元测试数据的生成方法及装置制造方法及图纸

技术编号:36223027 阅读:13 留言:0更新日期:2023-01-04 12:21
本申请提供单元测试数据的生成方法及装置,其中所述单元测试数据的生成方法包括:获取待测试应用程序;读取所述待测试应用程序中的类字节码;解析所述类字节码,获取所述待测试应用程序的参数属性信息;在对所述待测试应用程序执行集成测试的过程中,获取集成测试参数数据;基于所述集成测试参数数据和所述参数属性信息生成所述待测试应用程序的单元测试数据。通过本申请提供的方法,在集成测试的过程中,通过采集每个方法的入参值、返回值、异常值,并与每个方法的参数属性信息对应生成每个方法对应的单元测试数据,便于在后续的单元测试过程中,可以快速便捷的生成单元测试用例,提高了单元测试用例的生成效率。提高了单元测试用例的生成效率。提高了单元测试用例的生成效率。

【技术实现步骤摘要】
单元测试数据的生成方法及装置


[0001]本申请涉及软件开发
,特别涉及单元测试数据的生成方法。本申请同时涉及单元测试数据的生成装置,一种计算设备,以及一种计算机可读存储介质。

技术介绍

[0002]随着互联网的普及,互联网用户的急速增长,软件行业的用户需求也越来越多,应用程序开发是软件行业中的重要组成部分,在应用程序开发的过程中,单元测试代码由测试类运行框架相关代码及测试用例代码两部分组成,其中,测试类运行框架相关代码由Maven插件根据测试类自动生成,测试用例代码需要开发人员补充开发,加入方法入参值、返回期望值、异常期望值等参数。编写单元测试的测试用例代码需要开发人员输入上述参数,编写工作量大,代码覆盖率较低,耗费人力物力。

技术实现思路

[0003]有鉴于此,本申请实施例提供了单元测试数据的生成方法。本申请同时涉及单元测试数据的生成装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的上述问题。
[0004]根据本申请实施例的第一方面,提供了一种单元测试数据的生成方法,包括:
[0005]获取待测试应用程序;
[0006]读取所述待测试应用程序中的类字节码;
[0007]解析所述类字节码,获取所述待测试应用程序的参数属性信息;
[0008]在对所述待测试应用程序执行集成测试的过程中,获取集成测试参数数据;
[0009]基于所述集成测试参数数据和所述参数属性信息生成所述待测试应用程序的单元测试数据。
[0010]根据本申请实施例的第二方面,提供了一种单元测试数据的生成装置,包括:
[0011]程序获取模块,被配置为获取待测试应用程序;
[0012]读取模块,被配置为读取所述待测试应用程序中的类字节码;
[0013]解析模块,被配置为解析所述类字节码,获取所述待测试应用程序的参数属性信息;
[0014]数据获取模块,被配置为在对所述待测试应用程序执行集成测试的过程中,获取集成测试参数数据;
[0015]生成模块,被配置为基于所述集成测试参数数据和所述参数属性信息生成所述待测试应用程序的单元测试数据。
[0016]根据本申请实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述计算机指令时实现所述单元测试数据的生成方法的步骤。
[0017]根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算
机指令,该计算机指令被处理器执行时实现所述单元测试数据的生成方法的步骤。
[0018]本申请提供的单元测试数据的生成方法,包括获取待测试应用程序;读取所述待测试应用程序中的类字节码;解析所述类字节码,获取所述待测试应用程序的参数属性信息;在对所述待测试应用程序执行集成测试的过程中,获取集成测试参数数据;基于所述集成测试参数数据和所述参数属性信息生成所述待测试应用程序的单元测试数据。
[0019]本申请一实施例实现了通过解析类字节码,获得参数属性信息,并在对待测试应用执行集成测试的过程中,获取集成测试的集成测试参数数据,将集成测试参数数据和参数属性信息对应生成用于单元测试的单元测试数据,借助集成测试的数据,可以高效的补充单元测试数据,减少了开发人员编写单元测试用例的时间,提高了测试效率。
附图说明
[0020]图1是本申请一实施例提供的一种单元测试数据的生成方法的流程图;
[0021]图2是本申请一实施例提供的一种应用于购物应用程序的单元测试数据的生成方法的处理流程图;
[0022]图3是本申请一实施例提供的一种单元测试数据的生成装置的结构示意图;
[0023]图4是本申请一实施例提供的一种计算设备的结构框图。
具体实施方式
[0024]在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
[0025]在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0026]应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0027]首先,对本申请一个或多个实施例涉及的名词术语进行解释。
[0028]集成测试:也叫组装测试或联合测试,将所有模块按照涉及要求组装成子系统或系统,进行集成测试。
[0029]单元测试:是指对软件中的最小可测试单元进行检查和验证,如某个函数、某个类、某个窗口或某个菜单等等。软件的单元测试是要将独立单元与软件的其他部分相隔离的情况下进行测试。
[0030]随着互联网的普及,互联网用户的急速增长,软件行业的用户需求也越来越多,应用程序开发是软件行业中的重要组成部分,在应用程序开发的过程中,单元测试代码由测
试类运行框架相关代码及测试用例代码两部分组成,其中,测试类运行框架相关代码由Maven插件根据测试类自动生成,测试用例代码需要开发人员补充开发,加入方法入参值、返回期望值、异常期望值等参数。编写单元测试的测试用例代码需要开发人员输入上述参数,编写工作量大,代码覆盖率较低,耗费人力物力。
[0031]基于此,在本申请中,提供了单元测试数据的生成方法,本申请同时涉及单元测试数据的生成装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
[0032]图1示出了根据本申请一实施例提供的一种单元测试数据的生成方法的流程图,具体包括以下步骤:
[0033]步骤102:获取待测试应用程序。
[0034]本申请提供的方法,应用于软件开发场景中,待测试应用程序即为开发好需要进行测试的程序,例如当开发人员开发完一款软件A,需要对软件A中的功能进行测试,则软件A即为待测试应用程序。
[0035]在对应用程序进行测试的过程中,需要对应用程序中的每个功能进行测试,即单元测试;也需要将每个功能放在一起进行测试,即集成测试。例如,以开发人员开发一款购物软件为例,购物软件中包括有商品浏览功能、加购物车功能、下单功能和付款功能,需要分别对各个功能进行单元测试,也需要将本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种单元测试数据的生成方法,其特征在于,包括:获取待测试应用程序;读取所述待测试应用程序中的类字节码;解析所述类字节码,获取所述待测试应用程序的参数属性信息;在对所述待测试应用程序执行集成测试的过程中,获取集成测试参数数据;基于所述集成测试参数数据和所述参数属性信息生成所述待测试应用程序的单元测试数据。2.如权利要求1所述的方法,其特征在于,读取所述待测试应用程序中的类字节码,包括:构建类读取代理程序;基于所述类读取代理程序加载所述待测试应用程序;在加载所述待测试应用程序的过程中,读取所述待测试应用程序的类字节码。3.如权利要求1所述的方法,其特征在于,解析所述类字节码,获取所述待测试应用程序的参数属性信息,包括:基于预设字节码框架访问所述类字节码中的方法字节码;获取所述方法字节码中的参数属性信息。4.如权利要求3所述的方法,其特征在于,获取所述方法字节码中的参数属性信息,包括:获取所述方法字节码中的入参值属性信息、返回值属性信息、异常值属性信息中的至少一项。5.如权利要求1所述的方法,其特征在于,在对所述待测试应用程序执行集成测试的过程中,获取集成测试参数数据,包括:创建参数采集程序;在对所述待测试应用程序执行集成测试的过程中,基于所述参数采集程序采集集成测试参数数据。6.如权利要求5所述的方法,其特征在于,创建参数采集程序,包括:创建入参值数据采集程序;相应的,基于所述参数采集程序采集集成测试参数数据,包括:基于所述入参值数据采集程序采集...

【专利技术属性】
技术研发人员:丁焕鑫张国强陈飞胡玉柱
申请(专利权)人:恒生电子股份有限公司
类型:发明
国别省市:

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

1