一种测试用例生成的方法、装置及设备制造方法及图纸

技术编号:39430794 阅读:13 留言:0更新日期:2023-11-19 16:15
本说明书一个或多个实施例公开了一种测试用例生成的方法、装置及设备。所述方法包括:对目标测试用例集合对应的语法结构序列中位置相邻的相邻语法结构对进行变异处理,生成所述相邻语法结构对对应的变异语法结构序列,所述语法结构序列为去除被测试对象中的语义数据后的所述语法结构序列所形成的序列;从所述变异语法结构序列中,筛选出所述目标测试用例集合未覆盖的测试路径对应的候补语法结构序列;将所述候补语法结构序列和所述语法结构序列进行合成处理,得到合成语法结构序列;使用待测试对象中的语义数据对所述合成语法结构序列进行数据填充处理,生成针对所述待测试对象的测试用例。象的测试用例。象的测试用例。

【技术实现步骤摘要】
一种测试用例生成的方法、装置及设备


[0001]本说明书涉及软件安全测试
,尤其涉及一种测试用例生成的方法、装置及设备。

技术介绍

[0002]自数据库诞生以来,数据库管理系统(Database Management System,DBMS)被广泛用于如医疗保健、金融、零售、邮寄等行业。数据库管理系统作为管理用户数据的桥梁,其安全性十分的重要,尤其是数据库管理系统中存在的堆栈溢出等传统安全漏洞,一旦被发现,攻击者可能通过这些漏洞窃取、伪造用户数据,也可能直接导致数据库系统拒绝服务,给用户造成巨大的损失。
[0003]模糊测试是一种漏洞挖掘技术,它通常将无效的、非预期的或随机的数据作为目标程序的输入,通过监测输入后软件的异常状况来发现软件的安全问题。数据库模糊测试变异方式主要包括基于生成的变异方式和基于变异的生成方式。其中,基于生成的变异方式需要预先定义一些生成规则,这些生成规则使得生成的测试用例能够探索的程序空间十分有限;基于变异的生成方式需要随机选取一些种子作为变异的基础,该生成方式主要关注序列内部的变异,使得生成的测试用例代码覆盖率不足。因此,目前亟需提供一种更优的测试用例生成方案。

技术实现思路

[0004]本说明书实施例提供一种测试用例生成的方法、装置及设备,以提供一种符合数据库相关人员预期的测试用例生成方案。
[0005]第一方面,本说明书一个或多个实施例提供一种测试用例生成的方法,包括:对目标测试用例集合对应的语法结构序列中位置相邻的相邻语法结构对进行变异处理,生成所述相邻语法结构对对应的变异语法结构序列,所述语法结构序列为去除被测试对象中的语义数据后的所述语法结构序列所形成的序列;从所述变异语法结构序列中,筛选出所述目标测试用例集合未覆盖的测试路径对应的候补语法结构序列;将所述候补语法结构序列和所述语法结构序列进行合成处理,得到合成语法结构序列;使用待测试对象中的语义数据对所述合成语法结构序列进行数据填充处理,生成针对所述待测试对象的测试用例。
[0006]第二方面,本申请实施例提供了一种测试用例生成的装置,包括:对目标测试用例集合对应的语法结构序列中位置相邻的相邻语法结构对进行变异处理,生成所述相邻语法结构对对应的变异语法结构序列,所述语法结构序列为去除被测试对象中的语义数据后的所述语法结构序列所形成的序列;从所述变异语法结构序列中,筛选出所述目标测试用例集合未覆盖的测试路径对应的候补语法结构序列;将所述候补语法结构序列和所述语法结构序列进行合成处理,得到合成语法结构序列;使用待测试对象中的语义数据对所述合成语法结构序列进行数据填充处理,生成针对所述待测试对象的测试用例。
[0007]第三方面,本申请实施例提供了一种电子设备,该电子设备包括:处理器,以及被
安排成存储计算机可执行指令的存储器,在所述可执行指令被执行时,能够使得所述处理器:对目标测试用例集合对应的语法结构序列中位置相邻的相邻语法结构对进行变异处理,生成所述相邻语法结构对对应的变异语法结构序列,所述语法结构序列为去除被测试对象中的语义数据后的所述语法结构序列所形成的序列;从所述变异语法结构序列中,筛选出所述目标测试用例集合未覆盖的测试路径对应的候补语法结构序列;将所述候补语法结构序列和所述语法结构序列进行合成处理,得到合成语法结构序列;使用待测试对象中的语义数据对所述合成语法结构序列进行数据填充处理,生成针对所述待测试对象的测试用例。
[0008]第四方面,本说明书实施例提供一种存储介质,用于存储计算机程序,所述计算机程序能够被处理器执行以实现以下流程:对目标测试用例集合对应的语法结构序列中位置相邻的相邻语法结构对进行变异处理,生成所述相邻语法结构对对应的变异语法结构序列,所述语法结构序列为去除被测试对象中的语义数据后的所述语法结构序列所形成的序列;从所述变异语法结构序列中,筛选出所述目标测试用例集合未覆盖的测试路径对应的候补语法结构序列;将所述候补语法结构序列和所述语法结构序列进行合成处理,得到合成语法结构序列;使用待测试对象中的语义数据对所述合成语法结构序列进行数据填充处理,生成针对所述待测试对象的测试用例。
附图说明
[0009]为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0010]图1是基于SQL序列的数据库模糊测试的测试用例的生成过程的示意性流程图。
[0011]图2是根据本说明书一实施例的一种测试用例生成的方法的示意性流程图。
[0012]图3是根据本说明书一实施例的一种测试用例生成的方法的应用场景示意图。
[0013]图4是根据本说明书一实施例的一种测试用例生成的方法的应用场景示意图。
[0014]图5是根据本说明书一实施例的一种测试用例生成系统的框图。
[0015]图6是根据本说明书一实施例的一种测试用例生成的装置的结构示意图。
[0016]图7是根据本说明书一实施例的一种电子设备的结构示意图。
具体实施方式
[0017]下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0018]本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本说明书的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,
也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
[0019]下面结合附图,通过具体的实施例及其应用场景对本说明书实施例提供的测试用例生成的方法、装置及设备进行详细地说明。
[0020]结构化查询语言(Structured Query Language,SQL)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。其中,关系数据库是将数据显示为行和列中的表的集合,关系数据库中的每行都有一个提供与其他表的关系的键。SQL定义数据库创建中的表和关系,是用于管理,查询和处理关系数据库中数据的优选语言。
[0021]数据库的一大特点是存在很多SQL语句(statement),主要包括数据定义语言(Data Definition Language,DDL)、数据查询语言(Data Query Language,DQL本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种测试用例生成的方法,包括:对目标测试用例集合对应的语法结构序列中位置相邻的相邻语法结构对进行变异处理,生成所述相邻语法结构对对应的变异语法结构序列,所述语法结构序列为去除被测试对象中的语义数据后的所述语法结构序列所形成的序列;从所述变异语法结构序列中,筛选出所述目标测试用例集合未覆盖的测试路径对应的候补语法结构序列;将所述候补语法结构序列和所述语法结构序列进行合成处理,得到合成语法结构序列;使用待测试对象中的语义数据对所述合成语法结构序列进行数据填充处理,生成针对所述待测试对象的测试用例。2.根据权利要求1所述的方法,所述对目标测试用例集合对应的语法结构序列中位置相邻的相邻语法结构对进行变异处理,生成所述相邻语法结构对对应的变异语法结构序列,包括:从所述相邻语法结构对中确定待被调整语法结构;从所述语法结构序列中选取与所述待被调整语法结构对应的目标语法结构;根据所述待被调整语法结构和/或所述目标语法结构,对所述相邻语法结构对进行变异,得到所述变异语法结构序列。3.根据权利要求2所述的方法,所述目标语法结构与所述待被调整语法结构不同,所述根据所述待被调整语法结构和/或所述目标语法结构,对所述相邻语法结构对进行变异,得到所述变异语法结构序列,包括:使用所述目标语法结构替换所述相邻语法结构对中的所述待被调整语法结构,将被替换后的所述相邻语法结构对作为所述变异语法结构序列。4.根据权利要求2所述的方法,所述根据所述待被调整语法结构和/或所述目标语法结构,对所述相邻语法结构对进行变异,得到所述变异语法结构序列,包括:将所述目标语法结构插入所述相邻语法结构对中所述待被调整语法结构和与所述待被调整语法结构相连的下一个语法结构之间,将被插入后的所述相邻语法结构对作为所述变异语法结构序列。5.根据权利要求2所述的方法,所述根据所述待被调整语法结构和/或所述目标语法结构,对所述相邻语法结构对进行变异,得到所述变异语法结构序列,包括:将所述相邻语法结构对中的所述待被调整语法结构删除,将删除后的所述相邻语法结构对作为所述变异语法结构序列。6.根据权利要求2所述的方法,所述对目标测试用例集合对应的语法结构序列中位置相邻的相邻语法结构对进行变异处理,生成所述相邻语法结构对对应的变异语法结构序列,包括:在所述语法结构序列中,将与所述被调整语法结构同属一个第一目标测试用例且所述第一目标测试用例的数量大于第一预设阈值的语法结构,作为候选调整语法结构;和/或在所述语法结构序列中,将与所述变异语法结构序列中除所述被调整语法结构外的语法结构同属一个第二目标...

【专利技术属性】
技术研发人员:陈耀光
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:

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

1