数据处理装置和数据处理方法制造方法及图纸

技术编号:19176974 阅读:52 留言:0更新日期:2018-10-17 00:17
本发明专利技术涉及数据处理装置和数据处理方法。根据本发明专利技术的数据处理装置包括:驱动生成单元,用于生成API的测试驱动,测试驱动表示对API进行函数调用;路径生成单元,用于基于符号执行生成API的测试路径和测试路径的约束条件;以及测试用例生成单元,用于基于API的测试驱动、测试路径和测试路径的约束条件生成API的测试用例,其中,路径生成单元生成的测试路径包括API的多行代码,并且路径生成单元用于:当寻找到包括回调函数的代码时,将包括回调函数的代码及其之前的路径所包括的代码作为API的测试路径。使用根据本发明专利技术的数据处理装置和数据处理方法,可以针对混合app的API自动生成测试用例。

Data processing device and data processing method

The invention relates to a data processing device and a data processing method. The data processing apparatus according to the present invention includes: a drive generation unit for generating test drivers of APIs, a test drive representation for calling functions of APIs, a path generation unit for executing test paths and test path constraints for generating APIs based on symbols, and a test case generation unit for API-based applications. Test cases of APIs are generated by constraints of test drivers, test paths, and test paths, where the test paths generated by the path generation unit include multiple lines of API code, and the path generation unit is used to: when code including the callback function is found, the code including the callback function and the previous paths include The code is used as the test path for API. Using the data processing device and the data processing method according to the present invention, test cases can be automatically generated for the API of hybrid apps.

【技术实现步骤摘要】
数据处理装置和数据处理方法
本专利技术的实施例涉及数据处理领域,具体地涉及测试领域,更具体地涉及可以为单个应用程序编程接口API生成测试用例的数据处理装置和数据处理方法,为API序列生成测试用例的数据处理装置和数据处理方法,对单个API进行测试的数据处理装置和数据处理方法以及对API序列进行测试的数据处理装置和数据处理方法。
技术介绍
这个部分提供了与本专利技术有关的背景信息,这不一定是现有技术。如今,移动互联网随着智能手机和3G/4G网络的普及越来越繁荣。人们逐渐开始使用智能手机,并在智能手机上安装各种各样的应用程序(app)。混合app指的是能在不同的应用平台(例如,cordova平台和android平台等)上运行的app。在一般情况下,混合app的代码由两部分组成:网页部分的代码和本地部分的代码。其中,在不同应用平台上运行的混合app的网页部分的代码相同,而本地部分的代码不同。例如,对于在android平台上运行的混合app,可以使用JavaScript语言开发网页部分的代码,并可以使用java语言开发本地部分的代码。应用程序编程接口API是网页部分和本地部分之间的接口,可以用于调用本地部分的代码从而实现app的功能。在对混合app的API进行测试时,需要针对混合app的API生成测试用例。传统的方法中,测试者仅仅手工地测试混合app的API。也就是说,如果测试者想要对混合app的API进行白盒测试,由于现在缺乏自动生成测试用例的方法,他们通常手工地编写测试用例。此外,符号执行是本领域中一种常用的生成测试用例的方法,其可以用符号值代替真实值对程序进行执行并分析程序。但是,现有的符号执行技术仅仅可以基于普通的软件生成测试用例,但是不支持混合app的API测试用例的生成。针对以上技术问题,本专利技术希望提出一种方案,能够针对混合app的API自动生成测试用例。
技术实现思路
这个部分提供了本专利技术的一般概要,而不是其全部范围或其全部特征的全面披露。本专利技术的目的在于提供一种数据处理装置和数据处理方法,能够针对混合app的API自动生成测试用例。根据本专利技术的一方面,提供了一种数据处理装置,包括:驱动生成单元,用于生成应用程序编程接口API的测试驱动,所述测试驱动表示对所述API进行函数调用;路径生成单元,用于基于符号执行生成所述API的测试路径和所述测试路径的约束条件;以及测试用例生成单元,用于基于所述API的测试驱动、测试路径和所述测试路径的约束条件生成所述API的测试用例,其中,所述路径生成单元生成的测试路径包括所述API的多行代码,并且所述路径生成单元用于:当寻找到包括回调函数的代码时,将所述包括回调函数的代码及其之前的路径所包括的代码作为所述API的测试路径。根据本专利技术的另一方面,提供了一种数据处理方法,包括:生成应用程序编程接口API的测试驱动,所述测试驱动表示对所述API进行函数调用;基于符号执行生成所述API的测试路径和所述测试路径的约束条件;以及基于所述API的测试驱动、测试路径和所述测试路径的约束条件生成所述API的测试用例,其中,所述API的测试路径包括所述API的多行代码,并且当寻找到包括回调函数的代码时,将所述包括回调函数的代码及其之前的路径所包括的代码作为所述API的测试路径。根据本专利技术的另一方面,提供了一种程序产品,该程序产品包括存储在其中的机器可读指令代码,其中,所述指令代码当由计算机读取和执行时,能够使所述计算机执行根据本专利技术的数据处理方法。根据本专利技术的另一方面,提供了一种机器可读存储介质,其上携带有包括存储在其中的机器可读指令代码的程序产品,其中,所述指令代码当由计算机读取和执行时,能够使所述计算机执行根据本专利技术的数据处理方法。使用根据本专利技术的数据处理装置和数据处理方法,可以根据API的测试驱动、测试路径和测试路径的约束条件自动为API生成测试用例。此外,在寻找测试路径的过程中,当寻找到包括回调函数的代码时,终止对测试路径的寻找,将包括回调函数的代码及其之前的代码作为测试路径。这样一来,可以大大减少寻找测试路径的时间,并提高测试路径的准确性。这个概要中的描述和特定例子只是为了示意的目的,而不旨在限制本专利技术的范围。附图说明在此描述的附图只是为了所选实施例的示意的目的而非全部可能的实施,并且不旨在限制本专利技术的范围。在附图中:图1示出了根据本专利技术的实施例的数据处理装置的结构框图;图2示出了根据本专利技术的实施例的数据处理装置中的驱动生成单元的结构框图;图3示出了根据本专利技术的实施例的生成API的测试驱动的示意图;图4示出了根据本专利技术的实施例的生成API的测试驱动的框架图;图5示出了根据本专利技术的实施例的数据处理装置中的路径生成单元的结构框图;图6示出了根据本专利技术的实施例的生成API的测试路径和测试路径的约束条件的示意图;图7示出了根据本专利技术的另一个实施例的数据处理装置中的路径生成单元的结构框图;图8示出了根据本专利技术的另一个实施例的数据处理装置的结构框图;图9示出了根据本专利技术的又一个实施例的数据处理装置的结构框图;图10示出了根据本专利技术的实施例的API序列的参数传递关系图;图11示出了根据本专利技术的实施例的数据处理方法的流程图;以及图12为其中可以实现根据本专利技术的数据处理方法的通用个人计算机的示例性结构的框图。虽然本专利技术容易经受各种修改和替换形式,但是其特定实施例已作为例子在附图中示出,并且在此详细描述。然而应当理解的是,在此对特定实施例的描述并不打算将本专利技术限制到公开的具体形式,而是相反地,本专利技术目的是要覆盖落在本专利技术的精神和范围之内的所有修改、等效和替换。要注意的是,贯穿几个附图,相应的标号指示相应的部件。具体实施方式现在参考附图来更加充分地描述本专利技术的示例。以下描述实质上只是示例性的,而不旨在限制本专利技术、应用或用途。下面提供了示例实施例,以便本专利技术将会变得详尽,并且将会向本领域技术人员充分地传达其范围。阐述了众多的特定细节如特定单元、装置和方法的示例,以提供对本专利技术的实施例的详尽理解。对于本领域技术人员而言将会明显的是,不需要使用特定的细节,示例实施例可以用许多不同的形式来实施,它们都不应当被解释为限制本专利技术的范围。在某些示例实施例中,没有详细地描述众所周知的过程、众所周知的结构和众所周知的技术。下面结合图1来描述根据本专利技术的数据处理装置100。根据本专利技术的数据处理装置100可以包括驱动生成单元110、路径生成单元120和测试用例生成单元130。根据本专利技术的实施例,驱动生成单元110可以生成应用程序编程接口API的测试驱动,该测试驱动表示对API进行函数调用。根据本专利技术的实施例,驱动生成单元110可以从数据处理装置100外部获取需要生成测试用例的API的规范和/或源代码,从而生成该API的测试驱动。此外,驱动生成单元110也可以从数据处理装置100内部的其它单元获取需要生成测试用例的API的规范和/或源代码,从而生成该API的测试驱动。进一步,驱动生成单元110可以将生成的测试驱动发送到测试用例生成单元130。根据本专利技术的实施例,路径生成单元120可以基于符号执行生成API的测试路径和测试路径的约束条件。根据本专利技术的实施例,路径生成单元120可以从数据处理装置100外部获取需要生成测试本文档来自技高网
...

【技术保护点】
1.一种数据处理装置,包括:驱动生成单元,用于生成应用程序编程接口API的测试驱动,所述测试驱动表示对所述API进行函数调用;路径生成单元,用于基于符号执行生成所述API的测试路径和所述测试路径的约束条件;以及测试用例生成单元,用于基于所述API的测试驱动、测试路径和所述测试路径的约束条件生成所述API的测试用例,其中,所述路径生成单元生成的测试路径包括所述API的多行代码,并且所述路径生成单元用于:当寻找到包括回调函数的代码时,将所述包括回调函数的代码及其之前的路径所包括的代码作为所述API的测试路径。

【技术特征摘要】
1.一种数据处理装置,包括:驱动生成单元,用于生成应用程序编程接口API的测试驱动,所述测试驱动表示对所述API进行函数调用;路径生成单元,用于基于符号执行生成所述API的测试路径和所述测试路径的约束条件;以及测试用例生成单元,用于基于所述API的测试驱动、测试路径和所述测试路径的约束条件生成所述API的测试用例,其中,所述路径生成单元生成的测试路径包括所述API的多行代码,并且所述路径生成单元用于:当寻找到包括回调函数的代码时,将所述包括回调函数的代码及其之前的路径所包括的代码作为所述API的测试路径。2.根据权利要求1所述的数据处理装置,其中,所述驱动生成单元包括:类型确定单元,用于确定所述API的一个或多个参数和每个参数的类型;以及处理单元,用于根据每个参数的类型生成所述API的测试驱动。3.根据权利要求1所述的数据处理装置,其中,所述路径生成单元包括:全局变量获取单元,用于将所述API在电子设备上运行以获取所述API的全局变量的真值;以及处理单元,用于根据所述全局变量的真值对可选的测试路径进行剪除以生成所述API的测试路径。4.根据权利要求1所述的数据处理装置,其中,所述路径生成单元包括处理单元,用于:当寻找到包括普通函数的代码并且所述普通函数包括符号变量时,对所述普通函数进行扩展以继续寻找所述API的测试路径。5.根据权利要求1所述的数据处理装置,其中,所述路径生成单元包括...

【专利技术属性】
技术研发人员:张沈斌孙俊皮冰锋钟朝亮
申请(专利权)人:富士通株式会社
类型:发明
国别省市:日本,JP

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

1