CN111124937B - 基于插桩函数辅助提高生成测试用例效率的方法及系统 - Google Patents

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

Info

Publication number
CN111124937B
CN111124937B CN202010242792.9A CN202010242792A CN111124937B CN 111124937 B CN111124937 B CN 111124937B CN 202010242792 A CN202010242792 A CN 202010242792A CN 111124937 B CN111124937 B CN 111124937B
Authority
CN
China
Prior art keywords
request
verification
function
data
rule
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.)
Active
Application number
CN202010242792.9A
Other languages
English (en)
Other versions
CN111124937A (zh
Inventor
刘海涛
万振华
王颉
李华
董燕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Kaiyuan Internet Security Technology Co Ltd
Original Assignee
Shenzhen Kaiyuan Internet Security Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Kaiyuan Internet Security Technology Co Ltd filed Critical Shenzhen Kaiyuan Internet Security Technology Co Ltd
Priority to CN202010242792.9A priority Critical patent/CN111124937B/zh
Publication of CN111124937A publication Critical patent/CN111124937A/zh
Application granted granted Critical
Publication of CN111124937B publication Critical patent/CN111124937B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

基于插桩函数辅助提高生成测试用例效率的方法及系统
技术领域
本发明涉及web应用测试技术领域,尤其涉及一种基于插桩函数辅助提高生成测试用例效率的方法及系统。
背景技术
随着网络技术的发展,web应用的数据也有着指数型的增长,同时应用的接口数量也越来越多,为了保证应用程序正常运行,需要产品在上线前对其有着充分的测试,其中包括判断是否存在越权漏洞。常见的有基于请求重发,来测试业务功能是否正常,比如:某请求只允许管理员访问,但是如果以普通用户的身份重新发送该请求也能得到相同的响应结果,即可认为存在越权漏洞。为了做到成分测试,一般会多次运行测试实例,在系统测试过程中,往往需要测试人员编写大量的测试脚本,目前在编写测试脚本时存在如下问题:
1、纯手工编写,对测试人员的水平要求较高。
2、借助配置文件生成,依然需要开发人员提供配置文件,版本迭代时,配置文件的维护也是一个问题。
3、借助机器学习自动生成测试脚本,当一个请求包含多个请求参数时,难以准确判断哪一个参数存在参数验证。
基于上述问题,造成现在编写测试脚本的效率比较低,不能满足实际工程需要。
发明内容
本发明的目的是提供一种基于插桩函数辅助提高生成测试用例效率的方法,以降低编写测试脚本的难度和提高编写测试脚本的效率。
本发明的另一目的是提供一种基于插桩函数辅助提高生成测试用例效率的系统,以降低编写测试脚本的难度和提高编写测试脚本的效率。
为了实现上述目的,本发明公开了一种基于插桩函数辅助提高生成测试用例效率的方法,其特征在于,包括:
步骤1)、利用插桩函数插桩待测试web应用中的通用验证函数和用户自定义的自定义验证函数的代码路径;
步骤2)、依次操作所述web应用中的所有功能模块,收集并保存所述web应用通过网络发出的请求数据,同时通过步骤1)中的插桩函数从所述通用验证函数中获取请求参数的验证规则,保存该验证规则至数据库;
步骤3)、对步骤2)中的所述请求数据进行分析处理,以得到基础数据,所述基础数据包括各个请求的URL、请求头、请求字段名、请求字段值、请求字段名与请求字段值之间的映射关系、请求字段名与所述验证规则的映射关系、相同请求的请求次数以及响应数据,将所述基础数据保存至数据库;
步骤4)、从所述数据库中提取出保存的验证规则和基础数据,根据请求字段名与验证规则的映射关系,判断任一请求字段名是否存在验证规则,如果是,利用与当前请求字段名相对应的验证规则直接生成参数规则生成模型,所述参数规则生成模型用于生成符合规则要求的测试实例,如果否,将所述基础数据中与当前请求字段名对应的数据输入深度学习模型,以输出与当前请求字段名对应的参数规则生成模型;
步骤5)、采用步骤4)生成的所述参数规则生成模型生成测试用例。
与现有技术相比,本发明基于插桩函数辅助提高生成测试用例效率的方法,首先,基于插桩函数自动提取请求的验证函数(包括通用验证函数和自定义验证函数),通过验证函数对请求参数进行验证,无需开发人员或测试人员深度了解请求接口的代码,从而有效降低了编写测试实例的难度;另外,本发明通过参数规则生成模型自动生成测试用例,对需要通用验证函数验证的请求,可直接通过通用验证函数直接生成参数规则生成模型,对于需要自定义验证函数验证的请求,可通过基于神经网络的深度学习模型自动生成参数规则生成模型,从而,在生成测试用例过程中,无须人工参与,而且准确性、速度快,有效提高测试用例的生成效率。
较佳地,还包括步骤6)、采用步骤5)生成的测试用例进行请求重发,获取验证请求的响应数据,并利用插桩函数获取自定义验证函数对当前请求的参数验证结果,将当前获得的响应数据和参数验证结果反馈给所述深度学习模型,以优化所生成的参数规则生成模型。
较佳地,所述深度学习模型对所述基础数据的处理过程为:将当前请求字段名、请求字段值、请求字段名与请求字段值之间的映射关系以及相同请求的请求次数作为输入数据,将与当前请求字段名对应的响应数据作为期望的输出值,利用监督学习算法分析和训练数据,以输出所述参数规则生成模型。
较佳地,所述深度学习模型还可根据随机数据生成算法生成随机测试数据,所述随机测试数据用于测试所述监督学习算法生成的所述参数规则生成模型是否正确。
本发明还公开一种基于插桩函数辅助提高自动生成测试用例效率的系统,其包括插桩模块、请求收集模块、请求分析处理模块、规则模型生成模块和测试用例生成模块;
所述插桩模块,用于利用插桩函数插桩待测试web应用中的通用验证函数和用户自定义的自定义验证函数的代码路径;
所述请求收集模块,用于收集并保存所述web应用通过网络发出的请求数据,同时通过所述插桩模块中的插桩函数从所述通用验证函数中获取请求参数的验证规则,保存该验证规则至数据库;
所述请求分析处理模块,用于对所述请求收集收集的所述请求数据进行分析处理,以得到基础数据并将该基础数据保存在数据库,所述基础数据包括各个请求的URL、请求头、请求字段名、请求字段值、请求字段名与请求字段值之间的映射关系、请求字段名与所述验证规则的映射关系、相同请求的请求次数以及响应数据;
所述规则模型生成模块,用于从所述数据库中提取出保存的验证规则和基础数据,并根据请求字段名与验证规则的映射关系,判断任一请求字段名是否存在验证规则,如果是,利用与当前请求字段名相对应的验证规则直接生成参数规则生成模型,如果否,将所述基础数据中与当前请求字段名对应的数据输入深度学习模型,以输出与当前请求字段名对应的参数规则生成模型,所述参数规则生成模型用于生成符合规则要求的测试实例;
所述测试用例生成模块,用于根据所述规则模型生成模块生成的所述参数规则生成模型自动生成测试用例。
较佳地,还包括请求验证模块,所述请求验证模块用于根据所述测试用例生成模块生成的测试用例进行请求重发,以获取验证请求的响应数据,并利用插桩函数获取自定义验证函数对当前请求的参数验证结果,并将当前获得的响应数据和参数验证结果反馈给所述深度学习模型,以优化所生成的参数规则生成模型。
较佳地,所述深度学习模型中设置有第一学习模块,当将当前请求字段名、请求字段值、请求字段名与请求字段值之间的映射关系以及相同请求的请求次数作为输入数据,将与当前请求字段名对应的响应数据作为期望的输出值输入所述深度学习模型中后,所述第一学习模块利用监督学习算法分析和训练数据,以输出所述参数规则生成模型。
较佳地,所述深度学习模型中设置有第二学习模块,所述第二学习模块用于根据输入所述深度学习模型中的基础数据采用随机数据生成算法生成随机测试数据,所述随机测试数据用于测试所述监督学习算法生成的所述参数规则生成模型是否正确。
本发明还公开一种基于插桩函数辅助提高自动生成测试用例效率的系统,其包括:
一个或多个处理器;
存储器;
以及一个或多个程序,其中一个或多个程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序包括用于执行如上所述的基于插桩函数辅助提高生成测试用例效率的方法的指令。
本发明还公开一种计算机可读存储介质,其包括测试用计算机程序,所述计算机程序可被处理器执行以完成如上所述的基于插桩函数辅助提高生成测试用例效率的方法。
附图说明
图1为本发明实施例基于插桩函数辅助提高生成测试用例效率的流程图。
图2为本发明实施例基于插桩函数辅助提高生成测试用例效率的系统架构图。
具体实施方式
为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
如同1所示,为提高web应用的测试用例的编写效率,本发明公开了一种基于插桩函数辅助提高生成测试用例效率的方法,其包括如下步骤:
步骤1)、待测试web应用启动时,通过代理的方式利用插桩函数插桩待测试web应用中的通用验证函数和用户自定义的自定义验证函数代码路径,通用验证函数和自定义验证函数均用于验证测试用例中的请求参数是否符合规则,通用验证函数指的是行业内大家都比较认可的第三方库验证框架提供的函数,如java的javax.validation以及js的jquery-validation等,用户自定义的自定义验证函数是指用户可以定义自己的参数验证接口或者方法,其中可能没有定义验证规则,而是用返回值标明校验结果。
步骤2)、依次操作web应用中的所有功能模块,即对web应用中的所有请求端口都触发一次,收集并保存web应用通过网络发出的请求数据,同时通过步骤1)中的插桩函数从通用验证函数中获取请求参数的验证规则(也即正则表达式),保存该验证规则至数据库;如,对于下面的运行代码,
@Validated
public class LdapDto extends LdapEntity {
@Size(max = 512)
private String userFilter;
@Size(max = 512)
private String groupFilter;
@Size(max = 512)
@RegExp(prefix = "user|admin")
private String ldapBindUser;
@Size(max = 512)
private String ldapBindPassword;
}
通过插桩函数检测到@Size或者@Regexp函数(通用验证函数),那么就可以提取出这两个通用验证函数里面的验证规则。
步骤3)、对步骤2)中的请求数据进行分析处理,以得到基础数据,基础数据包括各个请求的URL、请求头、请求字段名、请求字段值、请求字段名与请求字段值之间的映射关系、请求字段名与其所对应的验证规则的映射关系、相同请求的请求次数以及响应数据,将基础数据保存至数据库。
步骤4)、从数据库中提取出保存的验证规则和基础数据,根据请求字段名与验证规则的映射关系,判断任一请求字段名是否存在验证规则,
如果是,利用与当前请求字段名相对应的验证规则直接生成参数规则生成模型,
如果否,将基础数据中与当前请求字段名对应的数据输入深度学习模型,以输出与当前请求字段名对应的参数规则生成模型,
参数规则生成模型用于生成符合规则要求的测试实例。
步骤5)、在步骤4)中,对于每一个需要验证的字段名,均对应地生成一个参数规则生成模型,由于参数规则生成模型中具有与当前字段名对应的正则表达式,因此,通过各个参数规则生成模型自动生成符合规则的测试用例。
在上述实施例中,首先,基于插桩函数自动提取请求的验证函数(包括通用验证函数和自定义验证函数),通过验证函数对请求参数进行验证,无需开发人员或测试人员深度了解请求接口的代码,从而有效降低了编写测试实例的难度;另外,对需要通用验证函数验证的请求,可直接通过通用验证函数直接生成参数规则生成模型,对于需要自定义验证函数验证的请求,可通过基于神经网络的深度学习模型自动生成参数规则生成模型,从而,在生成测试用例过程中,无须人工参与,而且准确性、速度快,有效提高测试用例的生成效率。
进一步地,为了进一步优化处理生成的参数规则生成模型,使之生成的测试用例更加符合待测试web应用的要求,较佳地,还包括步骤6)、采用步骤5)生成的测试用例进行请求重发,获取验证请求的响应数据,并利用插桩函数获取自定义验证函数对当前请求的参数验证结果,将当前获得的响应数据和参数验证结果反馈给深度学习模型,以优化所生成的参数规则生成模型。在本实施例中,由于通用验证函数中的验证规则为直接获取的,因此通过通用验证函数中的验证规则生成的参数规则生成模型正常情况下不会出错,因此,在进行请求重发的过程中,如果某一条请求不能通过,可通过插桩函数快速定位到该请求中的某一字段名。如,一条请求中包含了两个字段,name和phone,步骤4)中分别给出了与这两个请求字段名对应的参数规则生成模型,在步骤6验证发现不通过,如果没有插桩函数,那么只能分别对name和phone字段进行调整来继续测试,通过插桩函数可以得到自定义验证函数中哪个参数验证失败,以便快速对对应的参数规则生成模型进行优化。
在上述实施例中,深度学习模型对基础数据的处理过程为:将当前请求字段名、请求字段值、请求字段名与请求字段值之间的映射关系以及相同请求的请求次数作为输入数据,将与当前请求字段名对应的响应数据作为期望的输出值,利用监督学习算法分析和训练数据,以输出参数规则生成模型。如,某请求字段名为phone,记录中的请求字段值分别为18914561234(出现次数1)、15678863467(出现次数1)等,那么利用监督学习算法可以推断出11位数字的符合手机正则的参数规则生成模型。又比如:某请求字段名称为type,记录中的请求字段值分别为user(出现次数4)和admin(出现次数6),响应数据状态为成功,利用监督学习算法推断该请求字段名的参数规则生成模型为user|admin。较佳地,为了提高深度学习模型输出的准确度,深度学习模型还可根据随机数据生成算法生成随机测试数据,随机测试数据用于测试监督学习算法生成的参数规则生成模型是否正确。如,某请求字段名type,在数据库中的数据样本中只出现了user和admin这两种场景,那么监督学习算法得出的结果只会在这两者中选择而不会出现第三者,但是为了提高测试的准确性,可以通过随机数据生成算法随机生成type值为test的数据样本进行测试,如果也能得到正确响应,说明之前学习得到的结果因为样本数量过少导致并不准确,如果得不到正确响应说明之前学习得到的结果是对的,所以深度学习模型输出的参数规则生成模型准确性就得到了进一步的保证。
为便于上述方法的执行,本发明还公开一种基于插桩函数辅助提高自动生成测试用例效率的系统,如图2,其包括插桩模块10、请求收集模块11、请求分析处理模块12、规则模型生成模块13和测试用例生成模块14;插桩模块10,用于利用插桩函数插桩待测试web应用中的通用验证函数和用户自定义的自定义验证函数的代码路径;请求收集模块11,用于收集并保存web应用通过网络发出的请求数据,同时通过插桩模块10中的插桩函数从通用验证函数中获取请求参数的验证规则,保存该验证规则至数据库;请求分析处理模块12,用于对请求收集收集的请求数据进行分析处理,以得到基础数据并将该基础数据保存在数据库,基础数据包括各个请求的URL、请求头、请求字段名、请求字段值、请求字段名与请求字段值之间的映射关系、请求字段名与验证规则的映射关系、相同请求的请求次数以及响应数据;规则模型生成模块13,用于从数据库中提取出保存的验证规则和基础数据,并根据请求字段名与验证规则的映射关系,判断任一请求字段名是否存在验证规则,如果是,利用与当前请求字段名相对应的验证规则直接生成参数规则生成模型,如果否,将基础数据中与当前请求字段名对应的数据输入深度学习模型,以输出与当前请求字段名对应的参数规则生成模型,参数规则生成模型用于生成符合规则要求的测试实例;测试用例生成模块14,用于根据规则模型生成模块13生成的参数规则生成模型自动生成测试用例。较佳地,还可设置请求验证模块15,请求验证模块15用于根据测试用例生成模块14生成的测试用例进行请求重发,以获取验证请求的响应数据,并利用插桩函数获取自定义验证函数对当前请求的参数验证结果,并将当前获得的响应数据和参数验证结果反馈给深度学习模型,以优化所生成的参数规则生成模型。进一步地,深度学习模型中设置有第一学习模块,当将当前请求字段名、请求字段值、请求字段名与请求字段值之间的映射关系以及相同请求的请求次数作为输入数据,将与当前请求字段名对应的响应数据作为期望的输出值输入深度学习模型中后,第一学习模块利用监督学习算法分析和训练数据,以输出参数规则生成模型。较佳地,深度学习模型中设置有第二学习模块,第二学习模块用于根据输入深度学习模型中的基础数据采用随机数据生成算法生成随机测试数据,随机测试数据用于测试监督学习算法生成的参数规则生成模型是否正确。关于本实施例中的基于插桩函数辅助提高自动生成测试用例效率的系统的具体工作原理和过程详见上述基于插桩函数辅助提高自动生成测试用例效率的方法,在此不再赘述。
本发明还公开一种基于插桩函数辅助提高自动生成测试用例效率的系统,其包括一个或多个处理器、存储器以及一个或多个程序,其中一个或多个程序被存储在存储器中,并且被配置成由一个或多个处理器执行,程序包括用于执行如上所述的基于插桩函数辅助提高生成测试用例效率的方法的指令。
另外,本发明还公开一种计算机可读存储介质,其包括测试用计算机程序,计算机程序可被处理器执行以完成如上所述的基于插桩函数辅助提高生成测试用例效率的方法。
以上所揭露的仅为本发明的优选实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明申请专利范围所作的等同变化,仍属本发明所涵盖的范围。

Claims (10)

1.一种基于插桩函数辅助提高生成测试用例效率的方法,其特征在于,包括:
步骤1)、利用插桩函数插桩待测试web应用中的通用验证函数和用户自定义的自定义验证函数的代码路径;
步骤2)、依次操作所述web应用中的所有功能模块,收集并保存所述web应用通过网络发出的请求数据,同时通过步骤1)中的插桩函数从所述通用验证函数中获取请求参数的验证规则,保存该验证规则至数据库;
步骤3)、对步骤2)中的所述请求数据进行分析处理,以得到基础数据,所述基础数据包括各个请求的URL、请求头、请求字段名、请求字段值、请求字段名与请求字段值之间的映射关系、请求字段名与所述验证规则的映射关系、相同请求的请求次数以及响应数据,将所述基础数据保存至数据库;
步骤4)、从所述数据库中提取出保存的验证规则和基础数据,根据请求字段名与验证规则的映射关系,判断任一请求字段名是否存在验证规则,如果是,利用与当前请求字段名相对应的验证规则直接生成参数规则生成模型,所述参数规则生成模型用于生成符合规则要求的测试实例,如果否,将所述基础数据中与当前请求字段名对应的数据输入深度学习模型,以输出与当前请求字段名对应的参数规则生成模型;
步骤5)、采用步骤4)生成的所述参数规则生成模型生成测试用例。
2.根据权利要求1所述的基于插桩函数辅助提高生成测试用例效率的方法,其特征在于,还包括步骤6)、采用步骤5)生成的测试用例进行请求重发,获取验证请求的响应数据,并利用插桩函数获取自定义验证函数对当前请求的参数验证结果,将当前获得的响应数据和参数验证结果反馈给所述深度学习模型,以优化所生成的参数规则生成模型。
3.根据权利要求1所述的基于插桩函数辅助提高生成测试用例效率的方法,其特征在于,所述深度学习模型对所述基础数据的处理过程为:将当前请求字段名、请求字段值、请求字段名与请求字段值之间的映射关系以及相同请求的请求次数作为输入数据,将与当前请求字段名对应的响应数据作为期望的输出值,利用监督学习算法分析和训练数据,以输出所述参数规则生成模型。
4.根据权利要求3所述的基于插桩函数辅助提高生成测试用例效率的方法,其特征在于,所述深度学习模型还可根据随机数据生成算法生成随机测试数据,所述随机测试数据用于测试所述监督学习算法生成的所述参数规则生成模型是否正确。
5.一种基于插桩函数辅助提高自动生成测试用例效率的系统,其特征在于,包括插桩模块、请求收集模块、请求分析处理模块、规则模型生成模块和测试用例生成模块;
所述插桩模块,用于利用插桩函数插桩待测试web应用中的通用验证函数和用户自定义的自定义验证函数的代码路径;
所述请求收集模块,用于收集并保存所述web应用通过网络发出的请求数据,同时通过所述插桩模块中的插桩函数从所述通用验证函数中获取请求参数的验证规则,保存该验证规则至数据库;
所述请求分析处理模块,用于对所述请求收集收集的所述请求数据进行分析处理,以得到基础数据并将该基础数据保存在数据库,所述基础数据包括各个请求的URL、请求头、请求字段名、请求字段值、请求字段名与请求字段值之间的映射关系、请求字段名与所述验证规则的映射关系、相同请求的请求次数以及响应数据;
所述规则模型生成模块,用于从所述数据库中提取出保存的验证规则和基础数据,并根据请求字段名与验证规则的映射关系,判断任一请求字段名是否存在验证规则,如果是,利用与当前请求字段名相对应的验证规则直接生成参数规则生成模型,如果否,将所述基础数据中与当前请求字段名对应的数据输入深度学习模型,以输出与当前请求字段名对应的参数规则生成模型,所述参数规则生成模型用于生成符合规则要求的测试实例;
所述测试用例生成模块,用于根据所述规则模型生成模块生成的所述参数规则生成模型自动生成测试用例。
6.根据权利要求5所述的基于插桩函数辅助提高自动生成测试用例效率的系统,其特征在于,还包括请求验证模块,所述请求验证模块用于根据所述测试用例生成模块生成的测试用例进行请求重发,以获取验证请求的响应数据,并利用插桩函数获取自定义验证函数对当前请求的参数验证结果,并将当前获得的响应数据和参数验证结果反馈给所述深度学习模型,以优化所生成的参数规则生成模型。
7.根据权利要求5所述的基于插桩函数辅助提高自动生成测试用例效率的系统,其特征在于,所述深度学习模型中设置有第一学习模块,当将当前请求字段名、请求字段值、请求字段名与请求字段值之间的映射关系以及相同请求的请求次数作为输入数据,将与当前请求字段名对应的响应数据作为期望的输出值输入所述深度学习模型中后,所述第一学习模块利用监督学习算法分析和训练数据,以输出所述参数规则生成模型。
8.据权利要求7所述的基于插桩函数辅助提高自动生成测试用例效率的系统,其特征在于,所述深度学习模型中设置有第二学习模块,所述第二学习模块用于根据输入所述深度学习模型中的基础数据采用随机数据生成算法生成随机测试数据,所述随机测试数据用于测试所述监督学习算法生成的所述参数规则生成模型是否正确。
9.一种基于插桩函数辅助提高自动生成测试用例效率的系统,其特征在于,包括:
一个或多个处理器;
存储器;
以及一个或多个程序,其中一个或多个程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序包括用于执行如权利要求1至4任一项所述的基于插桩函数辅助提高生成测试用例效率的方法的指令。
10.一种计算机可读存储介质,其特征在于,包括测试用计算机程序,所述计算机程序可被处理器执行以完成如权利要求1至4任一项所述的基于插桩函数辅助提高生成测试用例效率的方法。
CN202010242792.9A 2020-03-31 2020-03-31 基于插桩函数辅助提高生成测试用例效率的方法及系统 Active CN111124937B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010242792.9A CN111124937B (zh) 2020-03-31 2020-03-31 基于插桩函数辅助提高生成测试用例效率的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010242792.9A CN111124937B (zh) 2020-03-31 2020-03-31 基于插桩函数辅助提高生成测试用例效率的方法及系统

Publications (2)

Publication Number Publication Date
CN111124937A CN111124937A (zh) 2020-05-08
CN111124937B true CN111124937B (zh) 2020-07-03

Family

ID=70493918

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010242792.9A Active CN111124937B (zh) 2020-03-31 2020-03-31 基于插桩函数辅助提高生成测试用例效率的方法及系统

Country Status (1)

Country Link
CN (1) CN111124937B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112527657B (zh) * 2020-12-17 2022-08-30 展讯通信(上海)有限公司 单元测试中自动插桩的方法及设备
CN114327491B (zh) * 2022-03-07 2022-06-21 深圳开源互联网安全技术有限公司 源码插桩方法、装置、计算机设备和存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1952818B (zh) * 2005-10-22 2010-12-15 康佳集团股份有限公司 自动检验测试结果的程序单元测试方法
CN102053906A (zh) * 2009-10-30 2011-05-11 国际商业机器公司 用于收集程序运行时信息的系统和方法
CN101833500A (zh) * 2010-04-07 2010-09-15 南京航空航天大学 一种基于Agent的嵌入式软件智能测试方法
US20130055028A1 (en) * 2011-08-31 2013-02-28 Ebay Inc. Methods and systems for creating software tests as executable resources
CN105938454A (zh) * 2016-04-13 2016-09-14 珠海迈科智能科技股份有限公司 一种测试用例的生成方法及系统
US10474562B2 (en) * 2017-09-20 2019-11-12 Salesforce.Com Machine learning based ranking of test cases for software development
CN108416219A (zh) * 2018-03-18 2018-08-17 西安电子科技大学 一种Android二进制文件漏洞检测方法及系统
CN109379329B (zh) * 2018-09-05 2021-12-21 中国人民解放军战略支援部队信息工程大学 基于lstm的网络安全协议模糊测试方法及系统
CN110598418B (zh) * 2019-09-10 2020-10-16 深圳开源互联网安全技术有限公司 基于iast测试工具动态检测垂直越权的方法及系统

Also Published As

Publication number Publication date
CN111124937A (zh) 2020-05-08

Similar Documents

Publication Publication Date Title
CN110324311B (zh) 漏洞检测的方法、装置、计算机设备和存储介质
CN110427331B (zh) 基于接口测试工具自动生成性能测试脚本的方法
CN110688659B (zh) 基于iast测试工具动态检测水平越权的方法及系统
CN110287109B (zh) 协议接口的测试方法、装置、计算机设备及其存储介质
US11601462B2 (en) Systems and methods of intelligent and directed dynamic application security testing
CN110598418B (zh) 基于iast测试工具动态检测垂直越权的方法及系统
CN111797407B (zh) 一种基于深度学习模型优化的xss漏洞检测方法
CN111813701B (zh) 基于http的接口测试方法、装置、计算机设备及存储介质
CN107026773B (zh) 用于接口自动化测试的自动关联方法
CN111124937B (zh) 基于插桩函数辅助提高生成测试用例效率的方法及系统
CN112579437B (zh) 一种程序运行过程符合性验证方法
CN112367220B (zh) 一种接口测试方法、装置、存储介质及电子设备
CN111159044A (zh) 基于特征类型的自动化移动端rest协议模糊测试方法
CN115186274A (zh) 基于iast的安全测试方法及装置
Vardhan et al. Learning to verify safety properties
CN112256557B (zh) 程序回归测试方法、装置、系统、计算机设备及存储介质
CN115470152B (zh) 测试代码生成方法、测试代码生成装置以及存储介质
US20050203717A1 (en) Automated testing system, method and program product using testing map
CN111949537A (zh) 接口的测试方法、装置、设备和介质
CN107797917B (zh) 性能测试脚本生成方法及装置
CN112446030B (zh) 一种网页端的文件上传漏洞检测方法和装置
CN115934559A (zh) 表单智能测试系统的测试方法
CN115344490A (zh) 一种测试软件产品的方法、装置、存储介质及电子设备
CN113760753A (zh) 基于灰盒模糊技术的quic协议测试方法
CN114064489A (zh) 一种自动化测试方法、装置、设备及可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant