CN113656322B - 数据处理方法、装置、电子设备及计算机存储介质 - Google Patents

数据处理方法、装置、电子设备及计算机存储介质 Download PDF

Info

Publication number
CN113656322B
CN113656322B CN202110989436.8A CN202110989436A CN113656322B CN 113656322 B CN113656322 B CN 113656322B CN 202110989436 A CN202110989436 A CN 202110989436A CN 113656322 B CN113656322 B CN 113656322B
Authority
CN
China
Prior art keywords
test
script
information
flow
target object
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
CN202110989436.8A
Other languages
English (en)
Other versions
CN113656322A (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.)
Alibaba China Co Ltd
Original Assignee
Alibaba China 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 Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202110989436.8A priority Critical patent/CN113656322B/zh
Publication of CN113656322A publication Critical patent/CN113656322A/zh
Application granted granted Critical
Publication of CN113656322B publication Critical patent/CN113656322B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/3692Test management for test results analysis

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

数据处理方法、装置、电子设备及计算机存储介质
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种数据处理方法、装置、电子设备及计算机存储介质。
背景技术
在服务平台、应用程序等运行过程中,为了保证其可靠性和安全性,会对其进行健壮性测试,例如对服务平台或者应用程序进行攻防演练。所谓攻防演练是指攻击方在用于对目标对象(其可以是某个应用程序或者是某些服务、中间件等等)进行攻击的注入平台(如monkeyking平台、chaos平台、ahas平台、或apos平台等)上配置测试脚本,并使注入平台执行该测试脚本,以对目标对象进行攻击,从而测试其应对攻击的能力进而确定健壮性。
攻击方生成测试脚本中可能需要使用注入平台中的一个或多个小程序(如用于使得目标对象网络延迟的小程序、用于使目标对象网络包乱序的小程序等),而每个小程序都需要填写大量的参数,因而比较耗费精力,而且在填写参数时需要攻击方对参数的功能、限制等有较高的熟悉程度,且在参数填写完成后需要多次调试才能保证测试脚本能够顺利运行。这些问题导致健壮性测试耗时长、成本高,无法高效、频繁运行。
发明内容
有鉴于此,本申请实施例提供一种数据处理方案,以至少部分解决上述问题。
根据本申请实施例的第一方面,提供了一种数据处理方法,包括:获取用于进行目标对象的健壮性测试的测试配置请求,其中,所述测试配置请求中至少携带有所述目标对象的信息和测试方式的信息;获取与所述测试方式相匹配的测试流程的流程脚本,基于所述流程脚本确定与所述测试流程对应的至少一个测试执行脚本的配置信息,其中,所述测试执行脚本的配置信息中包含有所述测试执行脚本中与所述测试方式对应的静态参数的参数值;根据所述流程脚本、所述测试执行脚本的配置信息、以及待测试的所述目标对象的信息,生成与所述测试配置请求相匹配的测试脚本。
根据本申请实施例的第二方面,提供了一种数据处理装置,包括:第一获取模块,用于获取用于进行目标对象的健壮性测试的测试配置请求,其中,所述测试配置请求中至少携带有所述目标对象的信息和测试方式的信息;第二获取模块,用于获取与所述测试方式相匹配的测试流程的流程脚本,基于所述流程脚本确定与所述测试流程对应的至少一个测试执行脚本的配置信息,其中,所述测试执行脚本的配置信息中包含有所述测试执行脚本中与所述测试方式对应的静态参数的参数值;第一生成模块,用于根据所述流程脚本、所述测试执行脚本的配置信息、以及待测试的所述目标对象的信息,生成与所述测试配置请求相匹配的测试脚本。
根据本申请实施例的第三方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第一方面所述的数据处理方法对应的操作。
根据本申请实施例的第四方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的数据处理方法。
根据本申请实施例提供的数据处理方案,由于预置了流程脚本,因此可以从预置的流程脚本中获得与测试配置请求中的测试方式匹配的流程脚本,进而根据流程脚本确定对目标对象进行测试所需使用的测试执行脚本的配置信息,再根据流程脚本、测试执行脚本的配置信息和目标对象的信息生成测试脚本,这样可以减少生成测试脚本时需要人工配置的参数数量和测试脚本的调试时间,从而减少耗时,提升效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1A为根据本申请实施例一的一种数据处理方法的步骤流程图;
图1B为一种常规测试脚本配置界面的示意图;
图1C为图1A所示的实施例的场景示意图;
图2A为根据本申请实施例二的一种数据处理方法的步骤流程图;
图2B为图2A所示实施例中的一种信息配置界面的示意图;
图3为根据本申请实施例三的一种数据处理装置的结构框图;
图4为根据本申请实施例四的一种电子设备的结构示意图。
具体实施方式
为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请实施例保护的范围。
下面结合本申请实施例附图进一步说明本申请实施例具体实现。
实施例一
参照图1A,示出了本申请实施例一的数据处理方法的步骤流程图。
常规的攻防演练过程中,攻击方通过注入平台提供的管理界面(如图1B所示)配置测试时使用的不同小程序(其为用于实现不同攻击功能的脚本),并填写涉及的小程序中相应的参数,然后注入平台根据攻击方配置的小程序以及小程序的参数生成对应的测试脚本,以在后续过程中执行测试脚本对目标对象进行测试。在此过程中,需要攻击方配置大量小程序并填写大量的小程序的参数,如果小程序配置顺序错误、或者参数填写有误都会导致测试脚本无法执行,需要进行多次调试才能保证其顺利执行,造成测试耗时长、无法常态化进行测试。
在本实施例中,以该方法应用于服务端为例进行说明,通过配置该方法可以实现测试脚本的抽象配置化,进而降低测试脚本生成的耗时、提升测试脚本生成的效率,以实现对目标对象健壮性测试的常态化。具体地,该方法包括以下步骤:
步骤S102:获取用于进行目标对象的健壮性测试的测试配置请求。
所述测试配置请求中至少携带有所述目标对象的信息和测试方式的信息。目标对象的信息用于指示待测试的目标对象,其可以是目标对象的标识,如名称、编号、或代号等等。待测试的目标对象可以是应用程序(如客户端应用程序,服务端应用程序或者中间件等)。
测试方式的信息用于指示攻击方配置的攻击方式,针对不同的目标对象可以配置不同的测试方式。例如,对于应用程序A可以配置使其网络延迟的测试方式,对于基于Java编写的应用程序B可以配置使Java产生内存溢出(OutOfMemory)异常的测试方式等。
在本实施例中,由于服务端配置了该数据处理方法,因此攻击方在生成测试脚本时只需要配置目标对象的信息和测试方式的信息即可,无需填写大量小程序的参数,节省了时间,降低了难度。
步骤S104:获取与所述测试方式相匹配的测试流程的流程脚本,基于所述流程脚本确定与所述测试流程对应的至少一个测试执行脚本的配置信息。
基于攻击方配置的测试方式,可以从预设的一个或一个以上的流程脚本中确定与之配置的流程脚本。该流程脚本用于指示测试流程涉及的测试阶段、以及各测试阶段需要使用的测试执行脚本(也可以称为小程序)。例如,测试方式为网络延迟,其对应流程脚本A,流程脚本A指示该测试方式涉及四个测试阶段,分别为测试阶段I、II、III和IV。其中,测试阶段I为攻击阶段,其需要使用测试执行脚本1,测试阶段II为攻击准备阶段,其不涉及使用测试执行脚本,测试阶段III为攻击检测阶段,其需要使用测试执行脚本2,测试阶段IV为攻击撤销阶段,其需要使用测试执行脚本3。
由于预先配置了流程脚本,并通过流程脚本指示了对应的测试方式需要使用的测试执行脚本及其时序,因此不需要攻击方手动对其进行配置,由此实现了使测试脚本生成过程抽象化、配置化,且减少了需要攻击方手动配置的内容,降低了劳动强度和耗时,提升了效率。
在本实施例中,所述测试执行脚本的配置信息中包含有所述测试执行脚本中与所述测试方式对应的静态参数的参数值。为了解决攻击方手动配置测试执行脚本中的参数造成的配置困难、配置容易出错导致后续需要多次调试的问题,本方法中预先设置测试执行脚本的配置信息,该信息中包含有测试执行脚本的静态参数的参数值,这样就不需要攻击方手动配置大量参数,而且预先配置的静态参数的参数值可以确保基于其生成的测试脚本能够稳定运行,进而节省了后续对测试脚本进行调试而占用的时间,不仅提升了测试脚本的生成效率,降低生成测试脚本的技术难度,而且提升了测试脚本运行的稳定性和可靠性。
不同的测试执行脚本的静态参数可能不同,对此不作限制。
步骤S106:根据所述流程脚本、所述测试执行脚本的配置信息、以及待测试的所述目标对象的信息,生成与所述测试配置请求相匹配的测试脚本。
在一种可行方式中,将流程脚本、测试执行脚本的配置信息和目标对象的信息发送给自动测试平台(其可以是注入平台),由自动测试平台基于流程脚本指示的测试流程不同测试阶段对应的测试执行脚本、各测试执行脚本对应的配置信息、以及目标对象的信息(其包括但不限于目标对象的标识和对应的测试地址)生成相应的测试脚本。
或者,在另一种可行方式中,服务端可以直接基于流程脚本指示的测试流程不同测试阶段对应的测试执行脚本、各测试执行脚本对应的配置信息、以及目标对象的信息(其包括但不限于目标对象的标识和对应的测试地址)生成相应的测试脚本。
在后续过程中通过执行测试脚本可以实现采用相应的测试方式对目标对象进行测试,以根据测试结果确定目标对象的健壮性。
下面结合一具体使用场景对该方法的实现过程进行说明如下:
攻击方可以使用信息配置界面(如图1C所示)输入目标对象的信息和测试方式的信息。其中,目标对象的信息中包含目标对象的标识和测试地址。以待测试的目标对象是应用程序A为例,目标对象的标识可以是应用程序A的名称,测试地址可以是应用程序A所在设备的IP地址等。测试方式可以是对其进行攻击以使其网络延迟,但不限于此。
基于攻击方输入的目标对象的信息和测试方式的信息可以生成测试配置请求发送给服务端。服务端根据测试配置请求,从预设的流程脚本中确定与测试方式匹配的测试流程的流程脚本。进而从预设的测试执行脚本的配置信息中获取流程脚本中指示测试流程需要的测试执行脚本的配置信息。测试执行脚本的配置信息中包含与所述测试方式对应的静态参数的参数值,这样就不需要攻击方手动配置这些静态参数的参数值,也避免了攻击方手动配置的参数值不符合规范导致测试执行脚本无法运行的问题。
根据流程脚本、确定的测试执行脚本的配置信息和目标对象的信息可以生成测试脚本,以便在后续需要时执行测试脚本,从而对目标对象进行测试。
通过本实施例,由于预置了流程脚本,因此可以从预置的流程脚本中获得与测试配置请求中的测试方式匹配的流程脚本,进而根据流程脚本确定对目标对象进行测试所需使用的测试执行脚本的配置信息,再根据流程脚本、测试执行脚本的配置信息和目标对象的信息生成测试脚本,这样可以减少生成测试脚本时需要人工配置的参数数量和测试脚本的调试时间,从而减少耗时,提升效率。
本实施例的数据处理方法可以由任意适当的具有数据处理能力的电子设备执行,包括但不限于:服务器、移动终端(如手机、PAD等)和PC机等。
实施例二
参照图2A,示出了本申请实施例二的数量处理方法的步骤流程图。
在本实施例中,以该方法配置在服务端(该服务端可以与注入平台配置在相同设备或不同设备上)为例进行说明。在本实施例中,该方法包括以下步骤:
步骤S200a:确定测试方式对应的测试流程涉及的测试阶段、各所述测试阶段间的时序关系、以及各所述测试阶段对应使用的测试执行脚本的标识。
为了提升健壮性测试的效率,减少需要攻击方手动输入测试流程不同的测试阶段以及各测试阶段对应的测试执行脚本,可以预先配置流程脚本,流程脚本用于指示某一测试方式对应的测试流程涉及的测试阶段、以及各测试阶段对应的测试执行脚本,这样有助于使测试流程规范化,且使得测试的攻击方生成测试脚本的难度更低。
在一种可行方式中,针对不同的测试方式可以确定其对应的测试流程涉及的测试阶段、各测试阶段间的时序关系以及各测试阶段使用的测试执行脚本的标识(例如测试执行脚本的代码、名称等等)。
例如,测试方式为使目标对象的网络延迟。其对应的测试流程涉及的测试阶段可以包括攻击阶段、攻击准备阶段、攻击检查阶段和攻击撤销阶段等4个测试阶段。其时序关系为前述的4个测试阶段依次执行。
攻击阶段使用的测试执行脚本的标识为“mkapp.default111.BlueArmy”,当然该标识可以根据需要适当确定,对此不作限制。
攻击准备阶段无需使用测试执行脚本,因此其对应的测试执行脚本的标识可以是空。
攻击检测阶段使用的测试执行脚本的标识可以表示为“mkapp.default222.BlueArmy”。
攻击撤销阶段使用的测试执行脚本的标识可以表示为“mkapp.default333.BlueArmy”。
步骤S200b:根据各所述测试阶段的时序关系和对应的测试执行脚本的标识,生成与所述测试方式对应的流程脚本。
基于确定测试阶段的时序关系和测试执行脚本的标识可以按照流程脚本的规范生成流程脚本。一种流程脚本的示例如下:
基于配置的流程脚本后续可以直接根据流程脚本生成测试脚本,从而减少攻击方需要配置的内容,以降低难度,提升效率。
除了可以配置流程脚本外还可以根据需要预先配置测试执行脚本的测试执行脚本的配置信息,该配置信息中可以定义测试执行脚本中静态参数的参数值。
不同的测试执行脚本可以实现的测试方式不同,其中的静态参数也可以不同。例如,一种实现网络包乱序的测试执行脚本的配置信息如下所示:
基于配置的流程脚本和测试执行脚本可以在后续进行测试脚本的生成。
步骤S202:获取用于进行目标对象的健壮性测试的测试配置请求。
所述测试配置请求中至少携带有所述目标对象的信息和测试方式的信息。目标对象的信息包含目标对象的标识(如名称、ID、编号或代码等)和目标对象所在设备的测试地址(如IP地址)等。
测试方式可以根据需要确定,例如,使远程过程调用服务框架(如HSF框架)抛出异常、TDDL更新数据篡改指定列值、JVM注入动态脚本、远程过程调用服务框架(如HSF框架)线程池满载、Java内存溢出的执行脚本、网络延迟、TDDL抛出异常、tair消费延迟、TDDL延迟、磁盘IO高等等。针对不同的测试方式可以预先配置不同的流程脚本、以及流程脚本中涉及的测试执行脚本对应的配置信息。
在一示例中,步骤S202可以实现为:获取通过信息配置界面以自然语言输入的测试配置请求,其中,所述测试配置请求中携带有所述目标对象的信息和测试方式的信息。
通过这种信息配置界面攻击方可以方便地输入目标对象的信息和测试方式的信息等内容,从而提升配置效率。除此之外,测试配置请求可以采用自然语言输入,解决了常规方式中需要配置测试执行脚本且配置测试执行脚本的参数存在的技术要求高,配置的准确性无法保证的问题,自然语言更容易理解,且对于技术较差的攻击方也可以方便、快速、高效地生成测试脚本,降低了测试的成本。
其中,获取通过信息配置界面以自然语言输入的测试配置请求,包括:展示以自然语言描述的、用于进行攻防测试的攻击方的信息配置界面(如图2B所示);接收通过所述信息配置界面以自然语言输入的目标对象的信息和针对所述目标对象的攻击测试方式的信息;根据所述攻击目标对象的信息和所述攻击方式的信息,生成攻击测试配置请求。
针对目标对象的信息中的目标对象的标识,攻击方可以输入目标对象的代码或者名称,或者是从下拉选单中选取需要攻击的目标对象的代码或者名称。
针对目标对象的信息中的测试地址可以根据攻击方选取的目标对象所处的分组、所在设备的机房、所在设备的单元、攻击范围中至少之一确定。
其中,分组包括但不限于处于研发状态的研发分组、处于测试状态的测试分组或者是处于线上运行状态的线上分组,由于处于不同分组的目标对象所在的设备可能不同进而导致测试地址不同,因此通过选择分组可以使测试地址更加准确。
机房用于指示运行目标对象的设备所处的机房。
攻击范围用于指示攻击目标对象所在设备中的全部或者任意一个或者按输入百分比选择。
以目标对象为应用程序A为例,测试方式可以是网络延迟。若其分组为线上分组、攻击范围为全部,则可以确定处于已经上线发布的应用程序A所在的全部设备的IP地址作为测试地址。
步骤S204:获取与所述测试方式相匹配的测试流程的流程脚本,基于所述流程脚本确定与所述测试流程对应的至少一个测试执行脚本的配置信息。
基于测试配置请求中的测试方式可以从预设的一个或一个以上的流程脚本中匹配出测试方式对应的流程脚本。例如,前述的测试方式为网络延迟,则匹配与网络延迟对应的流程脚本,该流程脚本中可以定义使目标对象网络延迟时的测试流程涉及的测试阶段,以及各测试阶段需要使用的测试执行脚本。所述测试执行脚本包括下述至少之一:用于使远程过程调用服务框架抛出异常的执行脚本、用于使远程过程调用服务框架线程池满载的执行脚本、用于使Java内存溢出的执行脚本、用于使目标对象所在的设备网络延迟超出设定值的执行脚本,但不限于此。
需要说明的是,本实施例中并不限定每个测试阶段均使用测试执行脚本,可以存在一个或多个测试阶段不需要使用测试执行脚本。
基于流程脚本可以确定测试方式需要使用的测试执行脚本,进而从预设的测试执行脚本的配置信息中获取测试方式需要使用的测试执行脚本的配置信息,所述测试执行脚本的配置信息中包含有所述测试执行脚本中与所述测试方式对应的静态参数的参数值。通过这种将测试执行脚本中的部分必要参数配置为静态参数,并使用配置信息确定其参数值的方式可以减少后续生成测试脚本时需要手动填写的参数的数量,而且可以保证参数值的准确性。
步骤S206:根据所述流程脚本、所述测试执行脚本的配置信息、以及待测试的所述目标对象的信息,生成与所述测试配置请求相匹配的测试脚本。
在一种可行方式中,步骤S206包括以下子步骤:
子步骤S2061:使用所述目标对象的信息中携带的测试地址和所述目标对象的标识,更新所述测试执行脚本的配置信息中可动态配置的地址参数和所述目标对象对应的目标参数的参数值。
对于测试执行脚本中可动态配置的地址参数和用于指示目标对象的目标参数的参数值可以根据测试配置请求中携带的目标对象的信息确定。例如,使用目标对象的信息中的目标对象的标识更新目标参数的参数值,使用目标对象的信息中的测试地址更新地址参数。
子步骤S2062:根据所述流程脚本和更新的所述测试执行脚本的配置信息,生成与所述测试配置请求相匹配的测试脚本。
其中,以通过自动测试平台(也称注入平台,如monkeyKing)生成测试脚本为例,子步骤S2062可以实现为:调用自动测试平台的脚本创建接口,并将所述流程脚本和更新后的所述测试执行脚本的配置信息发送至所述自动测试平台,以使所述自动测试平台根据所述流程脚本生成各测试阶段使用的测试执行脚本的调用方法,并根据各所述测试阶段的时序关系、各所述测试执行脚本的配置信息和对应的调用方法创建所述测试脚本。
自动测试平台的脚本创建接口可以接收流程脚本和更新后的测试执行脚本的配置信息,进而根据流程脚本确定需要使用的测试执行脚本生成相应的调用方法,进而按照流程脚本指示的测试阶段的时序关系,使用各测试执行脚本的配置信息和每个测试执行脚本的调用方法生成测试脚本。
后续在需要测试时可以由自动测试平台执行该测试脚本,以对目标对象进行测试,并根据测试结果确定目标对象的健壮性。
该方法实现了测试脚本生成的可配置化,通过将常规方式中需要攻击手动配置并生成的测试脚本抽象成一个或一个上的测试阶段,以形成完整测试流程,然后定义每一个测试阶段中需要使用的测试执行脚本,同时提取出各测试执行脚本保证可执行所需的小程序的必要参数作为静态参数对其参数值使用配置信息进行定义,这样无论是测试流程还是其中所需使用的测试执行脚本都可以采用配置化方式存储,形成流程脚本和测试执行脚本的配置信息,后续在生成需要的测试脚本时可以根据需要的测试方式进行自动化搜索和匹配,并根据匹配的流程脚本和测试执行脚本的配置信息生成测试脚本。
通过将测试流程和测试执行脚本的至少部分参数可配置化,在攻击方需要创建测试脚本时,可以在信息配置界面输入需要的参数,在信息配置界面中把测试脚本中所需的参数进行了分类,并使用自然语言进行描述,使得攻击方可以清晰获知参数含义,且需要填写参数也大大减少。在创建完成测试脚本后即可保证测试脚本能够执行,无需反复调试,很好地解决了场馆的测试脚本生成过程中成本高、参数填写复杂和调试耗时等问题。
通过流程脚本实现了测试流程的抽象化和可配置化,通过测试执行脚本的配置信息实现了测试执行脚本中至少部分参数的可配置化,减少需要填写的参数,也可以避免填写错误,提升了测试脚本的生成效率。
本实施例的数据处理方法可以由任意适当的具有数据处理能力的电子设备执行,包括但不限于:服务器、移动终端(如手机、PAD等)和PC机等。
实施例三
参照图3,示出了本申请实施例三的数据处理装置的结构框图。
在本实施例中,该数据处理装置,包括:
第一获取模块302,用于获取用于进行目标对象的健壮性测试的测试配置请求,其中,所述测试配置请求中至少携带有所述目标对象的信息和测试方式的信息;
第二获取模块304,用于获取与所述测试方式相匹配的测试流程的流程脚本,基于所述流程脚本确定与所述测试流程对应的至少一个测试执行脚本的配置信息,其中,所述测试执行脚本的配置信息中包含有所述测试执行脚本中与所述测试方式对应的静态参数的参数值;
第一生成模块306,用于根据所述流程脚本、所述测试执行脚本的配置信息、以及待测试的所述目标对象的信息,生成与所述测试配置请求相匹配的测试脚本。
可选地,装置还包括:
第一确定模块300a,用于在获取用于进行目标对象的健壮性测试的测试配置请求之前,确定测试方式对应的测试流程涉及的测试阶段、各所述测试阶段间的时序关系、以及各所述测试阶段对应使用的测试执行脚本的标识;
第二生成模块300b,用于根据各所述测试阶段的时序关系和对应的测试执行脚本的标识,生成与所述测试方式对应的流程脚本。
可选地,所述第一生成模块306用于使用所述目标对象的信息中携带的测试地址和所述目标对象的标识,更新所述测试执行脚本的配置信息中可动态配置的地址参数和所述目标对象对应的目标参数的参数值;根据所述流程脚本和更新的所述测试执行脚本的配置信息,生成与所述测试配置请求相匹配的测试脚本。
可选地,所述第一生成模块306用于在根据所述流程脚本和更新的所述测试执行脚本的配置信息,生成与所述测试配置请求相匹配的测试脚本时,调用自动测试平台的脚本创建接口,并将所述流程脚本和更新后的所述测试执行脚本的配置信息发送至所述自动测试平台,以使所述自动测试平台根据所述流程脚本生成各测试阶段使用的测试执行脚本的调用方法,并根据各所述测试阶段的时序关系、各所述测试执行脚本的配置信息和对应的调用方法创建所述测试脚本。
可选地,所述第一获取模块302用于获取通过信息配置界面以自然语言输入的测试配置请求,其中,所述测试配置请求中携带有所述目标对象的信息和测试方式的信息。
可选地,第一获取模块302用于在获取通过信息配置界面以自然语言输入的测试配置请求时,展示以自然语言描述的、用于进行攻防测试的攻击方的信息配置界面;接收通过所述信息配置界面以自然语言输入的目标对象的信息和针对所述目标对象的攻击测试方式的信息;根据所述攻击目标对象的信息和所述攻击方式的信息,生成攻击测试配置请求。
可选地,所述测试执行脚本包括下述至少之一:用于使远程过程调用服务框架抛出异常的执行脚本、用于使远程过程调用服务框架线程池满载的执行脚本、用于使Java内存溢出的执行脚本、用于使目标对象所在的设备网络延迟超出设定值的执行脚本。
本实施例的数据处理装置用于实现前述多个方法实施例中相应的数据处理方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的数据处理装置中的各个模块的功能实现均可参照前述方法实施例中的相应部分的描述,在此亦不再赘述。
实施例四
参照图4,示出了根据本申请实施例四的一种电子设备的结构示意图,本申请具体实施例并不对电子设备的具体实现做限定。
如图4所示,该电子设备可以包括:处理器(processor)402、通信接口(Communications Interface)404、存储器(memory)406、以及通信总线408。
其中:处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。
通信接口404,用于与其它电子设备或服务器进行通信。
处理器402,用于执行程序410,具体可以执行上述数据处理方法实施例中的相关步骤。
具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。
处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序410具体可以用于使得处理器402执行前述方法对应的操作。
程序410中各步骤的具体实现可以参见上述数据处理方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
本申请实施例还提供了一种计算机程序产品,包括计算机指令,该计算机指令指示计算设备执行上述多个方法实施例中的任一数据处理方法对应的操作。
需要指出,根据实施的需要,可将本申请实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本申请实施例的目的。
上述根据本申请实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的数据处理方法。此外,当通用计算机访问用于实现在此示出的数据处理方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的数据处理方法的专用计算机。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
以上实施方式仅用于说明本申请实施例,而并非对本申请实施例的限制,有关技术领域的普通技术人员,在不脱离本申请实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本申请实施例的范畴,本申请实施例的专利保护范围应由权利要求限定。

Claims (11)

1.一种数据处理方法,包括:
获取用于进行目标对象的健壮性测试的测试配置请求,其中,所述测试配置请求中至少携带有所述目标对象的信息和测试方式的信息;
获取与所述测试方式相匹配的测试流程的流程脚本,从预设的测试执行脚本的配置信息中获取流程脚本中指示测试流程需要的测试执行脚本的配置信息,其中,所述测试执行脚本的配置信息中包含有所述测试执行脚本中与所述测试方式对应的静态参数的参数值;所述流程脚本用于指示测试流程涉及的测试阶段以及各测试阶段需要使用的测试执行脚本;
根据所述流程脚本、所述测试执行脚本的配置信息、以及待测试的所述目标对象的信息,生成与所述测试配置请求相匹配的测试脚本。
2.根据权利要求1所述的方法,其中,在所述获取用于进行目标对象的健壮性测试的测试配置请求之前,所述方法还包括:
确定测试方式对应的测试流程涉及的测试阶段、各所述测试阶段间的时序关系、以及各所述测试阶段对应使用的测试执行脚本的标识;
根据各所述测试阶段的时序关系和对应的测试执行脚本的标识,生成与所述测试方式对应的流程脚本。
3.根据权利要求1所述的方法,其中,所述根据所述流程脚本、所述测试执行脚本的配置信息、以及待测试的所述目标对象的信息,生成与所述测试配置请求相匹配的测试脚本,包括:
使用所述目标对象的信息中携带的测试地址和所述目标对象的标识,更新所述测试执行脚本的配置信息中可动态配置的地址参数和所述目标对象对应的目标参数的参数值;
根据所述流程脚本和更新的所述测试执行脚本的配置信息,生成与所述测试配置请求相匹配的测试脚本。
4.根据权利要求3所述的方法,其中,所述根据所述流程脚本和更新的所述测试执行脚本的配置信息,生成与所述测试配置请求相匹配的测试脚本,包括:
调用自动测试平台的脚本创建接口,并将所述流程脚本和更新后的所述测试执行脚本的配置信息发送至所述自动测试平台,以使所述自动测试平台根据所述流程脚本生成各测试阶段使用的测试执行脚本的调用方法,并根据各所述测试阶段的时序关系、各所述测试执行脚本的配置信息和对应的调用方法创建所述测试脚本。
5.根据权利要求1-4中任一项所述的方法,其中,所述获取用于进行目标对象的健壮性测试的测试配置请求,包括:
获取通过信息配置界面以自然语言输入的测试配置请求,其中,所述测试配置请求中携带有所述目标对象的信息和测试方式的信息。
6.根据权利要求5所述的方法,其中,获取通过信息配置界面以自然语言输入的测试配置请求,包括:
展示以自然语言描述的、用于进行攻防测试的攻击方的信息配置界面;
接收通过所述信息配置界面以自然语言输入的目标对象的信息和针对所述目标对象的攻击测试方式的信息;
根据所述目标对象的信息和所述攻击测试方式的信息,生成攻击测试配置请求。
7.根据权利要求1-4中任一项所述的方法,其中,所述测试执行脚本包括下述至少之一:用于使远程过程调用服务框架抛出异常的执行脚本、用于使远程过程调用服务框架线程池满载的执行脚本、用于使Java内存溢出的执行脚本、用于使目标对象所在的设备网络延迟超出设定值的执行脚本。
8.一种数据处理装置,包括:
第一获取模块,用于获取用于进行目标对象的健壮性测试的测试配置请求,其中,所述测试配置请求中至少携带有所述目标对象的信息和测试方式的信息;
第二获取模块,用于获取与所述测试方式相匹配的测试流程的流程脚本,从预设的测试执行脚本的配置信息中获取流程脚本中指示测试流程需要的测试执行脚本的配置信息,其中,所述测试执行脚本的配置信息中包含有所述测试执行脚本中与所述测试方式对应的静态参数的参数值;所述流程脚本用于指示测试流程涉及的测试阶段以及各测试阶段需要使用的测试执行脚本;
第一生成模块,用于根据所述流程脚本、所述测试执行脚本的配置信息、以及待测试的所述目标对象的信息,生成与所述测试配置请求相匹配的测试脚本。
9.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7中任一项所述的数据处理方法对应的操作。
10.一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1-7中任一所述的数据处理方法。
11.一种计算机程序产品,包括计算机指令,所述计算机指令指示计算设备执行如权利要求1-7中任一所述的数据处理方法对应的操作。
CN202110989436.8A 2021-08-26 2021-08-26 数据处理方法、装置、电子设备及计算机存储介质 Active CN113656322B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110989436.8A CN113656322B (zh) 2021-08-26 2021-08-26 数据处理方法、装置、电子设备及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110989436.8A CN113656322B (zh) 2021-08-26 2021-08-26 数据处理方法、装置、电子设备及计算机存储介质

Publications (2)

Publication Number Publication Date
CN113656322A CN113656322A (zh) 2021-11-16
CN113656322B true CN113656322B (zh) 2023-10-10

Family

ID=78482154

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110989436.8A Active CN113656322B (zh) 2021-08-26 2021-08-26 数据处理方法、装置、电子设备及计算机存储介质

Country Status (1)

Country Link
CN (1) CN113656322B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114936152A (zh) * 2022-05-07 2022-08-23 阿里巴巴(中国)有限公司 应用测试方法及设备

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103365661A (zh) * 2013-07-11 2013-10-23 盛科网络(苏州)有限公司 自动化测试脚本的开发方法和系统
CN104021080A (zh) * 2014-06-13 2014-09-03 中国民航信息网络股份有限公司 基于自定义脚本的自动化测试系统
CN107943689A (zh) * 2017-11-16 2018-04-20 北京卫星信息工程研究所 基于参数化测试脚本的自动化测试方法及测试系统
CN109857645A (zh) * 2019-01-02 2019-06-07 广州云测信息技术有限公司 一种针对应用程序的自动化测试方法及装置
CN110390202A (zh) * 2019-07-30 2019-10-29 中国工商银行股份有限公司 用于检测业务逻辑漏洞的方法、装置、系统、设备及介质
CN110502428A (zh) * 2019-07-08 2019-11-26 平安科技(深圳)有限公司 代码测试方法、装置、计算机设备和存储介质
CN111258900A (zh) * 2020-01-17 2020-06-09 深圳壹账通智能科技有限公司 接口测试脚本的生成方法、系统、设备及存储介质
CN111400186A (zh) * 2020-03-19 2020-07-10 时时同云科技(成都)有限责任公司 性能测试方法及系统
CN111831569A (zh) * 2020-07-22 2020-10-27 平安普惠企业管理有限公司 基于故障注入的测试方法、装置、计算机设备和存储介质
CN112667510A (zh) * 2020-12-30 2021-04-16 平安消费金融有限公司 测试方法、装置、电子设备及存储介质
CN113138925A (zh) * 2021-04-23 2021-07-20 闻泰通讯股份有限公司 应用程序的功能测试方法、装置、计算机设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757849B2 (en) * 2001-08-03 2004-06-29 Hewlett-Packard Development Company, L.P. System and method for developing customized integration tests and network peripheral device evaluations
US20090077539A1 (en) * 2007-09-14 2009-03-19 Inter-Tel (Delaware), Inc. System and method for endpoint device testing
US9753842B2 (en) * 2014-05-09 2017-09-05 Wipro Limited System and method for creating universal test script for testing variants of software application
US11720685B2 (en) * 2019-02-20 2023-08-08 Saudi Arabian Oil Company One-touch mobile penetration testing platform

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103365661A (zh) * 2013-07-11 2013-10-23 盛科网络(苏州)有限公司 自动化测试脚本的开发方法和系统
CN104021080A (zh) * 2014-06-13 2014-09-03 中国民航信息网络股份有限公司 基于自定义脚本的自动化测试系统
CN107943689A (zh) * 2017-11-16 2018-04-20 北京卫星信息工程研究所 基于参数化测试脚本的自动化测试方法及测试系统
CN109857645A (zh) * 2019-01-02 2019-06-07 广州云测信息技术有限公司 一种针对应用程序的自动化测试方法及装置
CN110502428A (zh) * 2019-07-08 2019-11-26 平安科技(深圳)有限公司 代码测试方法、装置、计算机设备和存储介质
CN110390202A (zh) * 2019-07-30 2019-10-29 中国工商银行股份有限公司 用于检测业务逻辑漏洞的方法、装置、系统、设备及介质
CN111258900A (zh) * 2020-01-17 2020-06-09 深圳壹账通智能科技有限公司 接口测试脚本的生成方法、系统、设备及存储介质
CN111400186A (zh) * 2020-03-19 2020-07-10 时时同云科技(成都)有限责任公司 性能测试方法及系统
CN111831569A (zh) * 2020-07-22 2020-10-27 平安普惠企业管理有限公司 基于故障注入的测试方法、装置、计算机设备和存储介质
CN112667510A (zh) * 2020-12-30 2021-04-16 平安消费金融有限公司 测试方法、装置、电子设备及存储介质
CN113138925A (zh) * 2021-04-23 2021-07-20 闻泰通讯股份有限公司 应用程序的功能测试方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN113656322A (zh) 2021-11-16

Similar Documents

Publication Publication Date Title
CN109510742B (zh) 一种服务器网卡远程测试方法、装置、终端及存储介质
CN111897724A (zh) 一种适用于云平台的自动化测试方法及装置
CN110554938B (zh) 一种基于脚本集合的bios测试方法、系统、终端及存储介质
CN111752582A (zh) 局域网内的软件更新方法、装置及电子设备
CN113656322B (zh) 数据处理方法、装置、电子设备及计算机存储介质
CN115357434A (zh) 整机测试方法、待测设备、计算机设备和存储介质
CN113687858A (zh) 配置文件的检查方法、装置、电子设备及存储介质
CN111966551A (zh) 远程命令执行结果的校验方法、系统、终端及存储介质
CN110413328B (zh) 一种网卡端口的pxe功能使能方法、装置及相关设备
CN113609027A (zh) 一种arm云服务器的测试方法、装置、电子设备和存储介质
CN112181822A (zh) 一种测试方法和应用程序的启动耗时测试方法
CN112650689A (zh) 测试方法、装置、电子设备及存储介质
CN112000550A (zh) 操作系统参数调优方法、系统、设备及计算机可读介质
CN109902001B (zh) 对未初始化变量的检测方法及终端设备
CN116450165A (zh) 一种快速搭建环境及部署程序的方法、系统、终端及存储介质
CN116684333A (zh) 基于通信协议的自动化测试方法、装置、设备及存储介质
CN116303069A (zh) 一种车载终端的测试方法、装置、上位机、系统及介质
CN114416596A (zh) 一种测试应用的方法、装置、计算机设备及存储介质
CN111597101B (zh) Sdk接入状态检测方法、计算机设备及计算机可读存储介质
CN111475220B (zh) 冷启动方法、装置、电子设备及计算机存储介质
CN109450682B (zh) 一种ib网卡连通配置方法、装置、终端及存储介质
CN106130815A (zh) 板级测试方法及装置
CN116594657A (zh) 一种ota升级方法、装置、车辆及存储介质
CN113608996B (zh) 一种镜像编译测试方法、系统、装置及可读存储介质
CN117648263B (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