CN105868095A - 生成测试数据的方法及设备 - Google Patents
生成测试数据的方法及设备 Download PDFInfo
- Publication number
- CN105868095A CN105868095A CN201510032511.6A CN201510032511A CN105868095A CN 105868095 A CN105868095 A CN 105868095A CN 201510032511 A CN201510032511 A CN 201510032511A CN 105868095 A CN105868095 A CN 105868095A
- Authority
- CN
- China
- Prior art keywords
- abnormal data
- tested application
- service logic
- data unit
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Abstract
本申请提供一种生成测试数据的方法及设备,本申请通过在受测应用与异常数据单元库中的问题业务逻辑相匹配时,基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据,解决异常数据生成的通用性问题,生成的异常数据针对性强,测试结果准确。另外,在受测应用与异常数据单元库中的问题业务逻辑不相匹配时,根据受测应用的问题业务逻辑生成对应的新的异常数据单元,基于所述新的异常数据单元生成作用于所述受测应用的测试数据,使异常数据的生成方式具有可扩展性。
Description
技术领域
本申请涉及通信及计算机领域,尤其涉及一种生成测试数据的方法及设备。
背景技术
测试数据中一类导致程序异常的数据通常被称为异常数据,异常数据多为受测应用(程序)内部没有对异常情况进行处理引起。
应用测试可以分为白盒测试、黑盒测试,其中白盒测试需要关注受测应用内部实现细节,而黑盒测试将受测应用当成一个黑盒,通过输入来判断程序行为是否符合预期。黑盒测试相较于白盒测试,成本更低,因此被广泛使用。但是,要保证黑盒测试的全面性,输入的测试数据尤其是异常数据起到了至关重要的作用,直接关系到测试是否全面。目前关于测试数据有两种思路:一是数据构造,主要针对测试数据缺乏或者难构造的问题;二是数据管理,主要提升自动化测试效率。针对数据构造,目前通用的思路是基于业务场景进行构造,为了验证程序功能是否实现。但是在实际应用中,经常会出现各种异常情况,如网络异常、数据传输异常、用户输入数据异常等导致程序崩溃。
关于异常数据,目前通用的解决方法是Fuzz测试,即模糊测试。Fuzz测试的目的是验证受测应用接收处理异常(畸形)数据是否发生异常,Fuzz测试过程中会随机或按照数据模板生成异常(畸形)数据,测试受测应用的容错性、稳定性和安全性。主要有两种思路:一种是随机Fuzz,另一种是根据结构进行Fuzz。其中,随机Fuzz不需要了解内部逻辑,实现简单,缺点是Fuzz的数据不符合程序的输入格式而直接在入口处被过滤掉;根据结构进行Fuzz,需要了解输入数据的格式,然后进行有针对性的Fuzz,因此Fuzz的数据不会因为格式不对而被过滤掉,但是缺点就是不够通用。
发明内容
本申请的目的是提供一种生成测试数据的方法及设备,能够解决异常数据生成的通用性问题。
有鉴于此,本申请提供生成测试数据的方法,包括:
在受测应用与异常数据单元库中的问题业务逻辑相匹配时,
基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据。
进一步的,所述异常数据单元根据多个受测应用的同一问题业务逻辑生成。
进一步的,所述异常数据单元包括一个或多个预设的基础类型及其赋值。
进一步的,在受测应用与异常数据单元库中的问题业务逻辑相匹配时,基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据,包括:
在受测应用的问题业务逻辑与异常数据单元库中的多个问题业务逻辑的组合相匹配时,
基于该多个问题业务逻辑所分别对应的异常数据单元组合生成作用于所述受测应用的测试数据。
进一步的,基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据包括:
在配置文件中配置异常数据单元对应的名称;
加载所述配置文件以将所述名称映射到对应的异常数据单元生成作用于所述受测应用的测试数据。
进一步的,所述方法还包括:
在受测应用与异常数据单元库中的问题业务逻辑不相匹配时,
根据受测应用的问题业务逻辑生成对应的新的异常数据单元;
基于所述新的异常数据单元生成作用于所述受测应用的测试数据。
进一步的,基于所述新的异常数据单元生成作用于所述受测应用的测试数据包括:
在配置文件中配置新的异常数据单元对应的名称;
加载所述配置文件以将所述名称映射到对应的新的异常数据单元生成作用于所述受测应用的测试数据。
进一步的,根据受测应用的问题业务逻辑生成对应的新的异常数据单元之后,所述方法还包括:
将受测应用的问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库。
进一步的,在受测应用与异常数据单元库中的问题业务逻辑相匹配时之前,所述方法还包括:
获取引起受测应用运行异常的测试数据;
根据引起受测应用运行异常的测试数据生成该受测应用的问题业务逻辑所对应的新的异常数据单元,并将该问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库中。
本申请另一方面还提供一种用于生成测试数据的设备,包括:
第一装置,用于在受测应用与异常数据单元库中的问题业务逻辑相匹配时,基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据。
进一步的,所述异常数据单元根据多个受测应用的同一问题业务逻辑生成。
进一步的,所述异常数据单元包括一个或多个预设的基础类型及其赋值。
进一步的,所述第一装置,用于在受测应用的问题业务逻辑与异常数据单元库中的多个问题业务逻辑的组合相匹配时,基于该多个问题业务逻辑所分别对应的异常数据单元组合生成作用于所述受测应用的测试数据。
进一步的,所述第一装置,用于在配置文件中配置异常数据单元对应的名称,加载所述配置文件以将所述名称映射到对应的异常数据单元生成作用于所述受测应用的测试数据。
进一步的,所述设备还包括第二装置,用于在受测应用与异常数据单元库中的问题业务逻辑不相匹配时,根据受测应用的问题业务逻辑生成对应的新的异常数据单元,及基于所述新的异常数据单元生成作用于所述受测应用的测试数据。
进一步的,所述第二装置,用于在配置文件中配置新的异常数据单元对应的名称,加载所述配置文件以将所述名称映射到对应的新的异常数据单元生成作用于所述受测应用的测试数据。
进一步的,所述设备还包括第三装置,用于将受测应用的问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库。
进一步的,所述设备还包括第四装置,用于获取引起受测应用运行异常的测试数据,根据引起受测应用运行异常的测试数据生成该受测应用的问题业务逻辑所对应的新的异常数据单元,并将该问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库中。
与现有技术相比,本申请通过在受测应用与异常数据单元库中的问题业务逻辑相匹配时,基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据,解决异常数据生成的通用性问题,生成的异常数据针对性强,测试结果准确。
进一步的,所述异常数据单元根据多个受测应用的同一问题业务逻辑生成,可进一步提高生成同类业务的受测应用的异常数据的通用性。
进一步的,所述异常数据单元包括一个或多个预设的基础类型及其赋值,可进一步提高基于异常数据单元生成受测应用的异常数据的通用性。
进一步的,在受测应用与异常数据单元库中的问题业务逻辑不相匹配时,根据受测应用的问题业务逻辑生成对应的新的异常数据单元,基于所述新的异常数据单元生成作用于所述受测应用的测试数据,使异常数据的生成方式具有可扩展性。
进一步的,通过将受测应用的问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库,能够不断丰富异常数据单元库的内容,增加生成的异常数据的通用性。
进一步的,通过获取引起受测应用运行异常的测试数据,根据引起受测应用运行异常的测试数据生成该受测应用的问题业务逻辑所对应的新的异常数据单元,将该问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库中,实现在线上监控受测应用的异常情况,以丰富所述异常数据单元库中的内容,使后续组合成的异常数据更具通用性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个方面的生成测试数据的方法流程图;
图2示出本申请一优选实施例的生成测试数据的方法流程图;
图3示出本申请另一优选实施例的生成测试数据的方法流程图;
图4示出本申请再一优选实施例的生成测试数据的方法流程图;
图5示出根据本申请另一个方面的用于生成测试数据的设备示意图;
图6示出本申请一优选实施例的用于生成测试数据的设备示意图;
图7示出本申请另一优选实施例的用于生成测试数据的设备示意图;
图8示出本申请再一优选实施例的用于生成测试数据的设备示意图;
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
图1示出根据本申请一个方面的生成测试数据的方法流程图,结合图1,本申请提出一种生成测试数据的方法,所述方法包括:
步骤S1,判断受测应用是否与异常数据单元库中的问题业务逻辑相匹配,若是,则转到步骤S2;
步骤S2,基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据。在此,所述问题业务逻辑是受测应用的业务逻辑中容易出问题的业务逻辑,例如,受测应用为一搜索引擎时,搜索引擎会对网页进行分析,其中会有一个类似分词的程序,其功能是对标题进行分词,一个词语一般情况下就几个字,但是如果标题中有url,则长度会很长,超出默认值,如果对url进行分词会导致搜索引擎崩溃,这一对url进行分词会导致搜索引擎崩溃即为所述问题业务逻辑,针对这一问题业务逻辑对应生成异常数据单元存于数据单元库中,基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据即带有url的标题的异常数据,用于对类似分词的程序进行稳定性测试。又如,受测应用为一个对整数进行除法运算的程序,如果分母的取值为0,则除法运算异常会导致程序崩溃,这一分母的取值为0的除法运算会导致程序崩溃即为所述问题业务逻辑,针对这一问题业务逻辑对应生成异常数据单元,基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据即分母的取值为0的异常数据,后续可将生成的异常数据输入到受测应用中,然后根据受测应用的输出来验证当前受测应用的稳定性。本实施例中由于将各类问题业务逻辑预设于异常数据单元库,受测应用在异常数据单元库找到与其匹配的问题业务逻辑,即可基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据,能够解决异常数据生成的通用性问题,生成的异常数据针对性强,测试结果准确。
本申请一优选实施例中,所述异常数据单元根据多个受测应用的同一问题业务逻辑生成。在此,所述异常数据单元可以是同一问题业务逻辑的多个受测应用的一些最小单元的内置规则,这些最小单元的内置规则可以用来生成完整的异常数据,从而使后续根据异常数据单元生成的异常数据更具有通用性,以使用到该同类业务的受测应用的异常数据测试上。在此,根据不同的问题业务逻辑生成对应的异常数据单元,后续具有同一问题业务逻辑的受测应用可使用对应的异常数据单元生成异常数据,从而进一步提高生成同类业务的受测应用的异常数据的通用性。本领域技术人员应能理解上述异常数据单元的描述仅为举例,其他现有的或今后可能出现的异常数据单元如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
本申请一优选实施例中,所述异常数据单元包括一个或多个预设的基础类型及其赋值,从而进一步提高基于异常数据单元生成受测应用的异常数据的通用性。在此,所述基础类型可以包括整数类型、字符串类型和小数类型等等,所述赋值按照测试理论中等价类划分、边界值等选取的有代表性的取值,例如,整数取值有很多,在32位系统中,整数的取值范围为:-2147483647~2147483647,但是可以取1、-1、0、-2147483647,2147483647分别代表正整数、负整数、0、最大数、最小数等,所述字符串类型的赋值包括各种编码值;实际应用中,所述共同的基础类型及其赋值可存储于一基础库中。例如,在网页分析类业务的受测应用中,受测应用会对网页中的标题(title)或正文进行分词处理,标题或正文可以理解成基础库中的字符串类型,可以结合受测应用的问题业务逻辑和所述基础类型及其赋值构造生成超长词、特殊分隔符等异常数据单元。本领域技术人员应能理解上述异常数据单元的描述仅为举例,其他现有的或今后可能出现的异常数据单元如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
本申请一优选实施例中,步骤S1包括:
在受测应用的问题业务逻辑与异常数据单元库中的多个问题业务逻辑的组合相匹配时,
步骤S2包括:
基于该多个问题业务逻辑所分别对应的异常数据单元组合生成作用于所述受测应用的测试数据。在此,通过将异常数据单元组合生成作用于所述受测应用的测试数据,可以进一步提高生成的异常数据的通用性和准确性。
本申请一较佳的实施例中,步骤S2,所述基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据包括:
在配置文件中配置异常数据单元对应的名称;
加载所述配置文件以将所述名称映射到对应的异常数据单元生成作用于所述受测应用的测试数据。本领域技术人员应能理解上述生成异常数据的描述仅为举例,其他现有的或今后可能出现的生成异常数据的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
图2示出本申请一优选实施例的生成测试数据的方法流程图。结合图2,所述方法还包括:
步骤S1,判断受测应用是否与异常数据单元库中的问题业务逻辑相匹配,若是,则转到步骤S2,若否则转到步骤S3;
步骤S2,基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据;
步骤S3,根据受测应用的问题业务逻辑生成对应的新的异常数据单元;
步骤S4,基于所述新的异常数据单元生成作用于所述受测应用的测试数据。在此,如果受测应用的问题业务逻辑无法与异常数据单元库中的问题业务逻辑匹配上时,可以根据受测应用的问题业务逻辑生成对应的新的异常数据单元,并基于所述新的异常数据单元生成作用于所述受测应用的测试数据,从而使异常数据的生成方式具有可扩展性。
图3示出本申请一优选实施例的生成测试数据的方法流程图。结合图3,步骤S4包括:
步骤S41,在配置文件中配置新的异常数据单元对应的名称;
步骤S42,加载所述配置文件以将所述名称映射到对应的新的异常数据单元生成作用于所述受测应用的测试数据。本领域技术人员应能理解上述生成异常数据的描述仅为举例,其他现有的或今后可能出现的生成异常数据的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
本申请一较佳的实施例中,步骤S3之后,所述方法还包括:
将受测应用的问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库,从而不断丰富异常数据单元库的内容,增加生成的异常数据的通用性。一实施例中,可以先判断新的异常数据单元是否通用,如果通用,再将新的异常数据单元加入所述异常数据单元库。相应的,后续重复执行步骤S2时,下一受测应用的问题业务逻辑与新加入异常数据单元库的问题业务逻辑相匹配时,可以将该问题业务逻辑所对应的异常数据单元组合成完整的异常数据,后续可将所述完整的异常数据输入到当前受测应用中,然后根据当前受测应用的输出来验证当前受测应用的稳定性。
图4示出本申请一优选实施例的生成测试数据的方法流程图。结合图4,步骤S1之前,所述方法还包括:
步骤S01,获取引起受测应用运行异常的测试数据;
步骤S02,根据引起受测应用运行异常的测试数据生成该受测应用的问题业务逻辑所对应的新的异常数据单元;
步骤S03,将该问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库中。在异常数据单元的积累方面,除了前述实施例提到的所述异常数据单元根据多个受测应用的同一问题业务逻辑生成,或前述另一实施例提到的将受测应用的问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库的方式外,还可以通过步骤S01~S03的方式,在线上监控受测应用的异常情况,并获取引起该受测应用异常的异常数据,根据引起受测应用运行异常的测试数据生成该受测应用的问题业务逻辑所对应的新的异常数据单元,并将该问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库中,以丰富所述异常数据单元库中的内容,使后续组合成的异常数据更具通用性。本领域技术人员应能理解上述异常数据单元的描述仅为举例,其他现有的或今后可能出现的异常数据单元如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
根据本申请的另一方面,本申请还提供一种用于生成测试数据的设备,图5示出根据本申请另一个方面的用于生成测试数据的设备示意图,结合图5,所述用于生成测试数据的设备100包括:
第一装置1,用于在受测应用与异常数据单元库200中的问题业务逻辑相匹配时,基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据。在此,所述问题业务逻辑是受测应用的业务逻辑中容易出问题的业务逻辑,例如,受测应用为一搜索引擎时,搜索引擎会对网页进行分析,其中会有一个类似分词的程序,其功能是对标题进行分词,一个词语一般情况下就几个字,但是如果标题中有url,则长度会很长,超出默认值,如果对url进行分词会导致搜索引擎崩溃,这一对url进行分词会导致搜索引擎崩溃即为所述问题业务逻辑,针对这一问题业务逻辑对应生成异常数据单元存于数据单元库中,基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据即带有url的标题的异常数据,用于对类似分词的程序进行稳定性测试。又如,受测应用为一个对整数进行除法运算的程序,如果分母的取值为0,则除法运算异常会导致程序崩溃,这一分母的取值为0的除法运算会导致程序崩溃即为所述问题业务逻辑,针对这一问题业务逻辑对应生成异常数据单元,基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据即分母的取值为0的异常数据,后续可将异常数据输入到受测应用中,然后根据受测应用的输出来验证当前受测应用的稳定性。本实施例中由于将各类问题业务逻辑预设于异常数据单元库,受测应用在异常数据单元库找到与其匹配的问题业务逻辑,即可基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据,提高异常数据生成的通用性问题,生成的异常数据针对性强,测试结果准确。
本申请一优选实施例中,所述异常数据单元根据多个受测应用的同一问题业务逻辑生成。在此,所述异常数据单元可以是同一问题业务逻辑的多个受测应用的一些最小单元的内置规则,这些最小单元的内置规则可以用来生成完整的异常数据,从而使后续根据异常数据单元生成的异常数据更具有通用性,以使用到该同类业务的受测应用的异常数据测试上。在此,根据不同的问题业务逻辑生成对应的异常数据单元,后续具有同一问题业务逻辑的受测应用可使用对应的异常数据单元生成异常数据,从而提高生成同类业务的受测应用的异常数据的通用性。本领域技术人员应能理解上述异常数据单元的描述仅为举例,其他现有的或今后可能出现的异常数据单元如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
本申请一优选实施例中,所述异常数据单元包括一个或多个预设的基础类型及其赋值。在此,所述基础类型可以包括整数类型、字符串类型和小数类型等等,所述赋值按照测试理论中等价类划分、边界值等选取的有代表性的取值,例如,整数取值有很多,在32位系统中,整数的取值范围为:-2147483647~2147483647,但是可以取1、-1、0、-2147483647,2147483647分别代表正整数、负整数、0、最大数、最小数等,所述字符串类型的赋值包括各种编码值;实际应用中,所述共同的基础类型及其赋值可存储于一基础库中。例如,在网页分析类业务的受测应用中,受测应用会对网页中的标题(title)或正文进行分词处理,标题或正文可以理解成基础库中的字符串类型,可以结合受测应用的问题业务逻辑和所述基础类型及其赋值构造生成超长词、特殊分隔符等异常数据单元。本领域技术人员应能理解上述异常数据单元的描述仅为举例,其他现有的或今后可能出现的异常数据单元如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
本申请一优选实施例中,所述第一装置1,用于在受测应用的问题业务逻辑与异常数据单元库200中的多个问题业务逻辑的组合相匹配时,基于该多个问题业务逻辑所分别对应的异常数据单元组合生成作用于所述受测应用的测试数据。在此,通过将异常数据单元组合生成作用于所述受测应用的测试数据,可以进一步提高生成的异常数据的通用性和准确性。
本申请一较佳的实施例中,所述第一装置1,用于在配置文件中配置异常数据单元对应的名称,加载所述配置文件以将所述名称映射到对应的异常数据单元生成作用于所述受测应用的测试数据。本领域技术人员应能理解上述生成异常数据的描述仅为举例,其他现有的或今后可能出现的生成异常数据的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
图6示出本申请一优选实施例的用于生成测试数据的设备示意图。结合图6,所述设备100还包括第二装置2,用于在受测应用与异常数据单元库200中的问题业务逻辑不相匹配时,根据受测应用的问题业务逻辑生成对应的新的异常数据单元,及基于所述新的异常数据单元生成作用于所述受测应用的测试数据。在此,如果受测应用的问题业务逻辑无法与异常数据单元库中的问题业务逻辑匹配上时,可以根据受测应用的问题业务逻辑生成对应的新的异常数据单元,并基于所述新的异常数据单元生成作用于所述受测应用的测试数据,从而使异常数据的生成方式具有可扩展性。
本申请一优选实施例中所述第二装置2,用于在配置文件中配置新的异常数据单元对应的名称,加载所述配置文件以将所述名称映射到对应的新的异常数据单元生成作用于所述受测应用的测试数据。本领域技术人员应能理解上述生成异常数据的描述仅为举例,其他现有的或今后可能出现的生成异常数据的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
图7示出本申请一优选实施例的用于生成测试数据的设备示意图。结合图7,所述设备100还包括第三装置3,用于将受测应用的问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库200,从而不断丰富异常数据单元库的内容,增加生成的异常数据的通用性。一实施例中,可以先判断新的异常数据单元是否通用,如果通用,再将新的异常数据单元加入所述异常数据单元库。相应的,后续重复执行步骤S2时,下一受测应用的问题业务逻辑与新加入异常数据单元库的问题业务逻辑相匹配时,可以将该问题业务逻辑所对应的异常数据单元组合成完整的异常数据,后续可将所述完整的异常数据输入到当前受测应用中,然后根据当前受测应用的输出来验证当前受测应用的稳定性。
图8示出本申请一优选实施例的用于生成测试数据的设备示意图。结合图8,所述设备100还包括第四装置4,用于获取引起受测应用运行异常的测试数据,根据引起受测应用运行异常的测试数据生成该受测应用的问题业务逻辑所对应的新的异常数据单元,并将该问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库200中。
在一具体的应用实施例中,可预设一个基础库存储各种预设的基础类型及其赋值,再预设一个异常数据单元库存储各种问题业务逻辑所对应的异常数据单元,所述异常数据单元包括一个或多个从所述基础库中选择的基础类型及其赋值,在受测应用与异常数据单元库中的问题业务逻辑相匹配时,基于所述问题业务逻辑所对应的一个或多个异常数据单元生成作用于所述受测应用的测试数据;另外,在受测应用与异常数据单元库中的问题业务逻辑不相匹配时,根据受测应用的问题业务逻辑生成对应的新的异常数据单元,基于所述新的异常数据单元生成作用于所述受测应用的测试数据,将受测应用的问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库,不断丰富异常数据单元库的内容;此外,获取引起受测应用运行异常的测试数据,根据引起受测应用运行异常的测试数据生成该受测应用的问题业务逻辑所对应的新的异常数据单元,将该问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库中,进一步丰富异常数据单元库的内容,从而提高生成的异常数据的通用性。
综上所述,本申请通过在受测应用与异常数据单元库中的问题业务逻辑相匹配时,基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据,解决异常数据生成的通用性问题,生成的异常数据针对性强,测试结果准确。
进一步的,所述异常数据单元根据多个受测应用的同一问题业务逻辑生成,进一步提高生成同类业务的受测应用的异常数据的通用性。
进一步的,所述异常数据单元包括一个或多个预设的基础类型及其赋值,进一步提高基于异常数据单元生成受测应用的异常数据的通用性。
进一步的,在受测应用与异常数据单元库中的问题业务逻辑不相匹配时,根据受测应用的问题业务逻辑生成对应的新的异常数据单元,基于所述新的异常数据单元生成作用于所述受测应用的测试数据,使异常数据的生成方式具有可扩展性。
进一步的,通过将受测应用的问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库,能够不断丰富异常数据单元库的内容,增加生成的异常数据的通用性。
进一步的,通过获取引起受测应用运行异常的测试数据,根据引起受测应用运行异常的测试数据生成该受测应用的问题业务逻辑所对应的新的异常数据单元,将该问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库中,实现在线上监控受测应用的异常情况,并获取引起该受测应用异常的异常数据,根据引起受测应用运行异常的测试数据生成该受测应用的问题业务逻辑所对应的新的异常数据单元,并将该问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库中,以丰富所述异常数据单元库中的内容,使后续组合成的异常数据更具通用性。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (18)
1.一种生成测试数据的方法,其中,包括:
在受测应用与异常数据单元库中的问题业务逻辑相匹配时,
基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据。
2.如权利要求1所述的方法,其中,所述异常数据单元根据多个受测应用的同一问题业务逻辑生成。
3.如权利要求1或2所述的方法,其中,所述异常数据单元包括一个或多个预设的基础类型及其赋值。
4.如权利要求1至3任一项所述的方法,其中,在受测应用与异常数据单元库中的问题业务逻辑相匹配时,基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据,包括:
在受测应用的问题业务逻辑与异常数据单元库中的多个问题业务逻辑的组合相匹配时,
基于该多个问题业务逻辑所分别对应的异常数据单元组合生成作用于所述受测应用的测试数据。
5.如权利要1至4任一项所述的方法,其中,基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据包括:
在配置文件中配置异常数据单元对应的名称;
加载所述配置文件以将所述名称映射到对应的异常数据单元生成作用于所述受测应用的测试数据。
6.如权利要求1所述的方法,其中,所述方法还包括:
在受测应用与异常数据单元库中的问题业务逻辑不相匹配时,
根据受测应用的问题业务逻辑生成对应的新的异常数据单元;
基于所述新的异常数据单元生成作用于所述受测应用的测试数据。
7.如权利要6所述的方法,其中,基于所述新的异常数据单元生成作用于所述受测应用的测试数据包括:
在配置文件中配置新的异常数据单元对应的名称;
加载所述配置文件以将所述名称映射到对应的新的异常数据单元生成作用于所述受测应用的测试数据。
8.如权利要6所述的方法,其中,根据受测应用的问题业务逻辑生成对应的新的异常数据单元之后,所述方法还包括:
将受测应用的问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库。
9.如权利要1至8任一项所述的方法,其中,在受测应用与异常数据单元库中的问题业务逻辑相匹配时之前,所述方法还包括:
获取引起受测应用运行异常的测试数据;
根据引起受测应用运行异常的测试数据生成该受测应用的问题业务逻辑所对应的新的异常数据单元,并将该问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库中。
10.一种用于生成测试数据的设备,其中,包括:
第一装置,用于在受测应用与异常数据单元库中的问题业务逻辑相匹配时,基于所述问题业务逻辑所对应的异常数据单元生成作用于所述受测应用的测试数据。
11.如权利要求10所述的设备,其中,所述异常数据单元根据多个受测应用的同一问题业务逻辑生成。
12.如权利要求10或11所述的设备,其中,所述异常数据单元包括一个或多个预设的基础类型及其赋值。
13.如权利要求10至12任一项所述的设备,其中,所述第一装置,用于在受测应用的问题业务逻辑与异常数据单元库中的多个问题业务逻辑的组合相匹配时,基于该多个问题业务逻辑所分别对应的异常数据单元组合生成作用于所述受测应用的测试数据。
14.如权利要求10至13任一项所述的设备,其中,所述第一装置,用于在配置文件中配置异常数据单元对应的名称,加载所述配置文件以将所述名称映射到对应的异常数据单元生成作用于所述受测应用的测试数据。
15.如权利要10所述的设备,其中,所述设备还包括第二装置,用于在受测应用与异常数据单元库中的问题业务逻辑不相匹配时,根据受测应用的问题业务逻辑生成对应的新的异常数据单元,及基于所述新的异常数据单元生成作用于所述受测应用的测试数据。
16.如权利要15所述的设备,其中,所述第二装置,用于在配置文件中配置新的异常数据单元对应的名称,加载所述配置文件以将所述名称映射到对应的新的异常数据单元生成作用于所述受测应用的测试数据。
17.如权利要15所述的设备,其中,所述设备还包括第三装置,用于将受测应用的问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库。
18.如权利要10至17任一项所述的设备,其中,所述设备还包括第四装置,用于获取引起受测应用运行异常的测试数据,根据引起受测应用运行异常的测试数据生成该受测应用的问题业务逻辑所对应的新的异常数据单元,并将该问题业务逻辑及对应的新的异常数据单元加入所述异常数据单元库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510032511.6A CN105868095B (zh) | 2015-01-22 | 2015-01-22 | 生成测试数据的方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510032511.6A CN105868095B (zh) | 2015-01-22 | 2015-01-22 | 生成测试数据的方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105868095A true CN105868095A (zh) | 2016-08-17 |
CN105868095B CN105868095B (zh) | 2018-11-13 |
Family
ID=56623394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510032511.6A Active CN105868095B (zh) | 2015-01-22 | 2015-01-22 | 生成测试数据的方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105868095B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108182359A (zh) * | 2017-12-29 | 2018-06-19 | 中国信息通信研究院 | 一种测试可信环境下api安全性的方法、装置及存储介质 |
CN112135162A (zh) * | 2020-09-25 | 2020-12-25 | 北京达佳互联信息技术有限公司 | 业务执行方法、装置及服务器 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100070805A1 (en) * | 2008-09-18 | 2010-03-18 | Fangzhe Chang | Method and Apparatus for Validating System Properties Exhibited in Execution Traces |
CN101859274A (zh) * | 2009-04-07 | 2010-10-13 | 西门子(中国)有限公司 | 一种进行模糊测试的方法及系统 |
CN103164306A (zh) * | 2013-03-25 | 2013-06-19 | 北京经纬恒润科技有限公司 | 一种测试逻辑的生成方法及装置 |
CN103812729A (zh) * | 2014-02-19 | 2014-05-21 | 北京理工大学 | 一种网络协议模糊测试方法和装置 |
CN103853650A (zh) * | 2012-11-28 | 2014-06-11 | 西门子公司 | 一种模糊测试的测试用例生成方法及装置 |
-
2015
- 2015-01-22 CN CN201510032511.6A patent/CN105868095B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100070805A1 (en) * | 2008-09-18 | 2010-03-18 | Fangzhe Chang | Method and Apparatus for Validating System Properties Exhibited in Execution Traces |
CN101859274A (zh) * | 2009-04-07 | 2010-10-13 | 西门子(中国)有限公司 | 一种进行模糊测试的方法及系统 |
CN103853650A (zh) * | 2012-11-28 | 2014-06-11 | 西门子公司 | 一种模糊测试的测试用例生成方法及装置 |
CN103164306A (zh) * | 2013-03-25 | 2013-06-19 | 北京经纬恒润科技有限公司 | 一种测试逻辑的生成方法及装置 |
CN103812729A (zh) * | 2014-02-19 | 2014-05-21 | 北京理工大学 | 一种网络协议模糊测试方法和装置 |
Non-Patent Citations (2)
Title |
---|
李红辉 等: ""模糊测试技术研究"", 《中国科学:信息科学》 * |
王清 等: "《0day安全:软件漏洞分析技术(第2版)》", 30 June 2011 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108182359A (zh) * | 2017-12-29 | 2018-06-19 | 中国信息通信研究院 | 一种测试可信环境下api安全性的方法、装置及存储介质 |
CN108182359B (zh) * | 2017-12-29 | 2020-04-24 | 中国信息通信研究院 | 一种测试可信环境下api安全性的方法、装置及存储介质 |
CN112135162A (zh) * | 2020-09-25 | 2020-12-25 | 北京达佳互联信息技术有限公司 | 业务执行方法、装置及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN105868095B (zh) | 2018-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106201481A (zh) | 应用程序开发系统中的组件管理方法和装置 | |
CN105335310A (zh) | 一种接口定义方法和数据传输方法及装置 | |
KR101390220B1 (ko) | 소프트웨어 버그 정정을 위한 적합한 개발자 추천 방법 및 장치 | |
CN109933535A (zh) | 测试用例的生成方法、装置和服务器 | |
US20140052433A1 (en) | Automatically extracting a model for the behavior of a mobile application | |
CN111240876A (zh) | 微服务的故障定位方法、装置、存储介质及终端 | |
CN115827436A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN105868095A (zh) | 生成测试数据的方法及设备 | |
US20150205707A1 (en) | Test paths generation for a physical system | |
CN114970814A (zh) | 神经网络计算图的处理方法及处理装置 | |
US20120259611A1 (en) | System and method for generation of cim-based power system circuit models | |
CN113434320A (zh) | 信息系统故障定位方法、装置、设备及存储介质 | |
KR101334806B1 (ko) | 테스트 케이스 자동 생성 시스템에서 테스트 케이스를 구성하는 입력값의 집합을 자동으로 산출하는 방법 | |
CN116578911A (zh) | 数据处理方法、装置、电子设备及计算机存储介质 | |
CN110147313B (zh) | 一种日志输出方法及装置 | |
CN113850675A (zh) | 用于企业交易关系数据的信息处理方法和装置 | |
CN114421458A (zh) | 一种低压台区物理拓扑生成方法、装置及电子设备 | |
CN113312895A (zh) | 自治系统as的组织机构映射方法、装置及电子设备 | |
US20120078943A1 (en) | High quantitative pattern searching using spatial indexing | |
CN109062959B (zh) | 一种传播内容的检索方法和装置 | |
CN114024858B (zh) | 一种任务执行方法、装置、设备及存储介质 | |
JP2011192156A (ja) | シミュレーション方法、シミュレーション装置、プログラム、及び記憶媒体 | |
CN111309331B (zh) | 业务处理方法及装置、电子设备、存储介质 | |
CN115829543B (zh) | 基于故障需检区间的电力设备预防性试验有效性确定方法 | |
CN115658818A (zh) | 一种异常实体的定位方法、装置、设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |