当前位置: 首页 > 专利查询>西门子公司专利>正文

模糊测试的方法、装置和系统制造方法及图纸

技术编号:8562936 阅读:179 留言:0更新日期:2013-04-11 04:35
本发明专利技术涉及一种模糊测试的方法、装置和系统,该方法包括:搜索包含被测软件正确输出数据的第一文本文件中的分隔符,并根据所搜索的分隔符定位出所有标签及其属性值;针对属性值在该第一文本文件该属性值的位置注入测试用例,以生成测试用的第二文本文件;将第二文本文件输入被测软件;监测被测软件的响应和/或状态,以确定是否出现异常。本发明专利技术可以提高所构造的测试用文本文件成功通过被测软件的解析而能对被测软件进行深入测试的概率,从而提高了文件的测试效率。

【技术实现步骤摘要】

本专利技术涉及软件安全测试领域,尤其涉及一种模糊测试的方法、装置和系统
技术介绍
模糊测试是一种软件测试技术,其通过对被测目标软件提供非预期输入,并监视 异常结果来发现故障。由于模糊测试总是能检测出被测试人员所忽略的故障,所以模糊测 试被认为能够提供软件的安全性。基于文件的模糊测试是一种针对目标软件如目标应用程序的特殊测试方法。普通 的文件通常可以被分为两种类别文本文件和二进制文件。文本文件是人可读的文件,其仅 由标签和正文数据组成,而二进制文件包括格式化的正文。对于文本文件,标签定义了文本 文件的结构,而正文数据定义了真正的信息。通常,目标软件在读取文本文件时,先对文本 文件的标签的属性值进行解析,并将标签的属性值转换为解析函数的参数,然后再执行软 件的相应操作。如果文本文件的标签解析出错,则目标软件认为文本文件非法,直接拒绝该 文本文件。现有的基于文件的模糊测试方法通常通过在合法文本文件的随机位置直接将随 机数据注入合法的文件中来构造用于测试用的文件,由于构造的随机性,这样所构造的样 本文件中的很大部分在输入目标软件后,目标软件无法将其正确解析,因而直接将其确定 为非法文件并拒绝。这样所构造的测试用的文件就无法继续对目标软件进行更深入的测试 了,从而导致了测试的效率较低。
技术实现思路
考虑到现有技术的上述缺陷,本专利技术的实施例提出一种模糊测试的方法和装置, 其可以提高所构造的测试用文本文件成功通过被测软件的解析而能对被测软件进行深入 测试的概率,从而提高了文件的测试效率。本专利技术的实施例提供了一种模糊测试的方法,包括步骤搜索包含被测软件正确输出数据的第一文本文件中的分隔符,并根据所搜索的分 隔符定位出所有标签及其属性值;针对属性值在该第一文本文件中相应位置注入测试用例,以生成测试用的第二文 本文件;将第二文本文件输入被测软件;监测被测软件的响应和/或状态,以确定是否出现异常。本专利技术的实施例提供了一种模糊测试的装置,包括标签定位模块,用于搜索包含被测软件正确输出数据的第一文本文件中的分隔 符,并根据所搜索的分隔符定位出所有标签及其属性值;测试用例注入模块,用于针对属性值在该第一文本文件中相应位置注入测试用 例,以生成测试用的第二文本文件;执行模块,用于将第二文本文件输入被测软件;监测模块,用于监测被测软件的响应和/或状态,以确定是否出现异常。本专利技术的又一实施例提供了包括上述模糊测试的装置的模糊测试的系统。本专利技术的又一实施例提供了一种计算机可读介质,存储执行所述模糊测试方法的 计算机可读指令。本专利技术的又一实施例一种计算机程序,包括执行所述模糊测试方法的计算机可读 指令。利用本专利技术实施例的技术方案,通过利用分隔符来定位标签及其属性值,并针对 属性值注入测试用例,可以提高所构造的测试用文本文件成功通过被测软件的解析而能对 被测软件进行深入测试的概率,从而提高了文件的测试效率。附图说明本专利技术的目的、特点、特征和优点通过以下结合附图的详细描述将变得更加显而 易见。其中图1示出了根据本专利技术一实施例的模糊测试方法的流程图2示出了根据本专利技术另一实施例的模糊测试方法的流程图3示出了根据本专利技术一实施例的模糊测试的装置的示意图4示出了包含本专利技术实施例的模糊测试装置的系统进行模糊测试的工作过程 示意图。图中SlOl搜索分隔符并定位标签及其属性S102生成第二文本文件S103将第二文本文件输入被测软件S104监测被测软件的响应和/或状态S201生成第一文本文件S202将该第一文本文件读入到一个超长字符串中S203在该超长字符串中搜索分隔符并识别标签及其属性值S204生成第二文本文件S205将生成的第二文本文件输入被测软件S206监测被测软件的响应和/或状态301标签定位模块302测试用例注入模块303执行模块304监测模块401被测软件402第一文本文件400模糊测试系统403标签识别模块404标签定位模块405类型识别模块406测试用例生成模块407测试用例注入模块408第二文本文件409执行模块410监测模块具体实施方式本专利技术的实施例提供一种模糊测试的方案,按照该技术方案,搜索包含被测软件 正确输出数据的第一文本文件中的分隔符,并根据所搜索的分隔符定位出所有标签及其属 性值;针对该属性值在该第一文本文件中相应位置注入测试用例,以生成测试用的第二文 本文件;将第二文本文件输入被测软件;监测被测软件的响应和/或状态,以确定是否出现异常。下面将结合附图详细描述本专利技术的各个实施例。图1是根据本专利技术一实施例的模糊测试方法的流程图。如图1,根据本专利技术一实施 例的模糊测试方法包括如下步骤步骤S101,搜索包含被测软件正确输出数据的第一文本文件中存在的分隔符,并 且根据所述分隔符的位置关系,以定位出所有标签及其属性值;其中,该第一文本文件可以 由被测软件生成;步骤S102,针对所述属性值在该第一文本文件中注入测试用例,以生成测试用的 第二文本文件;其中,针对上述属性值注入测试用例即为在属性值的位置处注入测试用例, 通过这样来改变上述属性的属性值,具体的方式可以包括用测试用例来替代原属性值。步骤S103,将生成的第二文本文件输入被测软件;步骤S104,监测被测软件的响应和/或状态,以确定是否出现异常。具体地,如果 被测软件出错,则可以分析出错信息,以确定该被测软件是否存在漏洞。包含标签的文本文件可以是各种文本文件格式的,例如,HTML文件、XML文件或 ini文件格式的。对于多种文本文件格式,标记标签的分隔符可以有多种,例如可以是单分 隔符,如“=”或“”等,或者包含左右分隔符的一对分隔符,如“〈>”、“[]”和“ H ”。对于由单分隔符标记的标签,将搜索到的单分隔符左侧的内容确定为标签的属 性,将单分隔符右侧的内容确定为属性值。对于由一对左右分隔符标记的标签嵌套单分隔 符的情况,将在一对左右分隔符中嵌套的单分隔符左侧的内容确定为该标签的属性,将单 分隔符右侧的内容确定为对应的属性值。第一文本文件中,可能存在多个标签,有的标签有属性值,有的可能没有,该例中, 仅针对有属性值的标签的属性值注入测试用例。对于由一对左右分隔符标记的标签,仅当 其至少嵌套有一个单分隔符时,才确定其有属性值。利用该实施例的模糊测试方法,所生成的测试用的第二文本文件的标签是正确 的,这样使得第二文本文件通过被测软件的解析步骤的概率提高,即使得第二文本文件能 对被测软件进行更深入测试的可能性提高,从而提高了测试的效率。进一步地,在上述步骤S102中,还可以包括根据所述属性值的类型来注入相应类型的测试用例。具体地,可以先识别标签的属性值的类型,然后在针对上述属性值注入测试 用例时,根据属性值的类型注入类型与属性值的类型相对应的测试用例,这样,使得所生成 的测试用的第二文本文件不仅标签是正确的,而且标签的属性值的类型也是正确的,从而, 使得第二文本文件通过被测软件的解析步骤的概率被进一步提高,从而进一步提高了测试 的效率。其中,上述相应类型可以是相同的类型。在注入测试用例时,可以对所有识别出的标签的属性值注入测试用例,也可以仅 仅针对部分标签的属性值注入测试用例。示例性地,所述属性值的类型包括如下各项及其任何组合字符串、数字、日期和 超链接。图2示出了根据本本文档来自技高网...

【技术保护点】
一种模糊测试的方法,包括步骤:搜索包含被测软件正确输出数据的第一文本文件中的分隔符,并根据所搜索的分隔符定位出所有标签及其属性值;针对所述属性值在该第一文本文件中该属性值的位置注入测试用例,以生成测试用的第二文本文件;将所述第二文本文件输入所述被测软件;监测所述被测软件的响应和/或状态,以确定是否出现异常。

【技术特征摘要】
1.ー种模糊测试的方法,包括步骤 捜索包含被测软件正确输出数据的第一文本文件中的分隔符,井根据所搜索的分隔符定位出所有标签及其属性值; 针对所述属性值在该第一文本文件中该属性值的位置注入测试用例,以生成测试用的第二文本文件; 将所述第二文本文件输入所述被测软件; 监测所述被测软件的响应和/或状态,以确定是否出现异常。2.根据权利要求1所述的方法,其特征在于,所述搜索分隔符的步骤包括 将所述第一文本文件读入到一超长字符串中; 在所述超长字符串中捜索预定类型的所有分隔符。3.根据权利要求1所述的方法,其特征在于,所述针对所述属性值来注入测试用例的步骤包括;根据所述属性值的类型来注入相应类型的测试用例。4.根据权利要求2所述的方法,其特征在干,在所述超长字符串中捜索预定类型的所有分隔符的步骤包括 在所述超长字符串中搜索左分隔符; 如果没有查找到有效的左分隔符,则查找单分隔符;并且,如果没有找到单分隔符,则确定该文本文件没有标签,退出流程;如果找到单分隔符,则将所找到的单分隔符的左侧内容部分作为标签的属性,右侧内容作为标签的属性值,然后返回所述搜索左分隔符的步骤; 如果查找到一个有效的左分隔符,则在尚未进行搜索的字符串中继续对所有类型的分隔符进行捜索,其中 如果找到单分隔符,则将单分隔符的左侧部分作为标签的属性,其右侧部分作为标签的属性值,然后返回对所有类型的分隔符进行查找的步骤; 如果找到右分隔符,则返回对所有类型的分隔符进行查找的步骤; 如果找到左分隔符,则确定发现了嵌套标签,并返回上述对所有的分隔符进行查找的步骤。5.根据权利要求2所述的方法,其特征在于,在没有捜索到分隔符时,在所述第一文本文件的随机位置直接注入随机类型的测试用例。6.根据权利要求3所述的方法,其特征在干,所述属性值的类型包括以下任意ー项或其组合字符串、数字、日期和超链接。7.根据权利要求1所述的方法,其特征在于,所述分隔符包括如下类型的分隔符的任意一项或其任何组合左右尖括号、左右中括号、左右大括号、等号和冒号。8.ー种模糊测试的装置,包括 标签定位模块(301),用于搜索包含被测软件正确输出数据的第一文本文件中的分隔符,井根据所搜索的分隔符定位出所有标签及其属性值; 测试用例注入模块(302),用于针对所述属性值在该第一文本文件中该...

【专利技术属性】
技术研发人员:刘玉恒
申请(专利权)人:西门子公司
类型:发明
国别省市:

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

1