基于插桩函数辅助提高生成测试用例效率的方法及系统技术方案

技术编号:24090610 阅读:46 留言:0更新日期:2020-05-09 07:54
本发明专利技术公开了一种基于插桩函数辅助提高生成测试用例效率的方法及系统,其中该方法包括:步骤1)、利用插桩函数插桩web应用中的通用验证函数和用户自定义的自定义验证函数的代码路径;步骤2)收集并保存web应用通过网络发出的请求数据,同时通过步骤1)中的插桩函数从通用验证函数中获取请求参数的验证规则,保存该验证规则至数据库;步骤3)、对步骤)2中的请求数据进行分析处理,以得到并保存基础数据;步骤4)、从数据库中提取出保存的验证规则和基础数据,直接或通过深度学习模型生成参数规则生成模型;步骤5)、采用步骤4)生成的参数规则生成模型生成测试样例;采用上述方法生成web测试样例,无需人工干预,简单方便,准确性高。

A method and system to improve the efficiency of test case generation based on the insertion function

【技术实现步骤摘要】
基于插桩函数辅助提高生成测试用例效率的方法及系统
本专利技术涉及web应用测试
,尤其涉及一种基于插桩函数辅助提高生成测试用例效率的方法及系统。
技术介绍
随着网络技术的发展,web应用的数据也有着指数型的增长,同时应用的接口数量也越来越多,为了保证应用程序正常运行,需要产品在上线前对其有着充分的测试,其中包括判断是否存在越权漏洞。常见的有基于请求重发,来测试业务功能是否正常,比如:某请求只允许管理员访问,但是如果以普通用户的身份重新发送该请求也能得到相同的响应结果,即可认为存在越权漏洞。为了做到成分测试,一般会多次运行测试实例,在系统测试过程中,往往需要测试人员编写大量的测试脚本,目前在编写测试脚本时存在如下问题:1、纯手工编写,对测试人员的水平要求较高。2、借助配置文件生成,依然需要开发人员提供配置文件,版本迭代时,配置文件的维护也是一个问题。3、借助机器学习自动生成测试脚本,当一个请求包含多个请求参数时,难以准确判断哪一个参数存在参数验证。基于上述问题,造成现在编写测试脚本的效率比较低,不能满足实际工本文档来自技高网...

【技术保护点】
1.一种基于插桩函数辅助提高生成测试用例效率的方法,其特征在于,包括:/n步骤1)、利用插桩函数插桩待测试web应用中的通用验证函数和用户自定义的自定义验证函数的代码路径;/n步骤2)、依次操作运行所述web应用中的所有功能模块,收集并保存所述web应用通过网络发出的请求数据,同时通过步骤1)中的插桩函数从所述通用验证函数中获取请求参数的验证规则,保存该验证规则至数据库;/n步骤3)、对步骤)2中的所述请求数据进行分析处理,以得到基础数据,所述数据数据包括各个请求的URL、请求头、请求字段名、请求字段值、请求字段名与请求字段值之间的映射关系、请求字段名与所述验证规则的映射关系、相同请求的请求次...

【技术特征摘要】
1.一种基于插桩函数辅助提高生成测试用例效率的方法,其特征在于,包括:
步骤1)、利用插桩函数插桩待测试web应用中的通用验证函数和用户自定义的自定义验证函数的代码路径;
步骤2)、依次操作运行所述web应用中的所有功能模块,收集并保存所述web应用通过网络发出的请求数据,同时通过步骤1)中的插桩函数从所述通用验证函数中获取请求参数的验证规则,保存该验证规则至数据库;
步骤3)、对步骤)2中的所述请求数据进行分析处理,以得到基础数据,所述数据数据包括各个请求的URL、请求头、请求字段名、请求字段值、请求字段名与请求字段值之间的映射关系、请求字段名与所述验证规则的映射关系、相同请求的请求次数以及响应数据,将所述基础数据保存至数据库;
步骤4)、从所述数据库中提取出保存的验证规则和基础数据,根据请求字段名与验证规则的映射关系,判断任一请求字段名是否存在验证规则,如果是,利用与当前请求字段名相对应的验证规则直接生成参数规则生成模型,所述参数规则生成模型用于生成符合规则要求的测试实例,如果否,将所述基础数据中与当前请求字段名对应的数据输入深度学习模型,以输出与当前请求字段名对应的参数规则生成模型;
步骤5)、采用步骤4)生成的所述参数规则生成模型生成测试样例。


2.根据权利要求1所述的基于插桩函数辅助提高生成测试用例效率的方法,其特征在于,还包括步骤6)、采用步骤5)生成的测试样例进行请求重发,获取验证请求的响应数据,并利用插桩函数获取自定义验证函数对当前请求的参数验证结果,将当前获得的响应数据和参数验证结果反馈给所述深度学习模型,以优化所生成的参数规则生成模型。


3.根据权利要求1所述的基于插桩函数辅助提高生成测试用例效率的方法,其特征在于,所述深度学习模型对所述基础数据的处理过程为:将当前请求字段名、请求字段值、请求字段名与请求字段值之间的映射关系以及相同请求的请求次数作为输入数据,将与当前请求字段名对应的响应数据作为期望的输出值,利用监督学习算法分析和训练数据,以输出所述参数规则生成模型。


4.根据权利要求3所述的基于插桩函数辅助提高生成测试用例效率的方法,其特征在于,所述深度学习模型还可根据随机数据生成算法生成随机测试数据,所述随机测试数据用于测试所述监督学习算法生成的所述参数规则生成模型是否正确。


5.一种基于插桩函数辅助提高自动生成测试用例效率的系统,其特征在于,包括插桩模块、请求收集模块、请求分析处理模块、规则模型生成模块和测试样例生成模块;
所述插桩模块,用于利用插桩函数插桩待测试web应用中的通用验证函数和用户自定义的自定义验证函数的代码路径;
所述请求收集模块,用于收集并保存所述web应用通过网络发出的请求数据,同时通过所述插桩模块中的插桩函数从所述通用验证函数中获取请求参数...

【专利技术属性】
技术研发人员:刘海涛万振华王颉李华董燕
申请(专利权)人:深圳开源互联网安全技术有限公司
类型:发明
国别省市:广东;44

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

1