CN111752831A - 健壮性检测方法、装置、计算机设备及存储介质 - Google Patents

健壮性检测方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN111752831A
CN111752831A CN202010578572.3A CN202010578572A CN111752831A CN 111752831 A CN111752831 A CN 111752831A CN 202010578572 A CN202010578572 A CN 202010578572A CN 111752831 A CN111752831 A CN 111752831A
Authority
CN
China
Prior art keywords
robustness
network request
modification
request data
data
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
CN202010578572.3A
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.)
Beijing Kuxun Technology Co Ltd
Beijing Sankuai Online Technology Co Ltd
Original Assignee
Beijing Sankuai Online 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 Beijing Sankuai Online Technology Co Ltd filed Critical Beijing Sankuai Online Technology Co Ltd
Priority to CN202010578572.3A priority Critical patent/CN111752831A/zh
Publication of CN111752831A publication Critical patent/CN111752831A/zh
Pending legal-status Critical Current

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/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)
  • Debugging And Monitoring (AREA)

Abstract

本申请关于一种健壮性检测方法、装置、计算机设备及存储介质,涉及软件检测领域,所述方法包括:基于至少为两个修改模式的权重,通过分配算法从修改模式中随机选取目标修改模式;通过代理服务拦截网络请求数据;根据测试场景和目标修改模式,对网络请求数据进行修改;将修改后的网络请求数据发送给测试对象,以获取测试对象在修改后的网络请求数据后表现的健壮性问题。通过上述方法,在健壮性检测过程中,可以基于测试场景对网络请求数据修改,从而实现健壮性检测的自动化,扩大测试覆盖率,同时降低人力成本。

Description

健壮性检测方法、装置、计算机设备及存储介质
技术领域
本申请涉及软件检测领域,特别涉及一种健壮性检测方法、装置、计算机设备及存储介质。
背景技术
目前移动端应用程序高速发展,业务模式随着用户增长而复杂多样,客户端和服务端需要进行高频次的发版上线以满足用户的需求。在庞大的用户数量下,如果出现由于服务端接口升级或服务端集群故障导致返回的数据不符合约定格式,进而出现大规模接口交互异常或应用程序崩溃,就会造成不可挽回的严重损失。因此需要对系统的健壮性进行测试。
在相关技术中,为了实现对系统健壮性的测试,往往通过人工输入测试接口定义,以单一的修改规则对测试数据进行修改更新,生成测试用例,将测试用例输入系统,以检测系统的健壮性。
然而,在上诉相关技术中,在相关技术中,通过人工输入测试接口定义,由于人工操作的限制,且修改是对字段根据类型对应单一规则,同一字段场景固定,因此导致测试覆盖度低,自动化程度低,同时又会带来较高的人力成本。
发明内容
本申请关于一种健壮性检测方法、装置、计算机设备及存储介质,可以实现健壮性检测的自动化,扩大测试覆盖率,同时降低人力成本,该技术方案如下:
一方面,提供了一种健壮性检测方法,所述方法由健壮性检测设备执行,所述方法包括:
基于至少为两个修改模式的权重,通过分配算法从所述修改模式中随机选取目标修改模式;
通过代理服务拦截网络请求对应的网络请求数据;
根据测试场景和所述目标修改模式,对所述网络请求数据进行修改;
将修改后的所述网络请求数据发送给测试对象,以获取所述测试对象在修改后的所述网络请求数据后表现的健壮性问题。
另一方面,提供了一种健壮性检测装置,所述装置用于健壮性检测设备中,所述装置包括:
选取模块,用于基于至少为两个修改模式的权重,通过分配算法从所述修改模式中随机选取目标修改模式;
拦截模块,用于通过代理服务拦截网络请求对应的网络请求数据;
修改模式,根据测试场景和所述目标修改模式,对所述网络请求数据进行修改;
发送模块,用于将修改后的所述网络请求数据发送给测试对象,以获取所述测试对象在修改后的所述网络请求数据后表现的健壮性问题。
在一些实施例中,所述装置还包括:
调整模块,用于基于所述测试对象表现的所述健壮性问题以及所述目标修改模式,调整所述修改模式的权重;
迭代模块,用于基于修改后的所述修改模式的权重,对所述健壮性检测方法进行迭代。
在一些实施例中,所述调整模块包括:
获取子模块,用于获取所述目标修改模式所对应的所述健壮性问题的数量;
权重加重子模块,用于加重所述修改模式中对应所述健壮性问题的数量大于数量阈值的所述目标修改模式的权重;
权重减轻子模块,用于减轻所述修改模式中对应所述健壮性问题的数量小于所述数量阈值的所述目标修改模式的权重。
在一些实施例中,所述修改模式包括但不限于网络请求数据的状态码异常模式,网络请求数据的数据异常模式,网络请求数据的数据结构被破坏模式。
在一些实施例中,所述网络请求数据的状态码异常模式包括:
修改所述网络请求数据的请求体Request Body或响应体Response Body为空null;
以及,修改所述网络请求数据的响应码Response Code为404;
所述网络请求数据的数据异常模式,包括:
修改所述网络请求数据的Request Body或Response Body,以使所述网络请求数据生成新的数据结构;
所述网络请求数据的数据结构被破坏模式,包括:
修改所述网络请求的Request Body或Response Body,以使得所述网络请求数据的数据结构被破坏为非可迭代对象。
在一些实施例中,所述修改所述网络请求数据的Request Body或Response Body,以使所述网络请求数据生成新的数据结构,包括:
递归查找所述网络请求数据中的Body数据结构的所有字段;
通过分配算法对每个所述字段随机分配修改操作,对每个所述字段进行修改,以使得所述网络请求数据生成新的数据结构,所述修改操作是预先设置的,具有对应的权重占比,所述修改操作的数量至少为两个。
在一些实施例中,所述修改操作包括但不限于字段置空但不改变类型、字段删除、字段类型转变以及字段值改变但不改变类型。
在一些实施例中,所述测试场景包括接口健壮性检测场景以及前端健壮性检测场景;
其中,所述接口健壮性检测场景是指模拟将前端的请求数据修改后发送到服务器;
所述前端健壮性检测场景是指模拟将所述服务器返回的数据修改后传给所述前端。
在一些实施例中,所述接口健壮性检测场景对应修改Request Body;
所述前端健壮性检测场景对应修改Response Code以及Response Body。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器存储有至少一条指令、至少一条程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述本申请实施例中提供的健壮性检测方法。
另一方面,提供了一种计算机可读存储介质,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述本申请实施例中提供的健壮性检测方法。
另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的健壮性检测方法。
本申请提供的技术方案带来的有益效果至少包括:
在进行健壮性检测时,设置多种修改模式,且每种修改模式设置有对应的权重,通过分配算法随机选取目标修改模式,根据对应的测试场景和目标修改模式对通过代理服务拦截的网络请求数据进行修改,并将修改后的网络请求数据发送给测试对象,以获取测试对象对应的健壮性问题,根据健壮性问题和对应的修改模式对多种修改模式的权重进行调节,使得暴露出健壮性问题最多的修改模式的随机概率更高,从而实现健壮性检测的自动化,扩大测试覆盖率,同时降低人力成本。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一个示例性实施例提供的健壮性检测方法的流程图;
图2示出了本申请一示例性实施例提供的健壮性检测方法的流程图;
图3示出了本申请一个示例性的实施例提供的电子设备的结构示意图;
图4示出了本申请一示例性实施例提供的健壮性检测装置的方框图;
图5是根据一示例性实施例示出的计算机设备的结构框图;
图6是根据一示例性实施例示出的计算机设备的结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
应当理解的是,在本文中提及的“若干个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,对本申请实施例中涉及的名词进行简单的介绍:
1)健壮性
健壮性是指在异常情况下,软件还能正常运行的能力。健壮性可以包括两层含义,一是容错能力,二是恢复能力。
系统的健壮性一般从以下几个方面来考虑:
(1)通过:系统输入参数后应该产生预期的正常结果。
(2)灾难性失效:这是系统健壮性中最严重的失效,当这种失效发生后只有通过重新引导才能恢复,如重启系统或计算机。
(3)重启失效:系统函数调用没有返回,使得调用它的程序挂起或停止。
(4)夭折失效:在程序运行过程中出现异常输入,导致系统发生错误使程序中止。
(5)沉寂失效:异常输入时,系统应该返回错误提示信息,但是在测试过程中并未返回任何异常信息。
(6)干扰失效:当系统出现异常时,错误信息也返回了,但并不是期望的错误信息,即输入与结果不匹配。
良好的健壮性设计需要考虑以下几个方面的内容,同时这也是测试需要注意的几个方面:
(1)可移植性:健壮性检测基准程序用来比较不同系统的健壮性,因此必须支持在多系统之间可移植。
(2)覆盖率:理想的基准程序应该能够覆盖所有的系统模块,但这样开销巨大,因此在测试过程中一般选取优先级高的模块进行测试,并且有针对性地对模块异常使用进行测试。
(3)可扩展性:指当前的基准程序是否能提供一种途径,来保证系统升级或模块扩展能力。
2)健壮性检测(Robustness Testing)
健壮性检测,又称容错性测试(Fault Tolerance Testing),用于测试系统在出现故障时,是否能够自动恢复或者忽略故障继续运行。
健壮性检测的内容可以包括:
(1)对关键进程或线程杀死,然后观察系统行为;
(2)对关键进程或线程挂起,然后观察系统行为;
(3)网络不通,然后观察系统行为;
(4)数据库不通,然后观察系统行为。
3)测试用例(Test Case)
测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。通俗的讲:就是把测试系统的操作步骤用按照一定的格式用文字描述出来。其将软件测试的行为活动做一个科学化的组织归纳,目的是能够将软件测试的行为转化成可管理的模式;同时测试用例也是将测试具体量化的方法之一,不同类别的软件,测试用例是不同的。不同于诸如系统、工具、控制、游戏软件,管理软件的用户需求更加不同的趋势。
4)body
body元素是定义文档的主体。body元素包含文档的所有内容(比如文本、超链接、图像、表格和列表等等。)body是用在网页中的一种HTML标签,标签是用在网页中的一种HTML标签,表示网页的主体部分,也就是用户可以看到的内容,可以包含文本、图片、音频、视频等各种内容。
目前移动端应用程序高速发展,业务模式随着用户增长而复杂多样。应用程序的用户数量庞大,业务场景繁多,客户端和服务端需要进行高频次的发版上线以满足用户的需求。在庞大的用户数量下,如果出现由于服务端接口升级或服务端集群故障导致返回的数据不符合约定格式,进而出现大规模接口交互异常或应用程序崩溃,就会造成不可挽回的严重损失。因此需要对系统的健壮性进行测试。
在相关技术中,为了实现对系统健壮性的测试,往往通过人工输入测试接口定义,以单一的修改规则对测试数据进行修改更新,生成测试用例,将测试用例输入系统,以检测系统的健壮性。
在上述相关技术中,通过人工输入测试接口定义,由于人工操作的限制,且修改是对字段根据类型对应单一规则,同一字段场景固定,因此导致测试覆盖度低,自动化低,同时又会带来较高的人力成本。
为解决上述相关技术中的问题,本申请提供了一种健壮性检测方法,可以实现健壮性检测的自动化,扩大测试覆盖率,同时降低人力成本。请参考图1,其示出了本申请一个示例性实施例提供的健壮性检测方法的流程图,该方法可以由健壮性检测设备执行,如图1所示,该方法可以包括:
步骤110,基于至少为两个修改模式的权重,通过分配算法从修改模式中随机选取目标修改模式。
其中,该修改模式是预先定义的,具有对应的权重占比,且该修改模式的数量至少为两个。
在一些实施例中,修改模式的权重是非固定的,可以基于修改模式的运行频次和修改模式在健壮性检测中发现健壮性问题的频次比例,动态调整修改模式的权重占比,以改变修改模式在分配算法的作用下被随机选取为目标修改模式的概率。
步骤120,通过代理服务拦截网络请求对应的网络请求数据;
网络请求数据是对应于网络请求的数据,网络请求可以是应用程序基于用户操作向服务器发送的用户请求数据,也可以是服务器基于应用程序发送的用户请求向应用程序反馈的网络数据。
其中,代理服务即代理服务器,它可以是一个软件,运行于某台计算机上,使用代理服务器的计算机与互联网(Internet)交换信息时都先将信息发给代理服务器,由其转发,并且将收到的应答回送给该计算机。
在一些实施例中,该代理服务可以是Fiddler,用以记录并检查计算机和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据,并且可以对这些数据进行修改。
步骤130,根据测试场景和目标修改模式,对网络请求数据进行修改。
在一些实施例中,不同的测试场景在同一修改模式中所对应的修改对象不同,也就是说,本申请实施例中,可以根据不同的测试场景生成与之相对应的测试用例,用以检测系统在该测试场景下的健壮性。
测试场景对应的是实际的业务场景,业务场景是业务流程中因不同额事件触发后的业务情景,比如,银行取款的业务办理流程,会因为用户的身份(VIP与否)、取款金额(大额,小额)、卡内余额(足额取,不足额取)等诸多因素,导致最后取款的结果和过程分支产生不同。测试场景就是对这类事件触发时的业务情景在质量角度的描述。而测试用例是对测试场景在测试范围和测试点的详细覆盖。
步骤140,将修改后的网络请求数据发送给测试对象,以获取测试对象在修改后的网络请求数据后表现的健壮性问题。
测试对象在接收到修改后的网络请求数据后,会基于修改后的网络请求数据进行相应的数据处理或者页面渲染,对于应用程序而言,当其接收到由健壮性检测设备修改过后的服务器发送的网络请求数据后,会根据修改后的网络请求数据,也就是异常网络请求数据进行页面显示,以向用户反馈对应的信息,在这一过程中,可以将在异常网络请求数据下渲染显示的页面,与正常网络请求数据下渲染显示的页面进行对比,以发现在该异常网络请求下的健壮性问题。
综上所述,本申请实施例提供的健壮性检测方法,在进行健壮性检测时,设置多种修改模式,且每种修改模式设置有对应的权重,通过分配算法随机选取目标修改模式,根据对应的测试场景和目标修改模式对通过代理服务拦截的网络请求数据进行修改,并将修改后的网络请求数据发送给测试对象,以获取测试对象对应的健壮性问题,由于健壮性检测过程中会基于测试场景进行网络数据修改,由此可以实现健壮性检测的自动化,扩大测试覆盖率,同时降低人力成本。
在一些实施例中,测试场景包括接口健壮性检测场景以及前端健壮性检测场景,下面以测试场景包括接口健壮性检测场景以及前端健壮性检测场景为例对本申请所述的健壮性检测方法进行说明,请参考图2,其示出了本申请一示例性实施例提供的健壮性检测方法的流程图,该方法可以由健壮性检测设备执行,如图2所示,该方法可以包括:
步骤210,基于至少为两个修改模式的权重,通过分配算法从修改模式中随机选取目标修改模式。
在一些实施例中,该修改模式包括但不限于网络请求数据的状态码异常(ErrorCode),网络请求数据的数据异常(Change Body),网络请求数据的数据结构被破坏(BrokenBody)。
其中,网络请求数据的状态码异常(Error Code)包括:
修改网络请求数据的Request Body(请求体)或Response Body(响应体)为null(空);
以及,修改网络请求数据的修改Response Code(响应码)为404。
网络请求数据的数据异常(Change Body),包括:
修改网络请求数据的Request Body或Response Body,以使网络请求数据生成新的数据结构。
网络请求数据的数据结构被破坏(Broken Body),包括:
修改网络请求的Request Body或Response Body,以使得网络请求数据的数据结构被破坏为非可迭代对象。
在一些实施例中,网络请求数据的数据信息中对该数据信息中的每个字段的属性都进行了定义,比如,字段的名称、必填属性(该字段是否必填)、长度、数据类型、是否允许为空等属性。
基于上述对数据信息中每个字段的属性定义,在一些实施例中,上述修改网络请求数据的Request Body或Response Body,以使网络请求数据生成新的数据结构,可以表现为:
递归查找网络请求数据中的Body数据结构的所有字段;
通过分配算法对每个字段随机分配修改操作,对每个字段进行修改,以使得网络请求数据生成新的数据结构,该修改操作是预先设置的,具有对应的权重占比,该修改操作的数量至少为两个。
在一些实施例中,修改操作包括但不限于字段置空但不改变类型(Empty)、字段删除(Del)、字段类型转变(Change Type)以及字段值改变但不改变类型(Change Value)。
在一些实施例中,可以基于修改模式为网络请求数据的数据异常模式对系统的健壮性检测结果,对网络请求数据的数据异常模式中预定的修改操作的权重进行调节,在经过多次迭代后,使得暴露问题多的修改操作在修改模式为网络请求的数据异常模式时,暴露问题多的修改才做的随机概率更高,即权重更大。
在一些实施例中,通过分配算法从修改模式中随机选取目标修改模式的过程可以实现为:
将所有修改模式的权重值求和,在0到权重和的区间内随机选取一个数字。然后循环执行如下操作:在修改模式列表中随机取出一个修改模式,将随机数字和其权重比较大小,如果随机数字小,则退出循环,将该修改模式作为结果;如果随机数字大,则从余下的修改模式列表中再取出一个修改模式,将该修改模式的权重和上一次取出的修改模式的权重累加,累加值再和随机数字进行比较。直到累加值大于随机数字,将最后一次取出的修改模式作为结果。
比如,所有修改模式的权重值的和为1,则在0到1的区间内随机选取一个数字,假设该数字为0.4;在修改模式列表中随机取出一个修改模式,将随机数字与其权重比大小,假设该修改模式的权重为0.5,由于0.5大于0.4,所以退出循环,并将该修改模式获取为目标修改模式;但若该修改模式的权重为0.2,由于0.2小于0.4,则从余下的修改模式列表中随机再取出一个修改模式,将该修改模式的权重和上一次取出的修改模式的权重累加,累加值再和随机数字进行比较,假设从余下修改模式中随机再取出的修改模式的权重为0.3,由于第一次取出的修改模式的权重,与第二次取出的修改模式的权重的和为0.5,大于0.4,因此退出循环,将第二次取出的修改模式作为目标修改模式。
步骤220,通过代理服务拦截网络请求对应的网络请求数据。
在本申请实施例中,健壮性检测场景包括前端健壮性检测场景和接口健壮性检测场景。
其中,接口健壮性测试场景是指模拟将前端的请求数据修改后发送到服务器;
前端健壮性检测场景是指模拟将服务器返回的数据修改后传给前端。
当测试场景为接口健壮性检测场景时,触发网络请求时,健壮性检测设备模拟前端将修改后的网络请求数据发送给服务器,相应的,服务器为测试对象;
当测试场景为前端健壮性检测场景时,触发网络请求时,健壮性检测设备模拟服务器将修改后的网络请求数据发送给前端,相应的,前端为测试对象。
其中,前端即网站前台部分,运行PC端(个人计算机,Personal Computer),移动端等浏览器上展现给用户浏览的网页。其中PC端和移动端可以实现为电子设备,比如,该电子设备可以是智能手机、平板电脑、电子书阅读器等移动终端,或者,该终端也可以是智能手表等智能可穿戴设备,或者,该终端也可以是一体式电脑等固定终端。请参考图3,其示出了本申请一个示例性的实施例提供的电子设备的结构示意图。如图3所示,该电子设备包括主板310、外部输出/输入设备320、存储器330、外部接口340、触控系统350以及电源360。
其中,主板310中集成有处理器和控制器等处理元件。
外部输出/输入设备320可以包括显示组件(比如显示屏)、声音播放组件(比如扬声器)、声音采集组件(比如麦克风)以及各类按键等。
存储器330中存储有程序代码和数据。
外部接口340可以包括耳机接口、充电接口以及数据接口等。
触控系统350可以集成在外部输出/输入设备320的显示组件或者按键中,触控系统350用于检测用户在显示组件或者按键上执行的触控操作。
电源360用于对终端中的其它各个部件进行供电。
步骤230,响应于该测试场景为前端健壮性检测场景,根据目标修改模式,对网络请求数据的Response Code和Response Body进行修改。
步骤240,响应于该测试场景为接口健壮性检测场景,根据目标修改模式,对Request Body进行修改。
前端健壮性检测场景和接口健壮性检测场景分别对应的修改对象存在不同,前端健壮性检测场景对应修改网络请求数据的Response Code和Response Body;接口健壮性检测场景对应修改网络请求数据的Request Body。
也就是说,也就是说对应于上述三种修改模式,在接口健壮性检测场景下,对应于网络请求数据的状态码异常模式,主要修改网络请求的Request Body为null;对应于网络请求数据的数据异常模式,主要修改网络请求数据的Request Body,以使网络请求数据生成新的数据结构;对应于网络请求数据的数据结构被破坏模式,主要修改网络请求的Request Body,以使得网络请求数据的数据结构被破坏为非可迭代对象。
在前端健壮性检测场景下,对应于网络请求数据的状态码异常模式,主要修改网络请求的Response Body为null,Response Code为404;对应于网络请求数据的数据异常模式,主要修改网络请求数据的Response Body,以使网络请求数据生成新的数据结构;对应于网络请求数据的数据结构被破坏模式,主要修改网络请求的Response Body,以使得网络请求数据的数据结构被破坏为非可迭代对象。
步骤250,将修改后的网络请求数据发送给测试对象,以获取测试对象在修改后的网络请求数据后表现的健壮性问题。
可选的,对于接口健壮性检测场景,健壮性问题反映在服务器接收修改后的由前端发送的请求数据,即异常数据,并对该异常数据做出响应的结果,与接收到未修改的由前端发送的请求数据,即正常数据,并对该正常数据做出响应的结果相对比,异常响应结果与正常响应结果存在的差异;
对于前端健壮性检测场景,健壮性问题反映在前端在接收到经修改后的由服务器发送的返回数据后的表现,比如应用崩溃,页面加载错误等。
步骤260,基于测试对象表现的健壮性问题以及目标修改模式,调整修改模式的权重。
在一些实施例中,上述步骤可以实现为:
步骤2601,获取目标修改模式所对应的健壮性问题的数量。
步骤2602,加重修改模式中对应健壮性问题的数量大于数量阈值的目标修改模式的权重。
步骤2603,减轻修改模式中对应健壮性问题的数量小于数量阈值的目标修改模式的权重。
在一些实施例中,健壮性检测设备中预设的至少两个修改模式的权重之和为固定值,在健壮性检测过,可以根据各个修改模式下暴露出的测试对象的健壮性问题的数目对健壮性检测设备中的至少两个修改模式的权重进行调节。
在一些实施例中,可以预设数量阈值,加重暴露出测试对象问题大于数量阈值的检测模式的权重,减轻暴露出测试对象问题小于数量阈值的测试模式的权重,以使得暴露出问题多的检测模式在分配算法的作用下被选中的概率增大。
在一些实施例中,可以根据修改模式对应的健壮性问题的数量对修改模式进行排序,根据修改模式对应的健壮性问题由高到低来调节各个修改模式的权重占比,比如可以预先设置权重规则,用来规定修改模式的权重与对应的健壮性问题数量之间的关系,假设有三种修改模式,那么可以设置对应的健壮性问题的数量最多的修改模式的权重为60%,对应的健壮性问题的数量最少的修改模式的权重为30%,对应的健壮性问题的数量中等的修改模式的权重为10%。
在一些实施例中,对同一测试场景的健壮性测试至少进行两次,在健壮性测试过程中,可以根据不同的修改模式所对应的暴露出来的健壮性问题的数量,选出针对该测试场景的,能暴露出健壮性问题更多的修改模式,从而对在该场景的下的修改模式的权重进行调解,加大暴露出健壮性问题多的修改模式的权重,减小暴露出健壮性问题少的修改模式的权重,以使得在分配算法随机选取目标修改模式时,随机选取到暴露出健壮性问题多的修改模式的概率提高。
在一些实施例中,根据本次运行中的健壮性问题的数目以及其对应的修改模式,对健壮性检测设备中的预设的修改模式的权重进行调节,在经过多次迭代后,使得暴露问题多的修改模式的随机概率更高,即权重更大。
步骤270,基于修改后的修改模式的权重,对健壮性检测方法进行迭代。
在系统测试过程中,测试内容是不断进行的,每次健壮性测试选择的修改模式都是随机的,在某些测试模式中对参数的修改也可以是随机的,以从各个场景,各个方面检测系统的健壮性,并且在健壮性检测过程中,针对不同的检测场景,通过每一次检测不断地进行各个模式的权重配置优化,以使得暴露问题多的修改模式的随机概率更高。
在一些实施例中,上述健壮性检测过程包括步骤210至步骤250的过程,也就是说,在健壮性检测的过程中,随着每一次的检测的进行,都会根据本次检测所对应的修改模式以及所暴露出的健壮性问题的数量,结合前几次检测的检测结果对该检测场景下健壮性检测设备中各个修改模式的权重进行调节优化,并将优化后的修改模式权重应用到下一次的检测当中。
在一些实施例中,上述优化后的修改模式权重可以应用于同类型的其他测试场景中。
综上所述,本申请实施例提供的健壮性检测方法,在进行健壮性检测时,设置多种修改模式,且每种修改模式设置有对应的权重,通过分配算法随机选取目标修改模式,根据对应的测试场景和目标修改模式对通过代理服务拦截的网络请求数据进行修改,并将修改后的网络请求数据发送给测试对象,以获取测试对象对应的健壮性问题,根据健壮性问题和对应的修改模式对多种修改模式的权重进行调节,使得暴露出健壮性问题最多的修改模式的随机概率更高,同时基于测试场景进行网络数据修改,实现健壮性检测的自动化,扩大测试覆盖率,同时降低人力成本。
请参考图4,其示出了本申请一示例性实施例提供的健壮性检测装置的方框图,该装置可以通过软件的形式实现为健壮性检测设备的全部或部分,以执行图1或图2对应实施例所示的方法的全部或部分步骤。如图4所示,该健壮性检测装置可以包括:
选取模块410,用于基于至少为两个修改模式的权重,通过分配算法从修改模式中随机选取目标修改模式;
拦截模块420,用于通过代理服务拦截网络请求对应的网络请求数据;
修改模块430,根据测试场景和目标修改模式,对网络请求数据进行修改;
发送模块440,用于将修改后的网络请求数据发送给测试对象,以获取测试对象在修改后的网络请求数据后表现的健壮性问题。
在一些实施例中,该装置还包括:
调整模块,用于基于测试对象表现的健壮性问题以及目标修改模式,调整修改模式的权重;
迭代模块,用于基于修改后的修改模式的权重,对健壮性检测方法进行迭代。
在一些实施例中,该调整模块包括:
获取子模块,用于获取目标修改模式所对应的所述健壮性问题的数量;
权重加重子模块,用于加重修改模式中对应健壮性问题的数量大于数量阈值的目标修改模式的权重;
权重减轻子模块,用于减轻修改模式中对应健壮性问题的数量小于数量阈值的目标修改模式的权重。
在一些实施例中,该修改模式包括但不限于网络请求数据的状态码异常模式,网络请求数据的数据异常模式,网络请求数据的数据结构被破坏模式。
在一些实施例中,网络请求数据的状态码异常模式包括:
修改网络请求数据的Request Body或Response Body为null;
以及,修改网络请求数据的Response Code为404;
网络请求数据的数据异常模式,包括:
修改网络请求数据的Request Body或Response Body,以使网络请求数据生成新的数据结构;
网络请求数据的数据结构被破坏模式,包括:
修改网络请求的Request Body或Response Body,以使得网络请求数据的数据结构被破坏为非可迭代对象。
在一些实施例中,修改网络请求数据的Request Body或Response Body,以使网络请求数据生成新的数据结构,包括:
递归查找网络请求数据中的Body数据结构的所有字段;
通过分配算法对每个字段随机分配修改操作,对每个字段进行修改,以使得网络请求数据生成新的数据结构,修改操作是预先设置的,具有对应的权重占比,修改操作的数量至少为两个。
在一些实施例中,修改操作包括但不限于字段置空但不改变类型、字段删除、字段类型转变以及字段值改变但不改变类型。
在一些实施例中,测试场景包括接口健壮性检测场景以及前端健壮性检测场景;
其中,接口健壮性检测场景是指模拟将前端的请求数据修改后发送到服务器;
前端健壮性检测场景是指模拟将服务器返回的数据修改后传给前端。
在一些实施例中,接口健壮性检测场景对应修改Request Body;
前端健壮性检测场景对应修改Response Code以及Response Body。
综上所述,本申请实施例提供的健壮性检测装置,应用在健壮性检测设备中,在进行健壮性检测时,设置多种修改模式,且每种修改模式设置有对应的权重,通过分配算法随机选取目标修改模式,根据对应的测试场景和目标修改模式对通过代理服务拦截的网络请求数据进行修改,并将修改后的网络请求数据发送给测试对象,以获取测试对象对应的健壮性问题,根据健壮性问题和对应的修改模式对多种修改模式的权重进行调节,使得暴露出健壮性问题最多的修改模式的随机概率更高,同时基于测试场景进行网络数据修改,实现健壮性检测的自动化,扩大测试覆盖率,同时降低人力成本。
图5是根据一示例性实施例示出的计算机设备的结构框图。该计算机设备500可以实现为上述方案中的健壮性检测设备。所述计算机设备500包括中央处理单元(CentralProcessing Unit,CPU)501、包括随机存取存储器(Random Access Memory,RAM)502和只读存储器(Read-Only Memory,ROM)503的系统存储器504,以及连接系统存储器504和中央处理单元501的系统总线505。所述计算机设备500还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(Input/Output系统,I/O系统)506,和用于存储操作系统513、应用程序514和其他程序模块515的大容量存储设备505。
所述基本输入/输出系统506包括有用于显示信息的显示器508和用于用户输入信息的诸如鼠标、键盘之类的输入设备509。其中所述显示器508和输入设备509都通过连接到系统总线505的输入输出控制器510连接到中央处理单元501。所述基本输入/输出系统506还可以包括输入输出控制器510以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器510还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备505通过连接到系统总线505的大容量存储控制器(未示出)连接到中央处理单元501。所述大容量存储设备505及其相关联的计算机可读介质为计算机设备500提供非易失性存储。也就是说,所述大容量存储设备505可以包括诸如硬盘或者只读光盘(Compact Disc Read-Only Memory,CD-ROM)驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读寄存器(Erasable Programmable Read Only Memory,EPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-OnlyMemory,EEPROM)、闪存或其他固态存储其技术,CD-ROM、数字多功能光盘(DigitalVersatile Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器504和大容量存储设备505可以统称为存储器。
根据本申请的各种实施例,所述计算机设备500还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备500可以通过连接在所述系统总线505上的网络接口单元511连接到网络512,或者说,也可以使用网络接口单元511来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理器501通过执行该一个或一个以上程序来实现图1或图2所示的方法的全部或者部分步骤。
本领域技术人员可以理解,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
图6是根据一示例性实施例示出的计算机设备600的结构框图。该计算机设备600可以是图3所示的电子设备,比如智能手机、平板电脑或台式电脑。计算机设备600还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,计算机设备600包括有:处理器601和存储器602。
处理器601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器601可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器601可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器601还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器602中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器601所执行以实现本申请中方法实施例提供的方法。
在一些实施例中,计算机设备600还可选包括有:外围设备接口603和至少一个外围设备。处理器601、存储器602和外围设备接口603之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口603相连。具体地,外围设备包括:射频电路604、触摸显示屏605、摄像头606、音频电路607、定位组件608和电源609中的至少一种。
外围设备接口603可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器601和存储器602。在一些实施例中,处理器601、存储器602和外围设备接口603被集成在同一芯片或电路板上;在一些其他实施例中,处理器601、存储器602和外围设备接口603中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路604用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路604通过电磁信号与通信网络以及其他通信设备进行通信。射频电路604将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路604包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路604可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路604还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏605用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏605是触摸显示屏时,显示屏605还具有采集在显示屏605的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器601进行处理。此时,显示屏605还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏605可以为一个,设置计算机设备600的前面板;在另一些实施例中,显示屏605可以为至少两个,分别设置在计算机设备600的不同表面或呈折叠设计;在再一些实施例中,显示屏605可以是柔性显示屏,设置在计算机设备600的弯曲表面上或折叠面上。甚至,显示屏605还可以设置成非矩形的不规则图形,也即异形屏。显示屏605可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-EmittingDiode,有机发光二极管)等材质制备。
摄像头组件606用于采集图像或视频。可选地,摄像头组件606包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件606还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路607可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器601进行处理,或者输入至射频电路604以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在计算机设备600的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器601或射频电路604的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路607还可以包括耳机插孔。
定位组件608用于定位计算机设备600的当前地理位置,以实现导航或LBS(Location Based Service,基于位置的服务)。定位组件608可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源609用于为计算机设备600中的各个组件进行供电。电源609可以是交流电、直流电、一次性电池或可充电电池。当电源609包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,计算机设备600还包括有一个或多个传感器610。该一个或多个传感器610包括但不限于:加速度传感器611、陀螺仪传感器612、压力传感器613、指纹传感器614、光学传感器615以及接近传感器616。
加速度传感器611可以检测以计算机设备600建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器611可以用于检测重力加速度在三个坐标轴上的分量。处理器601可以根据加速度传感器611采集的重力加速度信号,控制触摸显示屏605以横向视图或纵向视图进行用户界面的显示。加速度传感器611还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器612可以检测计算机设备600的机体方向及转动角度,陀螺仪传感器612可以与加速度传感器611协同采集用户对计算机设备600的3D动作。处理器601根据陀螺仪传感器612采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器613可以设置在计算机设备600的侧边框和/或触摸显示屏605的下层。当压力传感器613设置在计算机设备600的侧边框时,可以检测用户对计算机设备600的握持信号,由处理器601根据压力传感器613采集的握持信号进行左右手识别或快捷操作。当压力传感器613设置在触摸显示屏605的下层时,由处理器601根据用户对触摸显示屏605的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器614用于采集用户的指纹,由处理器601根据指纹传感器614采集到的指纹识别用户的身份,或者,由指纹传感器614根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器601授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器614可以被设置计算机设备600的正面、背面或侧面。当计算机设备600上设置有物理按键或厂商Logo时,指纹传感器614可以与物理按键或厂商Logo集成在一起。
光学传感器615用于采集环境光强度。在一个实施例中,处理器601可以根据光学传感器615采集的环境光强度,控制触摸显示屏605的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏605的显示亮度;当环境光强度较低时,调低触摸显示屏605的显示亮度。在另一个实施例中,处理器601还可以根据光学传感器615采集的环境光强度,动态调整摄像头组件606的拍摄参数。
接近传感器616,也称距离传感器,通常设置在计算机设备600的前面板。接近传感器616用于采集用户与计算机设备600的正面之间的距离。在一个实施例中,当接近传感器616检测到用户与计算机设备600的正面之间的距离逐渐变小时,由处理器601控制触摸显示屏605从亮屏状态切换为息屏状态;当接近传感器616检测到用户与计算机设备600的正面之间的距离逐渐变大时,由处理器601控制触摸显示屏605从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图6中示出的结构并不构成对计算机设备600的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本领域技术人员可以理解,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
本申请实施例还提供了一种计算机可读存储介质,用于存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述健壮性检测方法。例如,该计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述健壮性检测方法的全部或部分步骤。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (12)

1.一种健壮性检测方法,其特征在于,所述方法由健壮性检测设备执行,所述方法包括:
基于至少为两个修改模式的权重,通过分配算法从所述修改模式中随机选取目标修改模式;
通过代理服务拦截网络请求对应的网络请求数据;
根据测试场景和所述目标修改模式,对所述网络请求数据进行修改;
将修改后的所述网络请求数据发送给测试对象,以获取所述测试对象在修改后的所述网络请求数据后表现的健壮性问题。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述测试对象表现的所述健壮性问题以及所述目标修改模式,调整所述修改模式的权重;
基于修改后的所述修改模式的权重,对所述健壮性检测方法进行迭代。
3.根据权利要求2所述的方法,其特征在于,所述基于所述测试对象表现的所述健壮性问题以及所述目标修改模式,调整所述修改模式的权重,包括:
获取所述目标修改模式所对应的所述健壮性问题的数量;
加重所述修改模式中对应所述健壮性问题的数量大于数量阈值的所述目标修改模式的权重;
减轻所述修改模式中对应所述健壮性问题的数量小于所述数量阈值的所述目标修改模式的权重。
4.根据权利要求1所述的方法,其特征在于,所述修改模式包括但不限于网络请求数据的状态码异常模式,网络请求数据的数据异常模式,网络请求数据的数据结构被破坏模式。
5.根据权利要求4所述的方法,其特征在于,所述网络请求数据的状态码异常模式包括:
修改所述网络请求数据的请求体Request Body或响应体Response Body为空null;
以及,修改所述网络请求数据的响应码Response Code为404;
所述网络请求数据的数据异常模式,包括:
修改所述网络请求数据的Request Body或Response Body,以使所述网络请求数据生成新的数据结构;
所述网络请求数据的数据结构被破坏模式,包括:
修改所述网络请求的Request Body或Response Body,以使得所述网络请求数据的数据结构被破坏为非可迭代对象。
6.根据权利要求5所述的方法,其特征在于,所述修改所述网络请求数据的RequestBody或Response Body,以使所述网络请求数据生成新的数据结构,包括:
递归查找所述网络请求数据中的Body数据结构的所有字段;
通过分配算法对每个所述字段随机分配修改操作,对每个所述字段进行修改,以使得所述网络请求数据生成新的数据结构,所述修改操作是预先设置的,具有对应的权重占比,所述修改操作的数量至少为两个。
7.根据权利要求6所述的方法,其特征在于,所述修改操作包括但不限于字段置空但不改变类型、字段删除、字段类型转变以及字段值改变但不改变类型。
8.根据权利要求1所述的方法,其特征在于,所述测试场景包括接口健壮性检测场景以及前端健壮性检测场景;
其中,所述接口健壮性检测场景是指模拟将前端的请求数据修改后发送到服务器;
所述前端健壮性检测场景是指模拟将所述服务器返回的数据修改后传给所述前端。
9.根据权利要求8所述的方法,其特征在于,所述接口健壮性检测场景对应修改Request Body;
所述前端健壮性检测场景对应修改Response Code以及Response Body。
10.一种健壮性检测装置,其特征在于,所述装置应用于健壮性检测设备中,所述装置包括:
选取模块,用于基于至少为两个修改模式的权重,通过分配算法从所述修改模式中随机选取目标修改模式;
拦截模块,用于通过代理服务拦截网络请求对应的网络请求数据;
修改模块,根据测试场景和所述目标修改模式,对所述网络请求数据进行修改;
发送模块,用于将修改后的所述网络请求数据发送给测试对象,以获取所述测试对象在修改后的所述网络请求数据后表现的健壮性问题。
11.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器存储有至少一条指令、至少一条程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至9任一所述的健壮性检测方法。
12.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如权利要求1至9任一所述的健壮性检测方法。
CN202010578572.3A 2020-06-23 2020-06-23 健壮性检测方法、装置、计算机设备及存储介质 Pending CN111752831A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010578572.3A CN111752831A (zh) 2020-06-23 2020-06-23 健壮性检测方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010578572.3A CN111752831A (zh) 2020-06-23 2020-06-23 健壮性检测方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN111752831A true CN111752831A (zh) 2020-10-09

Family

ID=72676561

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010578572.3A Pending CN111752831A (zh) 2020-06-23 2020-06-23 健壮性检测方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN111752831A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112711566A (zh) * 2020-12-28 2021-04-27 广州品唯软件有限公司 跨服务Modify数据的共享使用方法、系统、设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112711566A (zh) * 2020-12-28 2021-04-27 广州品唯软件有限公司 跨服务Modify数据的共享使用方法、系统、设备及存储介质
CN112711566B (zh) * 2020-12-28 2024-06-21 广州品唯软件有限公司 跨服务Modify数据的共享使用方法、系统、设备及存储介质

Similar Documents

Publication Publication Date Title
CN110674022B (zh) 行为数据获取方法、装置及存储介质
CN111327694B (zh) 文件上传方法、装置、存储介质及电子设备
CN110058935B (zh) 日志级别调整方法、装置及系统、可读存储介质
CN111290896A (zh) 服务器压力的测试方法、装置、设备及介质
CN111061550A (zh) 任务处理方法、装置、设备及存储介质
CN109040339B (zh) 基于ajax的跨域请求处理方法、装置及设备
CN110515962B (zh) 缓存数据的方法、装置、电子设备及存储介质
CN114115647A (zh) 菜单项调整方法、装置及终端
CN110825465B (zh) 日志数据处理方法、装置、电子设备及存储介质
CN111752831A (zh) 健壮性检测方法、装置、计算机设备及存储介质
CN114168369A (zh) 日志显示方法、装置、设备及存储介质
CN111881423A (zh) 限制功能使用授权方法、装置、系统
CN111682983A (zh) 界面显示方法、装置、终端及服务器
CN111597797A (zh) 社交圈消息的编辑方法、装置、设备及介质
CN111258683A (zh) 检测方法、装置、计算机设备及存储介质
CN112148499A (zh) 数据上报方法、装置、计算机设备及介质
CN108132817B (zh) 对象管理方法及装置
CN110569064A (zh) 接口标识生成方法、装置、设备及存储介质
CN114143280B (zh) 会话显示方法、装置、电子设备及存储介质
CN112181915A (zh) 执行业务的方法、装置、终端和存储介质
CN115495169A (zh) 数据获取、页面生成方法、装置、设备及可读存储介质
CN112597417B (zh) 页面更新方法、装置、电子设备及存储介质
CN110032421B (zh) 内存中图集的管理方法、装置、终端及存储介质
CN114385939A (zh) 应用显示方法、应用显示系统、装置及设备
CN111523876A (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
TA01 Transfer of patent application right

Effective date of registration: 20230227

Address after: Room 507, Floor 5, Building 2, Yard 18, Haidian Suzhou Street, Haidian District, Beijing 100080

Applicant after: BEIJING KUXUN TECHNOLOGY Co.,Ltd.

Applicant after: BEIJING SANKUAI ONLINE TECHNOLOGY Co.,Ltd.

Address before: 100080 2106-030, 9 North Fourth Ring Road, Haidian District, Beijing.

Applicant before: BEIJING SANKUAI ONLINE TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right