CN107832221A - 基于Burpsuit插件的平台半自动化功能测试方法、装置及系统 - Google Patents

基于Burpsuit插件的平台半自动化功能测试方法、装置及系统 Download PDF

Info

Publication number
CN107832221A
CN107832221A CN201711129547.1A CN201711129547A CN107832221A CN 107832221 A CN107832221 A CN 107832221A CN 201711129547 A CN201711129547 A CN 201711129547A CN 107832221 A CN107832221 A CN 107832221A
Authority
CN
China
Prior art keywords
url
test
target
destination request
burpsuit
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.)
Pending
Application number
CN201711129547.1A
Other languages
English (en)
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.)
DBAPPSecurity Co Ltd
Original Assignee
DBAPPSecurity 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 DBAPPSecurity Co Ltd filed Critical DBAPPSecurity Co Ltd
Priority to CN201711129547.1A priority Critical patent/CN107832221A/zh
Publication of CN107832221A publication Critical patent/CN107832221A/zh
Pending legal-status Critical Current

Links

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/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种基于Burpsuit插件的平台半自动化功能测试方法、装置及系统,涉及自动化测试的技术领域,该方法包括:获取浏览器发送的目标请求,目标请求为对目标网站进行功能测试的请求;在目标请求中提取目标URL,并在配置文件中查找与目标URL相匹配的URL,其中,相匹配的URL中包含多个测试变量;基于目标URL中的URL参数和多个测试变量生成多个测试数据包,并将多个测试数据包发送至服务器中,以使服务器按照多个测试数据包对目标网站进行功能测试,缓解了现有的测试技术在进行软件测试时有效性较差的技术问题。

Description

基于Burpsuit插件的平台半自动化功能测试方法、装置及 系统
技术领域
本发明涉及自动化测试的技术领域,尤其是涉及一种基于Burpsuit插件的平台半自动化功能测试方法、装置及系统。
背景技术
随着科技的发展,软件开发速度越来越快,测试工作越来越繁重。迭代式的开发过程已逐渐取代传统的瀑布式开发,成为了目前最流行的软件开发过程。在迭代开发中强调在较短的时间间隔中产生多个可执行、可测试的软件版本,这就意味着必须对每次迭代产生的软件系统进行功能测试。
软件测试的一个显著特性就是重复,还要回归测试,回归测试中的重复操作容易让人产生厌烦,尤其是大量的工作量,效率会很低,如果使用纯手工测试的方法,将很难保证工作的进度和质量。如果使用自动化测试的方法,提交的bug不一定是有效的。
手工测试是传统的测试方法,由测试人员手工编写测试用例并手动执行测试用例,测试工作量大,重复多,第一次出现的bug回归测试时有时会难以复现,仅仅依赖手工测试的话会让测试过程过于低效,始终是软件发布过程的瓶颈,尤其是回归测试的重复工作量对测试人员造成了很大的压力。自动化测试是把人为的测试行为转化为机器执行测试,充分地利用测试资源,缩短软件发布的时间,但是自动化测试生来就是用脚本写成的,而不是像人一样具有探索性的,使用自动化测试的方法,提交的bug不一定是有效的。
针对上述问题,还未提出有效解决方案。
发明内容
有鉴于此,本发明的目的在于提供一种基于Burpsuit插件的平台半自动化功能测试方法、装置及系统,以缓解了现有的测试技术在进行软件测试时有效性较差的技术问题。
第一方面,本发明实施例提供了一种基于Burpsuit插件的平台半自动化功能测试方法,应用于Burpsuit插件,包括:获取浏览器发送的目标请求,所述目标请求为对目标网站进行功能测试的请求;在所述目标请求中提取目标URL,并在配置文件中查找与所述目标URL相匹配的URL,其中,所述相匹配的URL中包含多个测试变量;基于所述目标URL中的URL参数和所述多个测试变量生成多个测试数据包,并将所述多个测试数据包发送至服务器中,以使所述服务器按照所述多个测试数据包对所述目标网站进行功能测试。
进一步地,在所述目标请求中提取目标URL包括:判断在所述目标请求中是否包含所述目标网站的域名或者所述目标网站的IP地址;在判断出包含的情况下,在所述目标请求中提取所述目标URL。
进一步地,在所述目标请求中提取所述目标URL包括:判断在所述目标请求中是否包含所述目标URL的URL参数;如果判断出包含所述URL参数,则在所述目标请求中提取所述目标URL,以及提取所述目标URL的URL参数。
进一步地,基于所述目标URL中的URL参数和所述多个测试变量生成多个测试数据包包括:将每个测试变量按照顺序对应的插入至所述URL参数中,得到所述多个测试数据包,其中,一个测试变量对应一个测试数据包。
进一步地,在配置文件中查找与所述目标URL相匹配的URL包括:获取所述配置文件,其中,所述配置文件中包括多个预先设置的URL;将所述目标URL与所述配置文件中的URL进行匹配,得到与所述目标URL相匹配的URL,其中,所述相匹配的URL与所述目标URL中包含相同的请求类型。
进一步地,所述方法还包括:如果在所述配置文件中未匹配到与所述目标URL相匹配的URL,则生成日志信息,并将所述日志信息记录到日志文件中,以提示工作人员在所述配置文件中添加与所述目标URL相匹配的URL。
进一步地,所述方法还包括:获取所述服务器返回的每个测试变量的测试结果,其中,所述测试结果中包括第一测试结果和/或第二测试结果,所述第一测试结果表示测试变量的测试结果为正常的结果,所述第二测试结果表示测试变量的测试结果为非正常的结果;基于所述测试结果生成测试文档,并对所述测试文档进行存储。
第二方面,本发明实施例提供了一种基于Burpsuit插件的平台半自动化功能测试装置,安装于Burpsuit插件,包括:获取单元,用于获取浏览器发送的目标请求,所述目标请求为对目标网站进行功能测试的请求;提取查找单元,用于在所述目标请求中提取目标URL,并在配置文件中查找与所述目标URL相匹配的URL,其中,所述相匹配的URL中包含多个测试变量;生成单元,用于基于所述目标URL中的URL参数和所述多个测试变量生成多个测试数据包,并将所述多个测试数据包发送至服务器中,以使所述服务器按照所述多个测试数据包对所述目标网站进行功能测试。
第三方面,本发明实施例提供了一种基于Burpsuit插件的平台半自动化功能测试系统,所述装置包括处理器,存储器,总线和通信接口,所述处理器、通信接口和存储器通过所述总线连接;所述存储器用于存储程序;所述处理器,用于通过所述总线调用存储在所述存储器中的程序,执行上述描述的方法。
第四方面,本发明实施例提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述描述的方法。
在本发明实施例中,首先,通过Burpsuit插件获取浏览器发送的目标请求,然后,Burpsuit插件在目标请求中提取目标URL,并在配置文件中查找与目标URL相匹配的URL,最后,基于目标URL中的URL参数和相匹配的URL中的多个测试变量生成多个测试数据包,并将多个测试数据包发送至服务器中,以使服务器按照多个测试数据包对目标网站进行功能测试。在本发明实施例中,提供了一种基于Burpsuit插件的自动化测试方法,通过Burpsuit插件批量发送测试数据包,大大提高了测试效率,从而提高了测试覆盖率,降低了bug误报率,减轻了工作人员的压力,进而缓解了现有的测试技术在进行软件测试时有效性较差的技术问题。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的一种基于Burpsuit插件的平台半自动化功能测试方法的流程图;
图2是根据本发明实施例的一种配置文件中URL的内容示意图;
图3是根据本发明实施例的一种Scanner Logger菜单列的示意图;
图4是根据本发明实施例的一种基于Burpsuit插件的平台半自动化功能测试装置的示意图;
图5是根据本发明实施例的一种基于Burpsuit插件的平台半自动化功能测试系统的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
根据本发明实施例,提供了一种基于Burpsuit插件的平台半自动化功能测试方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种基于Burpsuit插件的平台半自动化功能测试方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,获取浏览器发送的目标请求,所述目标请求为对目标网站进行功能测试的请求;
步骤S104,在所述目标请求中提取目标URL,并在配置文件中查找与所述目标URL相匹配的URL,其中,所述相匹配的URL中包含多个测试变量;
步骤S106,基于所述目标URL中的URL参数和所述多个测试变量生成多个测试数据包,并将所述多个测试数据包发送至服务器中,以使所述服务器按照所述多个测试数据包对所述目标网站进行功能测试。
在本发明实施例中,首先,通过Burpsuit插件获取浏览器发送的目标请求;然后,Burpsuit插件在目标请求中提取目标URL,并在配置文件中查找与目标URL相匹配的URL;最后,基于目标URL中的URL参数和相匹配的URL中的多个测试变量生成多个测试数据包,并将多个测试数据包发送至服务器中,以使服务器按照多个测试数据包对目标网站进行功能测试。在本发明实施例中,提供了一种基于Burpsuit插件的自动化测试方法,通过Burpsuit插件批量发送测试数据包,大大提高了测试效率,从而提高了测试覆盖率,降低了bug误报率,减轻了工作人员的压力,进而缓解了现有的测试技术在进行软件测试时有效性较差的技术问题。
需要说明的是,在本发明实施例中,上述步骤S102至步骤S106所描述的过程是通过Burpsuit插件来实现的。该Burpsuit插件可以安装在终端侧来执行相关的测试功能。
在本发明实施例中,通过Burpsuit插件来执行测试用例,进而批量向服务器发送测试数据包,进行测试分析。其中,执行测试用例和批量发包的过程即为上述步骤S102至步骤S106所描述的步骤。其中,测试用例是指执行测试的行为案例,例如,访问登录案例。在本发明实施例中,将测试用例中的测试变量写在一个配置文件中,然后,利用Burpsuit插件从配置文件中读取测试用例的测试变量,并将测试变量以数据包的形式发送给服务器进行测试,测试变量是指测试用例中的可变参数。其中,测试用例中的测试变量指的是配置文件中所属于URL的测试变量。
在本发明实施例中,基于Burpsuit插件的半自动化功能测试方法,构建一个覆盖目标网站每一个功能的测试数据包,可以编写复杂的测试脚本来找出目标网站中隐藏的bug,从而减少测试过程中重复的手工劳动,提高测试效率,缩短了测试周期,正确地执行测试用例,人工准确地分析出测试结果,得到更加客观的测试报告。下面将结合具体的实施方式对本发明实施例进行介绍。
在一个可选的实施方式中,步骤S104,在所述目标请求中提取目标URL包括如下步骤:
步骤S1041,判断在所述目标请求中是否包含所述目标网站的域名或者所述目标网站的IP地址;
步骤S1042,在判断出包含的情况下,在所述目标请求中提取所述目标URL。
在本发明实施例中,浏览器生成的目标请求通过代理端口,使得目标网站的访问流量先经过Burpsuit插件。在本发明实施例中,预先在Burpsuit插件中设置了扫描的Target,在该Target中设置了目标网站的域名或IP地址信息。
Burpsuit插件在检测到访问流量之后,将判断目标请求中是否包含目标网站的域名或者IP地址。如果Burpsuit插件判断出访问流量中经过的域名或者IP地址为对目标网站的域名或者IP地址,则在目标请求中提取目标URL,其中,该目标URL即为目标请求中所包含的URL。如果Burpsuit插件判断出访问流量中经过的域名或者IP地址不是目标网站的域名或者IP地址,则不做任何处理。
在另一个可选的实施方式中,步骤S1042在所述目标请求中提取所述目标URL包括如下步骤:
步骤S11,判断在所述目标请求中是否包含所述目标URL的URL参数;
步骤S12,如果判断出包含所述URL参数,则在所述目标请求中提取所述目标URL,以及提取所述目标URL的URL参数。
步骤S13,如果在所述配置文件中未匹配到与所述目标URL相匹配的URL,则生成日志信息,并将所述日志信息记录到日志文件中,以提示工作人员在所述配置文件中添加与所述目标URL相匹配的URL。
需要说明的是,在本发明实施例中,Burpsuit插件主要是继承Burpsuit官方开放的接口。在Burpsuit插件的Scanner的options的Attack Insertion Points只选择URLparameter values和Body parameter values,即请求方式为get的参数和请求方式为post的参数。当Burpsuit插件Target中设置的域名或者IP地址的请求经过Burpsuit插件的时候,剥离出其目标请求中的URL(即,目标URL)和URL参数。在剥离URL参数之前,Burpsuit插件要判断该目标URL是否包含ULR参数。如果目标请求中存在ULR参数,则剥离获得目标请求中的URL,URL参数以及该参数的参数值。
如果目标请求中的目标URL没有在配置文件中匹配到对应的URL(即,相匹配的URL),则会生成日志信息,并将该日志信息记录到一个日志文件中,后续通过人工把这些URL及对应测试变量添加到配置文件中,然后,再从上述步骤102开始执行一遍,以确保所有URL都测试到。
在本发明实施例中,剥离目标请求的时候,有几种情况,一种是get方式的目标请求,另外一种是post方式的目标请求。
当剥离get方式的目标请求时,直接获得URL及“?”号后面的参数和参数值。post方式的目标请求有几种情况,一种是请求体是A=*&B=*的格式,此时,直接获取参数A和B的请求值;另一种是json格式的请求体,例如{“A”:”*”,”B”:”*”},此时,利用json解析把对应的A,B参数剥离出来;还有一种是multipart格式的请求体,例如:{------------Ij5gL6ei4Ef1KM7cH2KM7cH2KM7gL6Content-Disposition:form-data;name="***"},此时,可以通过导入multipart解析模块或者利用正则匹配剥离出各URL参数及参数值。
在本发明实施例中,在剥离出目标URL及其参数值之后,就可以在配置文件中查找与目标URL相匹配的URL。
在另一个可选的实施方式中,在配置文件中查找与所述目标URL相匹配的URL包括如下步骤:
步骤S1043,获取所述配置文件,其中,所述配置文件中包括多个预先设置的URL;
步骤S1044,将所述目标URL与所述配置文件中的URL进行匹配,得到与所述目标URL相匹配的URL,其中,所述相匹配的URL与所述目标URL中包含相同的请求类型。
在本发明实施例中,在剥离得到目标URL之后,读取配置文件,然后将获取的目标请求中的目标URL与配置文件中的URL做匹配。例如,目标请求为login请求,则在配置文件中匹配到包含login请求的URL,即相匹配的URL。在匹配到login请求之后,会获取login请求下面的至少一个测试变量。如图2所示,一行代表一个测试变量,测试变量也可以是空的。在图2所示,第一行为一个测试变量的一种情况,是用户名密码都存在的情况;第二行为一个测试变量的第二种情况,第二种情况是只存在用户名不存在密码的情况;第三行为一个测试变量的第三种情况,第三种是不存在用户名,存在密码的情况;第四行为一个测试变量的第四种情况,第四种是既不存在用户名也不存在密码的情况。如图2所示,各测试变量之间以“;”间隔。
在本发明实施例中,在得到相匹配的URL之后,就可以基于目标URL中的URL参数和多个测试变量生成多个测试数据包,具体过程描述如下:
将每个测试变量按照顺序对应的插入至所述URL参数中,得到所述多个测试数据包,其中,一个测试变量对应一个测试数据包。
在本发明实施例中,在得到相匹配的URL之后,可以将相匹配的URL所属的测试变量插入到对应的参数中,一行测试变量就是一个新的测试数据包,直到遇到“#”号,这个URL的测试变量就读取完成。
Burpsuit插件在获取到多个测试数据包之后,将测试数据包批量发送到服务器中,并将请求记录及返回结果均记录在ScannerLogger菜单列。
在另一个可选的实施方式中,该方法还包括如下步骤:
步骤S108,获取所述服务器返回的每个测试变量的测试结果,其中,所述测试结果中包括第一测试结果和/或第二测试结果,所述第一测试结果表示测试变量的测试结果为正常的结果,所述第二测试结果表示测试变量的测试结果为非正常的结果;
步骤S110,基于所述测试结果生成测试文档,并对所述测试文档进行存储。
在本发明实施例中,在通过上述步骤S102至步骤S106所描述的方式对目标网站的功能进行测试之后,Burpsuit插件将获取服务器返回的测试结果。该测试结果记录在log列中。测试结果中包括第一测试结果和第二测试结果,第一测试结果又可以称为正常的测试变量的请求结果,第二测试结果为异常的测试变量的请求结果。
Burpsuit插件在获取到第一测试结果和第二测试结果之后,将异常的测试变量的请求结果和正常的测试变量的请求结果做比较,把存在bug的请求记录到测试结果文档中。
下面将结合具体实施方式对上述实施例进行介绍。
1、浏览器生成一个目标请求,该目标请求为POST请求,表示为:POST1.1.1.1/admin/login,post内容为j_username=admin&j_password=1314;
2、目标请求先经过burpsuit插件,以使burpsuit插件剥离目标请求中的URL和URL参数,URL参数即为j_username和j_password;
3、再去匹配配置文件中的URL,能匹配上后,读取配置文件中匹配到的URL(即,上述相匹配的URL)的下一行中的测试变量,把两个测试变量的值按顺序分别放到两个URL参数中,即post内容为j_username=admin&j_password=123456形成新的数据包发到服务器;
4、同时读取下一行的变量放到原先的数据包,把两个测试变量的值按顺序分别放到两个参数中又形成新的数据包发到服务器,同步进行以提高效率;
5、将请求记录及返回结果都记录在Scanner Logger菜单列,如图3所示,一条记录对应一个测试变量,点击进去显示其请求包和返回包,人工分析后记录bug。
综上所述,本发明是基于Burpsuit插件进行半自动化功能测试的,利用被动触发Burpsuit插件,自动化把大量的测试变量比较高效,并发的去执行,匹配相对应的URL,测试变量放到测试数据包中和批量发送请求都同时会执行。主要利用Burpsuit开发的接口进行研发,Burpsuit工具扩展性很好,插件编写支持多种语言,例如java、python。
本发明既能对web平台进行功能测试,也能对APP应用进行功能测试,当然同理,也可以作为安全测试的一种方法。半自动化测试结合了自动化测试和人工测试,取了他们各自的优点,规避了各自的缺点,提高了测试工作的质量,减轻了测试人员的压力。
实施例二:
本发明实施例还提供了一种基于Burpsuit插件的平台半自动化功能测试装置,该基于Burpsuit插件的平台半自动化功能测试装置主要用于执行本发明实施例上述内容所提供的基于Burpsuit插件的平台半自动化功能测试方法,以下对本发明实施例提供的基于Burpsuit插件的平台半自动化功能测试装置做具体介绍。
图4是根据本发明实施例的一种基于Burpsuit插件的平台半自动化功能测试装置的示意图,如图4所示,该基于Burpsuit插件的平台半自动化功能测试装置主要包括:获取单元10,提取查找单元20和生成单元30,
获取单元10,用于获取浏览器发送的目标请求,所述目标请求为对目标网站进行功能测试的请求;
提取查找单元20,用于在所述目标请求中提取目标URL,并在配置文件中查找与所述目标URL相匹配的URL,其中,所述相匹配的URL中包含多个测试变量;
生成单元30,用于基于所述目标URL中的URL参数和所述多个测试变量生成多个测试数据包,并将所述多个测试数据包发送至服务器中,以使所述服务器按照所述多个测试数据包对所述目标网站进行功能测试。
在本发明实施例中,首先,通过Burpsuit插件获取浏览器发送的目标请求,然后,Burpsuit插件在目标请求中提取目标URL,并在配置文件中查找与目标URL相匹配的URL,最后,基于目标URL中的URL参数和相匹配的URL中的多个测试变量生成多个测试数据包,并将多个测试数据包发送至服务器中,以使服务器按照多个测试数据包对目标网站进行功能测试。在本发明实施例中,提供了一种基于Burpsuit插件的自动化测试方法,通过Burpsuit插件批量发送测试数据包,大大提高了测试效率,从而提高了测试覆盖率,降低了bug误报率,减轻了工作人员的压力,进而缓解了现有的测试技术在进行软件测试时有效性较差的技术问题。
可选地,提取查找单元包括:判断模块,用于判断在所述目标请求中是否包含所述目标网站的域名或者所述目标网站的IP地址;提取模块,用于在判断出包含的情况下,在所述目标请求中提取所述目标URL。
可选地,提取模块用于:判断在所述目标请求中是否包含所述目标URL的URL参数;如果判断出包含所述URL参数,则在所述目标请求中提取所述目标URL,以及提取所述目标URL的URL参数。
可选地,生成单元用于:将每个测试变量按照顺序对应的插入至所述URL参数中,得到所述多个测试数据包,其中,一个测试变量对应一个测试数据包。
可选地,提取查找单元还包括:获取模块,用于获取所述配置文件,其中,所述配置文件中包括多个预先设置的URL;匹配模块,用于将所述目标URL与所述配置文件中的URL进行匹配,得到与所述目标URL相匹配的URL,其中,所述相匹配的URL与所述目标URL中包含相同的请求类型。
可选地,该装置还用于:如果在所述配置文件中未匹配到与所述目标URL相匹配的URL,则生成日志信息,并将所述日志信息记录到日志文件中,以提示工作人员在所述配置文件中添加与所述目标URL相匹配的URL。
可选地,该装置还用于:获取所述服务器返回的每个测试变量的测试结果,其中,所述测试结果中包括第一测试结果和/或第二测试结果,所述第一测试结果表示测试变量的测试结果为正常的结果,所述第二测试结果表示测试变量的测试结果为非正常的结果;基于所述测试结果生成测试文档,并对所述测试文档进行存储。
本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
实施例三:
参见图5,本发明实施例还提供一种基于Burpsuit插件的平台半自动化功能测试系统100,包括:处理器50,存储器51,总线52和通信接口53,所述处理器50、通信接口53和存储器51通过总线52连接;处理器50用于执行存储器51中存储的可执行模块,例如计算机程序。
其中,存储器51可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口53(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线52可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器51用于存储程序,所述处理器50在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器50中,或者由处理器50实现。
处理器50可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器50中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器50可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器51,处理器50读取存储器51中的信息,结合其硬件完成上述方法的步骤。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本发明实施例所提供的一种基于Burpsuit插件的平台半自动化功能测试方法、装置及系统的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种基于Burpsuit插件的平台半自动化功能测试方法,其特征在于,应用于Burpsuit插件,包括:
获取浏览器发送的目标请求,所述目标请求为对目标网站进行功能测试的请求;
在所述目标请求中提取目标URL,并在配置文件中查找与所述目标URL相匹配的URL,其中,所述相匹配的URL中包含多个测试变量;
基于所述目标URL中的URL参数和所述多个测试变量生成多个测试数据包,并将所述多个测试数据包发送至服务器中,以使所述服务器按照所述多个测试数据包对所述目标网站进行功能测试。
2.根据权利要求1所述的方法,其特征在于,在所述目标请求中提取目标URL包括:
判断在所述目标请求中是否包含所述目标网站的域名或者所述目标网站的IP地址;
在判断出包含的情况下,在所述目标请求中提取所述目标URL。
3.根据权利要求2所述的方法,其特征在于,在所述目标请求中提取所述目标URL包括:
判断在所述目标请求中是否包含所述目标URL的URL参数;
如果判断出包含所述URL参数,则在所述目标请求中提取所述目标URL,以及提取所述目标URL的URL参数。
4.根据权利要求3所述的方法,其特征在于,基于所述目标URL中的URL参数和所述多个测试变量生成多个测试数据包包括:
将每个测试变量按照顺序对应的插入至所述URL参数中,得到所述多个测试数据包,其中,一个测试变量对应一个测试数据包。
5.根据权利要求1所述的方法,其特征在于,在配置文件中查找与所述目标URL相匹配的URL包括:
获取所述配置文件,其中,所述配置文件中包括多个预先设置的URL;
将所述目标URL与所述配置文件中的URL进行匹配,得到与所述目标URL相匹配的URL,其中,所述相匹配的URL与所述目标URL中包含相同的请求类型。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
如果在所述配置文件中未匹配到与所述目标URL相匹配的URL,则生成日志信息,并将所述日志信息记录到日志文件中,以提示工作人员在所述配置文件中添加与所述目标URL相匹配的URL。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述服务器返回的每个测试变量的测试结果,其中,所述测试结果中包括第一测试结果和/或第二测试结果,所述第一测试结果表示测试变量的测试结果为正常的结果,所述第二测试结果表示测试变量的测试结果为非正常的结果;
基于所述测试结果生成测试文档,并对所述测试文档进行存储。
8.一种基于Burpsuit插件的平台半自动化功能测试装置,其特征在于,安装于Burpsuit插件,包括:
获取单元,用于获取浏览器发送的目标请求,所述目标请求为对目标网站进行功能测试的请求;
提取查找单元,用于在所述目标请求中提取目标URL,并在配置文件中查找与所述目标URL相匹配的URL,其中,所述相匹配的URL中包含多个测试变量;
生成单元,用于基于所述目标URL中的URL参数和所述多个测试变量生成多个测试数据包,并将所述多个测试数据包发送至服务器中,以使所述服务器按照所述多个测试数据包对所述目标网站进行功能测试。
9.一种基于Burpsuit插件的平台半自动化功能测试系统,其特征在于,所述系统包括处理器,存储器,总线和通信接口,所述处理器、通信接口和存储器通过所述总线连接;
所述存储器用于存储程序;
所述处理器,用于通过所述总线调用存储在所述存储器中的程序,执行所述权利要求1-7中任一所述的方法。
10.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行上述权利要求1-7中任一所述的方法。
CN201711129547.1A 2017-11-15 2017-11-15 基于Burpsuit插件的平台半自动化功能测试方法、装置及系统 Pending CN107832221A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711129547.1A CN107832221A (zh) 2017-11-15 2017-11-15 基于Burpsuit插件的平台半自动化功能测试方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711129547.1A CN107832221A (zh) 2017-11-15 2017-11-15 基于Burpsuit插件的平台半自动化功能测试方法、装置及系统

Publications (1)

Publication Number Publication Date
CN107832221A true CN107832221A (zh) 2018-03-23

Family

ID=61654464

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711129547.1A Pending CN107832221A (zh) 2017-11-15 2017-11-15 基于Burpsuit插件的平台半自动化功能测试方法、装置及系统

Country Status (1)

Country Link
CN (1) CN107832221A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108600034A (zh) * 2018-05-28 2018-09-28 腾讯科技(深圳)有限公司 业务压力管理方法、装置、设备、系统及存储介质
CN109933533A (zh) * 2019-03-25 2019-06-25 杭州安恒信息技术股份有限公司 一种可视化数据测试方法、装置、设备及可读存储介质
CN110377500A (zh) * 2019-06-14 2019-10-25 平安科技(深圳)有限公司 网站页面的测试方法、装置、终端设备及介质
CN112181802A (zh) * 2020-08-21 2021-01-05 长沙市到家悠享网络科技有限公司 测试方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060179315A1 (en) * 2005-02-08 2006-08-10 Fujitsu Limited System and method for preventing fraud of certification information, and recording medium storing program for preventing fraud of certification information
CN101242279A (zh) * 2008-03-07 2008-08-13 北京邮电大学 用于web系统的自动化渗透性测试系统和方法
CN104268073A (zh) * 2014-09-05 2015-01-07 北京广利核系统工程有限公司 一种批量生成测试用例的方法
CN105279435A (zh) * 2014-06-11 2016-01-27 腾讯科技(深圳)有限公司 网页漏洞检测方法和装置
CN106649126A (zh) * 2016-12-29 2017-05-10 广州酷狗计算机科技有限公司 一种对应用程序进行测试的方法和装置
CN107181779A (zh) * 2016-03-10 2017-09-19 阿里巴巴集团控股有限公司 访问请求的处理方法、装置和系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060179315A1 (en) * 2005-02-08 2006-08-10 Fujitsu Limited System and method for preventing fraud of certification information, and recording medium storing program for preventing fraud of certification information
CN101242279A (zh) * 2008-03-07 2008-08-13 北京邮电大学 用于web系统的自动化渗透性测试系统和方法
CN105279435A (zh) * 2014-06-11 2016-01-27 腾讯科技(深圳)有限公司 网页漏洞检测方法和装置
CN104268073A (zh) * 2014-09-05 2015-01-07 北京广利核系统工程有限公司 一种批量生成测试用例的方法
CN107181779A (zh) * 2016-03-10 2017-09-19 阿里巴巴集团控股有限公司 访问请求的处理方法、装置和系统
CN106649126A (zh) * 2016-12-29 2017-05-10 广州酷狗计算机科技有限公司 一种对应用程序进行测试的方法和装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108600034A (zh) * 2018-05-28 2018-09-28 腾讯科技(深圳)有限公司 业务压力管理方法、装置、设备、系统及存储介质
CN108600034B (zh) * 2018-05-28 2020-07-03 腾讯科技(深圳)有限公司 业务压力管理方法、装置、设备、系统及存储介质
CN109933533A (zh) * 2019-03-25 2019-06-25 杭州安恒信息技术股份有限公司 一种可视化数据测试方法、装置、设备及可读存储介质
CN109933533B (zh) * 2019-03-25 2022-06-14 杭州安恒信息技术股份有限公司 一种可视化数据测试方法、装置、设备及可读存储介质
CN110377500A (zh) * 2019-06-14 2019-10-25 平安科技(深圳)有限公司 网站页面的测试方法、装置、终端设备及介质
WO2020248505A1 (zh) * 2019-06-14 2020-12-17 平安科技(深圳)有限公司 网站页面的测试方法、装置、终端设备及介质
CN112181802A (zh) * 2020-08-21 2021-01-05 长沙市到家悠享网络科技有限公司 测试方法及装置

Similar Documents

Publication Publication Date Title
CN105099811B (zh) 一种接口测试方法和装置
CN107832221A (zh) 基于Burpsuit插件的平台半自动化功能测试方法、装置及系统
CN109491905A (zh) 前端测试方法、装置及电子设备
US10339485B2 (en) Efficiently generating test cases
US20200082810A1 (en) System and method for mapping a customer journey to a category
CN105302815B (zh) 网页的统一资源定位符url的过滤方法和装置
CN108227954A (zh) 一种提供搜索输入联想词的方法、装置及电子设备
CN110020062A (zh) 一种可定制的网络爬虫方法及系统
CN110321154A (zh) 一种微服务的接口信息展示方法、装置及电子设备
CN111552633A (zh) 接口的异常调用测试方法、装置、计算机设备及存储介质
WO2015003664A1 (zh) 一种下载处理方法、装置、服务器及客户端设备
CN108074033A (zh) 指标数据的处理方法、系统、电子设备和存储介质
CN109062807B (zh) 测试应用程序的方法及装置、存储介质、电子装置
CN106649342A (zh) 数据采集平台中数据处理的方法及装置
CN112988608A (zh) 数据测试方法、装置、计算机设备及存储介质
CN109241722A (zh) 用于获取信息的方法、电子设备和计算机可读介质
CN103440199A (zh) 测试引导方法和装置
CN104967698B (zh) 一种爬取网络数据的方法和装置
CN105117340A (zh) 用于iOS浏览器应用质量评估的URL检测方法和装置
US20220198025A1 (en) Web Attack Simulator
CN109299002A (zh) 测试报告的生成方法、计算机可读存储介质及终端设备
TW201913478A (zh) 業務回饋方法及裝置、公車二維條碼支付業務的故障回饋方法
CN110209958B (zh) 专题制作方法、装置、终端及存储介质
CN110209577A (zh) 一种测试方法及装置
CN111104328A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180323

RJ01 Rejection of invention patent application after publication