生成测试数据的方法及设备的制造方法

文档序号:10512083阅读:215来源:国知局
生成测试数据的方法及设备的制造方法
【专利摘要】本申请提供一种生成测试数据的方法及设备,本申请通过在受测应用与异常数据单元库中的问题业务逻辑相匹配时,基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据,解决异常数据生成的通用性问题,生成的异常数据针对性强,测试结果准确。另外,在受测应用与异常数据单元库中的问题业务逻辑不相匹配时,根据受测应用的问题业务逻辑生成对应的新的异常数据单元,基于所述新的异常数据单元生成作用于所述受测应用的测试数据,使异常数据的生成方式具有可扩展性。
【专利说明】
生成测试数据的方法及设备
技术领域
[0001]本申请涉及通信及计算机领域,尤其涉及一种生成测试数据的方法及设备。
【背景技术】
[0002]测试数据中一类导致程序异常的数据通常被称为异常数据,异常数据多为受测应用(程序)内部没有对异常情况进行处理引起。
[0003]应用测试可以分为白盒测试、黑盒测试,其中白盒测试需要关注受测应用内部实现细节,而黑盒测试将受测应用当成一个黑盒,通过输入来判断程序行为是否符合预期。黑盒测试相较于白盒测试,成本更低,因此被广泛使用。但是,要保证黑盒测试的全面性,输入的测试数据尤其是异常数据起到了至关重要的作用,直接关系到测试是否全面。目前关于测试数据有两种思路:一是数据构造,主要针对测试数据缺乏或者难构造的问题;二是数据管理,主要提升自动化测试效率。针对数据构造,目前通用的思路是基于业务场景进行构造,为了验证程序功能是否实现。但是在实际应用中,经常会出现各种异常情况,如网络异常、数据传输异常、用户输入数据异常等导致程序崩溃。
[0004]关于异常数据,目前通用的解决方法是Fuzz测试,即模糊测试。Fuzz测试的目的是验证受测应用接收处理异常(畸形)数据是否发生异常,Fuzz测试过程中会随机或按照数据模板生成异常(畸形)数据,测试受测应用的容错性、稳定性和安全性。主要有两种思路:一种是随机Fuzz,另一种是根据结构进行Fuzz。其中,随机Fuzz不需要了解内部逻辑,实现简单,缺点是Fuzz的数据不符合程序的输入格式而直接在入口处被过滤掉;根据结构进行Fuzz,需要了解输入数据的格式,然后进行有针对性的Fuzz,因此Fuzz的数据不会因为格式不对而被过滤掉,但是缺点就是不够通用。

【发明内容】

[0005]本申请的目的是提供一种生成测试数据的方法及设备,能够解决异常数据生成的通用性问题。
[0006]有鉴于此,本申请提供生成测试数据的方法,包括:
[0007]在受测应用与异常数据单元库中的问题业务逻辑相匹配时,
[0008]基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据。
[0009]进一步的,所述异常数据单元根据多个受测应用的同一问题业务逻辑生成。
[0010]进一步的,所述异常数据单元包括一个或多个预设的基础类型及其赋值。
[0011]进一步的,在受测应用与异常数据单元库中的问题业务逻辑相匹配时,基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据,包括:
[0012]在受测应用的问题业务逻辑与异常数据单元库中的多个问题业务逻辑的组合相匹配时,
[0013]基于该多个问题业务逻辑所分别对应的异常数据单元组合生成作用于所述受测应用的测试数据。
[0014]进一步的,基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据包括:
[0015]在配置文件中配置异常数据单元对应的名称;
[0016]加载所述配置文件以将所述名称映射到对应的异常数据单元生成作用于所述受测应用的测试数据。
[0017]进一步的,所述方法还包括:
[0018]在受测应用与异常数据单元库中的问题业务逻辑不相匹配时,
[0019]根据受测应用的问题业务逻辑生成对应的新的异常数据单元;
[0020]基于所述新的异常数据单元生成作用于所述受测应用的测试数据。
[0021]进一步的,基于所述新的异常数据单元生成作用于所述受测应用的测试数据包括:
[0022]在配置文件中配置新的异常数据单元对应的名称;
[0023]加载所述配置文件以将所述名称映射到对应的新的异常数据单元生成作用于所述受测应用的测试数据。
[0024]进一步的,根据受测应用的问题业务逻辑生成对应的新的异常数据单元之后,所述方法还包括:
[0025]将受测应用的问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库。
[0026]进一步的,在受测应用与异常数据单元库中的问题业务逻辑相匹配时之前,所述方法还包括:
[0027]获取引起受测应用运行异常的测试数据;
[0028]根据引起受测应用运行异常的测试数据生成该受测应用的问题业务逻辑所对应的新的异常数据单元,并将该问题业务逻辑及对应的新的异常数据单元加入所述异常数据单兀库中。
[0029]本申请另一方面还提供一种用于生成测试数据的设备,包括:
[0030]第一装置,用于在受测应用与异常数据单元库中的问题业务逻辑相匹配时,基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据。
[0031]进一步的,所述异常数据单元根据多个受测应用的同一问题业务逻辑生成。
[0032]进一步的,所述异常数据单元包括一个或多个预设的基础类型及其赋值。
[0033]进一步的,所述第一装置,用于在受测应用的问题业务逻辑与异常数据单元库中的多个问题业务逻辑的组合相匹配时,基于该多个问题业务逻辑所分别对应的异常数据单元组合生成作用于所述受测应用的测试数据。
[0034]进一步的,所述第一装置,用于在配置文件中配置异常数据单元对应的名称,加载所述配置文件以将所述名称映射到对应的异常数据单元生成作用于所述受测应用的测试数据。
[0035]进一步的,所述设备还包括第二装置,用于在受测应用与异常数据单元库中的问题业务逻辑不相匹配时,根据受测应用的问题业务逻辑生成对应的新的异常数据单元,及基于所述新的异常数据单元生成作用于所述受测应用的测试数据。
[0036]进一步的,所述第二装置,用于在配置文件中配置新的异常数据单元对应的名称,加载所述配置文件以将所述名称映射到对应的新的异常数据单元生成作用于所述受测应用的测试数据。
[0037]进一步的,所述设备还包括第三装置,用于将受测应用的问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库。
[0038]进一步的,所述设备还包括第四装置,用于获取引起受测应用运行异常的测试数据,根据引起受测应用运行异常的测试数据生成该受测应用的问题业务逻辑所对应的新的异常数据单元,并将该问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库中。
[0039]与现有技术相比,本申请通过在受测应用与异常数据单元库中的问题业务逻辑相匹配时,基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据,解决异常数据生成的通用性问题,生成的异常数据针对性强,测试结果准确。
[0040]进一步的,所述异常数据单元根据多个受测应用的同一问题业务逻辑生成,可进一步提高生成同类业务的受测应用的异常数据的通用性。
[0041]进一步的,所述异常数据单元包括一个或多个预设的基础类型及其赋值,可进一步提高基于异常数据单元生成受测应用的异常数据的通用性。
[0042]进一步的,在受测应用与异常数据单元库中的问题业务逻辑不相匹配时,根据受测应用的问题业务逻辑生成对应的新的异常数据单元,基于所述新的异常数据单元生成作用于所述受测应用的测试数据,使异常数据的生成方式具有可扩展性。
[0043]进一步的,通过将受测应用的问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库,能够不断丰富异常数据单元库的内容,增加生成的异常数据的通用性。
[0044]进一步的,通过获取引起受测应用运行异常的测试数据,根据引起受测应用运行异常的测试数据生成该受测应用的问题业务逻辑所对应的新的异常数据单元,将该问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库中,实现在线上监控受测应用的异常情况,以丰富所述异常数据单元库中的内容,使后续组合成的异常数据更具通用性。
【附图说明】
[0045]通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
[0046]图1示出根据本申请一个方面的生成测试数据的方法流程图;
[0047]图2示出本申请一优选实施例的生成测试数据的方法流程图;
[0048]图3示出本申请另一优选实施例的生成测试数据的方法流程图;
[0049]图4示出本申请再一优选实施例的生成测试数据的方法流程图;
[0050]图5示出根据本申请另一个方面的用于生成测试数据的设备示意图;
[0051]图6示出本申请一优选实施例的用于生成测试数据的设备示意图;
[0052]图7示出本申请另一优选实施例的用于生成测试数据的设备示意图;
[0053]图8示出本申请再一优选实施例的用于生成测试数据的设备示意图;
[0054]附图中相同或相似的附图标记代表相同或相似的部件。
【具体实施方式】
[0055]在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0056]内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
[0057]计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0058]图1示出根据本申请一个方面的生成测试数据的方法流程图,结合图1,本申请提出一种生成测试数据的方法,所述方法包括:
[0059]步骤SI,判断受测应用是否与异常数据单元库中的问题业务逻辑相匹配,若是,则转到步骤S2 ;
[0060]步骤S2,基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据。在此,所述问题业务逻辑是受测应用的业务逻辑中容易出问题的业务逻辑,例如,受测应用为一搜索引擎时,搜索引擎会对网页进行分析,其中会有一个类似分词的程序,其功能是对标题进行分词,一个词语一般情况下就几个字,但是如果标题中有url,则长度会很长,超出默认值,如果对url进行分词会导致搜索引擎崩溃,这一对url进行分词会导致搜索引擎崩溃即为所述问题业务逻辑,针对这一问题业务逻辑对应生成异常数据单元存于数据单元库中,基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据即带有url的标题的异常数据,用于对类似分词的程序进行稳定性测试。又如,受测应用为一个对整数进行除法运算的程序,如果分母的取值为0,则除法运算异常会导致程序崩溃,这一分母的取值为O的除法运算会导致程序崩溃即为所述问题业务逻辑,针对这一问题业务逻辑对应生成异常数据单元,基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据即分母的取值为O的异常数据,后续可将生成的异常数据输入到受测应用中,然后根据受测应用的输出来验证当前受测应用的稳定性。本实施例中由于将各类问题业务逻辑预设于异常数据单元库,受测应用在异常数据单元库找到与其匹配的问题业务逻辑,即可基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据,能够解决异常数据生成的通用性问题,生成的异常数据针对性强,测试结果准确。
[0061]本申请一优选实施例中,所述异常数据单元根据多个受测应用的同一问题业务逻辑生成。在此,所述异常数据单元可以是同一问题业务逻辑的多个受测应用的一些最小单元的内置规则,这些最小单元的内置规则可以用来生成完整的异常数据,从而使后续根据异常数据单元生成的异常数据更具有通用性,以使用到该同类业务的受测应用的异常数据测试上。在此,根据不同的问题业务逻辑生成对应的异常数据单元,后续具有同一问题业务逻辑的受测应用可使用对应的异常数据单元生成异常数据,从而进一步提高生成同类业务的受测应用的异常数据的通用性。本领域技术人员应能理解上述异常数据单元的描述仅为举例,其他现有的或今后可能出现的异常数据单元如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
[0062]本申请一优选实施例中,所述异常数据单元包括一个或多个预设的基础类型及其赋值,从而进一步提高基于异常数据单元生成受测应用的异常数据的通用性。在此,所述基础类型可以包括整数类型、字符串类型和小数类型等等,所述赋值按照测试理论中等价类划分、边界值等选取的有代表性的取值,例如,整数取值有很多,在32位系统中,整数的取值范围为:-2147483647 ?2147483647,但是可以取 1、_1、0、-2147483647,2147483647 分别代表正整数、负整数、0、最大数、最小数等,所述字符串类型的赋值包括各种编码值;实际应用中,所述共同的基础类型及其赋值可存储于一基础库中。例如,在网页分析类业务的受测应用中,受测应用会对网页中的标题(title)或正文进行分词处理,标题或正文可以理解成基础库中的字符串类型,可以结合受测应用的问题业务逻辑和所述基础类型及其赋值构造生成超长词、特殊分隔符等异常数据单元。本领域技术人员应能理解上述异常数据单元的描述仅为举例,其他现有的或今后可能出现的异常数据单元如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
[0063]本申请一优选实施例中,步骤SI包括:
[0064]在受测应用的问题业务逻辑与异常数据单元库中的多个问题业务逻辑的组合相匹配时,
[0065]步骤S2包括:
[0066]基于该多个问题业务逻辑所分别对应的异常数据单元组合生成作用于所述受测应用的测试数据。在此,通过将异常数据单元组合生成作用于所述受测应用的测试数据,可以进一步提高生成的异常数据的通用性和准确性。
[0067]本申请一较佳的实施例中,步骤S2,所述基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据包括:
[0068]在配置文件中配置异常数据单元对应的名称;
[0069]加载所述配置文件以将所述名称映射到对应的异常数据单元生成作用于所述受测应用的测试数据。本领域技术人员应能理解上述生成异常数据的描述仅为举例,其他现有的或今后可能出现的生成异常数据的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
[0070]图2示出本申请一优选实施例的生成测试数据的方法流程图。结合图2,所述方法还包括:
[0071]步骤SI,判断受测应用是否与异常数据单元库中的问题业务逻辑相匹配,若是,则转到步骤S2,若否则转到步骤S3 ;
[0072]步骤S2,基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据;
[0073]步骤S3,根据受测应用的问题业务逻辑生成对应的新的异常数据单元;
[0074]步骤S4,基于所述新的异常数据单元生成作用于所述受测应用的测试数据。在此,如果受测应用的问题业务逻辑无法与异常数据单元库中的问题业务逻辑匹配上时,可以根据受测应用的问题业务逻辑生成对应的新的异常数据单元,并基于所述新的异常数据单元生成作用于所述受测应用的测试数据,从而使异常数据的生成方式具有可扩展性。
[0075]图3示出本申请一优选实施例的生成测试数据的方法流程图。结合图3,步骤S4包括:
[0076]步骤S41,在配置文件中配置新的异常数据单元对应的名称;
[0077]步骤S42,加载所述配置文件以将所述名称映射到对应的新的异常数据单元生成作用于所述受测应用的测试数据。本领域技术人员应能理解上述生成异常数据的描述仅为举例,其他现有的或今后可能出现的生成异常数据的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
[0078]本申请一较佳的实施例中,步骤S3之后,所述方法还包括:
[0079]将受测应用的问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库,从而不断丰富异常数据单元库的内容,增加生成的异常数据的通用性。一实施例中,可以先判断新的异常数据单元是否通用,如果通用,再将新的异常数据单元加入所述异常数据单元库。相应的,后续重复执行步骤S2时,下一受测应用的问题业务逻辑与新加入异常数据单元库的问题业务逻辑相匹配时,可以将该问题业务逻辑所对应的异常数据单元组合成完整的异常数据,后续可将所述完整的异常数据输入到当前受测应用中,然后根据当前受测应用的输出来验证当前受测应用的稳定性。
[0080]图4示出本申请一优选实施例的生成测试数据的方法流程图。结合图4,步骤SI之前,所述方法还包括:
[0081]步骤S01,获取引起受测应用运行异常的测试数据;
[0082]步骤S02,根据引起受测应用运行异常的测试数据生成该受测应用的问题业务逻辑所对应的新的异常数据单元;
[0083]步骤S03,将该问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库中。在异常数据单元的积累方面,除了前述实施例提到的所述异常数据单元根据多个受测应用的同一问题业务逻辑生成,或前述另一实施例提到的将受测应用的问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库的方式外,还可以通过步骤SOl?S03的方式,在线上监控受测应用的异常情况,并获取引起该受测应用异常的异常数据,根据引起受测应用运行异常的测试数据生成该受测应用的问题业务逻辑所对应的新的异常数据单元,并将该问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库中,以丰富所述异常数据单元库中的内容,使后续组合成的异常数据更具通用性。本领域技术人员应能理解上述异常数据单元的描述仅为举例,其他现有的或今后可能出现的异常数据单元如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
[0084]根据本申请的另一方面,本申请还提供一种用于生成测试数据的设备,图5示出根据本申请另一个方面的用于生成测试数据的设备示意图,结合图5,所述用于生成测试数据的设备100包括:
[0085]第一装置1,用于在受测应用与异常数据单元库200中的问题业务逻辑相匹配时,基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据。在此,所述问题业务逻辑是受测应用的业务逻辑中容易出问题的业务逻辑,例如,受测应用为一搜索引擎时,搜索引擎会对网页进行分析,其中会有一个类似分词的程序,其功能是对标题进行分词,一个词语一般情况下就几个字,但是如果标题中有url,则长度会很长,超出默认值,如果对url进行分词会导致搜索引擎崩溃,这一对url进行分词会导致搜索引擎崩溃即为所述问题业务逻辑,针对这一问题业务逻辑对应生成异常数据单元存于数据单元库中,基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据即带有url的标题的异常数据,用于对类似分词的程序进行稳定性测试。又如,受测应用为一个对整数进行除法运算的程序,如果分母的取值为O,则除法运算异常会导致程序崩溃,这一分母的取值为O的除法运算会导致程序崩溃即为所述问题业务逻辑,针对这一问题业务逻辑对应生成异常数据单元,基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据即分母的取值为O的异常数据,后续可将异常数据输入到受测应用中,然后根据受测应用的输出来验证当前受测应用的稳定性。本实施例中由于将各类问题业务逻辑预设于异常数据单元库,受测应用在异常数据单元库找到与其匹配的问题业务逻辑,即可基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据,提高异常数据生成的通用性问题,生成的异常数据针对性强,测试结果准确。
[0086]本申请一优选实施例中,所述异常数据单元根据多个受测应用的同一问题业务逻辑生成。在此,所述异常数据单元可以是同一问题业务逻辑的多个受测应用的一些最小单元的内置规则,这些最小单元的内置规则可以用来生成完整的异常数据,从而使后续根据异常数据单元生成的异常数据更具有通用性,以使用到该同类业务的受测应用的异常数据测试上。在此,根据不同的问题业务逻辑生成对应的异常数据单元,后续具有同一问题业务逻辑的受测应用可使用对应的异常数据单元生成异常数据,从而提高生成同类业务的受测应用的异常数据的通用性。本领域技术人员应能理解上述异常数据单元的描述仅为举例,其他现有的或今后可能出现的异常数据单元如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
[0087]本申请一优选实施例中,所述异常数据单元包括一个或多个预设的基础类型及其赋值。在此,所述基础类型可以包括整数类型、字符串类型和小数类型等等,所述赋值按照测试理论中等价类划分、边界值等选取的有代表性的取值,例如,整数取值有很多,在32位系统中,整数的取值范围为:-2147483647?2147483647,但是可以取1、-1、
0、_2147483647,2147483647分别代表正整数、负整数、0、最大数、最小数等,所述字符串类型的赋值包括各种编码值;实际应用中,所述共同的基础类型及其赋值可存储于一基础库中。例如,在网页分析类业务的受测应用中,受测应用会对网页中的标题(title)或正文进行分词处理,标题或正文可以理解成基础库中的字符串类型,可以结合受测应用的问题业务逻辑和所述基础类型及其赋值构造生成超长词、特殊分隔符等异常数据单元。本领域技术人员应能理解上述异常数据单元的描述仅为举例,其他现有的或今后可能出现的异常数据单元如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
[0088]本申请一优选实施例中,所述第一装置I,用于在受测应用的问题业务逻辑与异常数据单元库200中的多个问题业务逻辑的组合相匹配时,基于该多个问题业务逻辑所分别对应的异常数据单元组合生成作用于所述受测应用的测试数据。在此,通过将异常数据单元组合生成作用于所述受测应用的测试数据,可以进一步提高生成的异常数据的通用性和准确性。
[0089]本申请一较佳的实施例中,所述第一装置1,用于在配置文件中配置异常数据单元对应的名称,加载所述配置文件以将所述名称映射到对应的异常数据单元生成作用于所述受测应用的测试数据。本领域技术人员应能理解上述生成异常数据的描述仅为举例,其他现有的或今后可能出现的生成异常数据的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
[0090]图6示出本申请一优选实施例的用于生成测试数据的设备示意图。结合图6,所述设备100还包括第二装置2,用于在受测应用与异常数据单元库200中的问题业务逻辑不相匹配时,根据受测应用的问题业务逻辑生成对应的新的异常数据单元,及基于所述新的异常数据单元生成作用于所述受测应用的测试数据。在此,如果受测应用的问题业务逻辑无法与异常数据单元库中的问题业务逻辑匹配上时,可以根据受测应用的问题业务逻辑生成对应的新的异常数据单元,并基于所述新的异常数据单元生成作用于所述受测应用的测试数据,从而使异常数据的生成方式具有可扩展性。
[0091]本申请一优选实施例中所述第二装置2,用于在配置文件中配置新的异常数据单元对应的名称,加载所述配置文件以将所述名称映射到对应的新的异常数据单元生成作用于所述受测应用的测试数据。本领域技术人员应能理解上述生成异常数据的描述仅为举例,其他现有的或今后可能出现的生成异常数据的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
[0092]图7示出本申请一优选实施例的用于生成测试数据的设备示意图。结合图7,所述设备100还包括第三装置3,用于将受测应用的问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库200,从而不断丰富异常数据单元库的内容,增加生成的异常数据的通用性。一实施例中,可以先判断新的异常数据单元是否通用,如果通用,再将新的异常数据单元加入所述异常数据单元库。相应的,后续重复执行步骤S2时,下一受测应用的问题业务逻辑与新加入异常数据单元库的问题业务逻辑相匹配时,可以将该问题业务逻辑所对应的异常数据单元组合成完整的异常数据,后续可将所述完整的异常数据输入到当前受测应用中,然后根据当前受测应用的输出来验证当前受测应用的稳定性。
[0093]图8示出本申请一优选实施例的用于生成测试数据的设备示意图。结合图8,所述设备100还包括第四装置4,用于获取引起受测应用运行异常的测试数据,根据引起受测应用运行异常的测试数据生成该受测应用的问题业务逻辑所对应的新的异常数据单元,并将该问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库200中。
[0094]在一具体的应用实施例中,可预设一个基础库存储各种预设的基础类型及其赋值,再预设一个异常数据单元库存储各种问题业务逻辑所对应的异常数据单元,所述异常数据单元包括一个或多个从所述基础库中选择的基础类型及其赋值,在受测应用与异常数据单元库中的问题业务逻辑相匹配时,基于所述问题业务逻辑所对应的一个或多个异常数据单元生成作用于所述受测应用的测试数据;另外,在受测应用与异常数据单元库中的问题业务逻辑不相匹配时,根据受测应用的问题业务逻辑生成对应的新的异常数据单元,基于所述新的异常数据单元生成作用于所述受测应用的测试数据,将受测应用的问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库,不断丰富异常数据单元库的内容;此外,获取引起受测应用运行异常的测试数据,根据引起受测应用运行异常的测试数据生成该受测应用的问题业务逻辑所对应的新的异常数据单元,将该问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库中,进一步丰富异常数据单元库的内容,从而提高生成的异常数据的通用性。
[0095]综上所述,本申请通过在受测应用与异常数据单元库中的问题业务逻辑相匹配时,基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据,解决异常数据生成的通用性问题,生成的异常数据针对性强,测试结果准确。
[0096]进一步的,所述异常数据单元根据多个受测应用的同一问题业务逻辑生成,进一步提高生成同类业务的受测应用的异常数据的通用性。
[0097]进一步的,所述异常数据单元包括一个或多个预设的基础类型及其赋值,进一步提高基于异常数据单元生成受测应用的异常数据的通用性。
[0098]进一步的,在受测应用与异常数据单元库中的问题业务逻辑不相匹配时,根据受测应用的问题业务逻辑生成对应的新的异常数据单元,基于所述新的异常数据单元生成作用于所述受测应用的测试数据,使异常数据的生成方式具有可扩展性。
[0099]进一步的,通过将受测应用的问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库,能够不断丰富异常数据单元库的内容,增加生成的异常数据的通用性。
[0100]进一步的,通过获取引起受测应用运行异常的测试数据,根据引起受测应用运行异常的测试数据生成该受测应用的问题业务逻辑所对应的新的异常数据单元,将该问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库中,实现在线上监控受测应用的异常情况,并获取引起该受测应用异常的异常数据,根据引起受测应用运行异常的测试数据生成该受测应用的问题业务逻辑所对应的新的异常数据单元,并将该问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库中,以丰富所述异常数据单元库中的内容,使后续组合成的异常数据更具通用性。
[0101]显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
[0102]需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
[0103]另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
[0104] 对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此夕卜,显然“包括” 一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
【主权项】
1.一种生成测试数据的方法,其中,包括: 在受测应用与异常数据单元库中的问题业务逻辑相匹配时, 基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据。2.如权利要求1所述的方法,其中,所述异常数据单元根据多个受测应用的同一问题业务逻辑生成。3.如权利要求1或2所述的方法,其中,所述异常数据单元包括一个或多个预设的基础类型及其赋值。4.如权利要求1至3任一项所述的方法,其中,在受测应用与异常数据单元库中的问题业务逻辑相匹配时,基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据,包括: 在受测应用的问题业务逻辑与异常数据单元库中的多个问题业务逻辑的组合相匹配时, 基于该多个问题业务逻辑所分别对应的异常数据单元组合生成作用于所述受测应用的测试数据。5.如权利要I至4任一项所述的方法,其中,基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据包括: 在配置文件中配置异常数据单元对应的名称; 加载所述配置文件以将所述名称映射到对应的异常数据单元生成作用于所述受测应用的测试数据。6.如权利要求1所述的方法,其中,所述方法还包括: 在受测应用与异常数据单元库中的问题业务逻辑不相匹配时, 根据受测应用的问题业务逻辑生成对应的新的异常数据单元; 基于所述新的异常数据单元生成作用于所述受测应用的测试数据。7.如权利要6所述的方法,其中,基于所述新的异常数据单元生成作用于所述受测应用的测试数据包括: 在配置文件中配置新的异常数据单元对应的名称; 加载所述配置文件以将所述名称映射到对应的新的异常数据单元生成作用于所述受测应用的测试数据。8.如权利要6所述的方法,其中,根据受测应用的问题业务逻辑生成对应的新的异常数据单元之后,所述方法还包括: 将受测应用的问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库。9.如权利要I至8任一项所述的方法,其中,在受测应用与异常数据单元库中的问题业务逻辑相匹配时之前,所述方法还包括: 获取引起受测应用运行异常的测试数据; 根据引起受测应用运行异常的测试数据生成该受测应用的问题业务逻辑所对应的新的异常数据单元,并将该问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库中。10.一种用于生成测试数据的设备,其中,包括: 第一装置,用于在受测应用与异常数据单元库中的问题业务逻辑相匹配时,基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据。11.如权利要求10所述的设备,其中,所述异常数据单元根据多个受测应用的同一问题业务逻辑生成。12.如权利要求10或11所述的设备,其中,所述异常数据单元包括一个或多个预设的基础类型及其赋值。13.如权利要求10至12任一项所述的设备,其中,所述第一装置,用于在受测应用的问题业务逻辑与异常数据单元库中的多个问题业务逻辑的组合相匹配时,基于该多个问题业务逻辑所分别对应的异常数据单元组合生成作用于所述受测应用的测试数据。14.如权利要求10至13任一项所述的设备,其中,所述第一装置,用于在配置文件中配置异常数据单元对应的名称,加载所述配置文件以将所述名称映射到对应的异常数据单元生成作用于所述受测应用的测试数据。15.如权利要10所述的设备,其中,所述设备还包括第二装置,用于在受测应用与异常数据单元库中的问题业务逻辑不相匹配时,根据受测应用的问题业务逻辑生成对应的新的异常数据单元,及基于所述新的异常数据单元生成作用于所述受测应用的测试数据。16.如权利要15所述的设备,其中,所述第二装置,用于在配置文件中配置新的异常数据单元对应的名称,加载所述配置文件以将所述名称映射到对应的新的异常数据单元生成作用于所述受测应用的测试数据。17.如权利要15所述的设备,其中,所述设备还包括第三装置,用于将受测应用的问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库。18.如权利要10至17任一项所述的设备,其中,所述设备还包括第四装置,用于获取引起受测应用运行异常的测试数据,根据引起受测应用运行异常的测试数据生成该受测应用的问题业务逻辑所对应的新的异常数据单元,并将该问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库中。
【文档编号】G06F11/36GK105868095SQ201510032511
【公开日】2016年8月17日
【申请日】2015年1月22日
【发明人】刘晶, 潘敏
【申请人】阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1