CN116340066A - 服务端的性能测试方法及*** - Google Patents

服务端的性能测试方法及*** Download PDF

Info

Publication number
CN116340066A
CN116340066A CN202310320640.XA CN202310320640A CN116340066A CN 116340066 A CN116340066 A CN 116340066A CN 202310320640 A CN202310320640 A CN 202310320640A CN 116340066 A CN116340066 A CN 116340066A
Authority
CN
China
Prior art keywords
test
service
tested
simulation module
client
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
CN202310320640.XA
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.)
Shenzhen Snowball Technology Co ltd
Original Assignee
Shenzhen Snowball 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 Snowball Technology Co ltd filed Critical Shenzhen Snowball Technology Co ltd
Priority to CN202310320640.XA priority Critical patent/CN116340066A/zh
Publication of CN116340066A publication Critical patent/CN116340066A/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/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2247Verification or detection of system hardware configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2268Logging of test results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2294Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by remote test
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供一种服务端的性能测试方法及***。该方法中测试客户端向被测服务发送测试业务请求,使被测服务基于设备标识与相应的SE模拟模块建立通信连接,在检测出SE模拟模块可进行目标业务测试后,向测试客户端发送包括多个APDU指令的测试业务响应;测试客户端向SE模拟模块发送多个APDU指令和测试数据;SE模拟模块执行相应的测试操作,并向测试客户端发送相应RPDU响应;测试客户端将每个RPDU响应封装成新测试业务请求,将其发送给被测服务,使被测服务对其进行校验,将校验结果返回至测试客户端;测试客户端生成被测服务的性能测试结果。该方法不需要大量的实体设备SE,降低了测试成本,提高了测试效率。

Description

服务端的性能测试方法及***
技术领域
本申请涉及通信技术领域,具体而言,涉及一种服务端的性能测试方法及***。
背景技术
“空中”类业务,通常由“移动设备安全模块”(简称“SE”)+“移动客户端(APP/小程序)”+“业务服务端”构成,通过移动互联网,将原本只能在固定网点完成的业务落地到移动设备上。例如:移动交通卡的空中发卡,空中充值,空中购票等业务。
对于服务端性能的测试是基于实体设备SE(嵌入到设备的安全环境芯片)的业务请求中包含大量与实体设备SE的交互结果。即使被测对象仅为服务端,业务功能测试也只能基于实体设备SE进行。这种基于实体设备SE的测试来对服务端性能进行测试的方法,需要大量实体设备SE同时与性能测试的服务端进行交互,且需要对大量实体设备SE进行有效调度,导致这种服务端性能测试的方法成本过高,且测试效率较低。
发明内容
本申请实施例的目的在于提供一种服务端的性能测试方法及***,用以解决了现有技术存在的上述问题,降低了测试成本,提高了测试效率。
第一方面,提供了一种服务端的性能测试方法,应用于测试客户端和测试服务端的***中,所述测试服务端包括SE模拟模块和被测服务,该方法可以包括:
测试客户端向被测服务发送测试业务请求;所述测试业务请求包括待测试业务类型和测试用的SE模拟模块的设备标识;
被测服务基于所述设备标识与相应的SE模拟模块建立通信连接,并检测所述SE模拟模块是否可进行所述待测试业务类型的目标业务测试;
若是,则向测试客户端发送测试业务响应,所述测试业务响应包括所述目标业务测试相关的多个APDU指令;
测试客户端通过不同线程,向所述SE模拟模块发送所述多个APDU指令和所述待测试业务类型对应的不同测试数据;
SE模拟模块基于所述多个APDU指令和所述待测试业务类型对应的不同测试数据,执行相应的测试操作,并向所述测试客户端发送相应APDU指令的RPDU响应,所述RPDU响应包括操作结果信息;
测试客户端将每个APDU指令的RPDU响应封装至新测试业务请求中,并向所述被测服务发送所述新测试业务请求;
被测服务对所述新测试业务请求中的每个RPDU响应进行校验,并将校验结果发送至测试客户端;
测试客户端基于所述校验结果,生成所述被测服务的性能测试结果。
在一个可能的实现中,所述测试服务端还包括测试设备管理服务TDMS;
测试客户端向被测服务发送测试业务请求之前,所述方法还包括:
测试客户端基于测试人员输入的测试数据和启动测试指令;并基于启动测试指令,向测试设备管理服务发送设备数据获取请求;所述设备数据获取请求包括请求的待测试业务类型;所述测试数据包括不同业务类型对应的不同测试数据;
测试设备管理服务基于所述请求的待测试业务类型,获取相应SE模拟模块的测试设备数据,并向测试客户端发送设备数据获取响应,所述设备数据获取响应包括所述测试设备数据和测试芯片相关数据;所述测试设备数据包括测试过程中所需的账号信息和设备标识;
测试客户端向SE模拟模块发送所述测试芯片相关数据;
SE模拟模块将所述测试芯片相关数据加载至内存,以完成测试前的初始化过程。
在一个可能的实现中,待测试业务类型包括待测试的至少一种业务类型;
被测服务检测所述SE模拟模块是否可进行所述待测试业务类型的目标业务测试,包括:
被测服务基于所述设备标识与相应的SE模拟模块建立通信连接后,获取所述SE模拟模块的设备状态数据;
基于所述SE模拟模块的设备状态数据,检测所述SE模拟模块是否可进行所述待测试的每种业务类型对应的目标业务测试。
在一个可能的实现中,所述方法还包括:
若否,则向测试客户端发送测试业务响应,所述测试业务响应包括性业务测试失败的指示信息。
在一个可能的实现中,所述不同线程包括每种业务类型对应的线程;
测试客户端通过不同线程,向所述SE模拟模块发送所述多个APDU指令和所述待测试业务类型对应的不同测试数据,包括:
针对每种业务类型,通过相应业务类型的任一线程,测试客户端依次向所述SE模拟模块发送所述多个APDU指令,以及所述待测试业务类型对应的不同测试数据中与相应APDU指令相关的测试数据。
在一个可能的实现中,所述被测服务对所述新测试业务请求中的每个RPDU响应进行校验,包括:
被测服务基于所述设备状态数据和所述多个APDU指令,判断是否能够得到所述新测试业务请求中的所有RPDU响应,且RPDU响应合法;
若是,则生成校验成功的校验结果;
若否,则生成校验失败的校验结果。
在一个可能的实现中,测试客户端基于所述校验结果,生成所述被测服务的性能测试结果之后,所述方法还包括:
测试客户端向所述SE模拟模块发送数据获取请求;
SE模拟模块向所述测试客户端发送所述SE模拟模块的当前设备数据;
测试客户端将接收的当前设备数据发送至所述测试设备管理服务,以存储所述当前设备数据。
第二方面,提供了一种服务端的性能测试***,所述***包括测试客户端和测试服务端,所述测试服务端包括SE模拟模块和被测服务;
测试客户端,用于向被测服务发送测试业务请求;所述测试业务请求包括待测试业务类型和测试用的SE模拟模块的设备标识;
被测服务,用于基于所述设备标识与相应的SE模拟模块建立通信连接,并检测所述SE模拟模块是否可进行所述待测试业务类型的目标业务测试;若是,则向测试客户端发送测试业务响应,所述测试业务响应包括所述目标业务测试相关的多个APDU指令;
测试客户端,用于通过不同线程,向所述SE模拟模块发送所述多个APDU指令和所述待测试业务类型对应的不同测试数据;
SE模拟模块,用于基于所述多个APDU指令和所述待测试业务类型对应的不同测试数据,执行相应的测试操作,并向所述测试客户端发送相应APDU指令的RPDU响应,所述RPDU响应包括操作结果信息;
测试客户端,用于将每个APDU指令的RPDU响应封装至新测试业务请求中,并向所述被测服务发送所述新测试业务请求;
被测服务,用于对所述新测试业务请求中的每个RPDU响应进行校验,并将校验结果发送至测试客户端;
测试客户端,用于基于所述校验结果,生成所述被测服务的性能测试结果。
第三方面,提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一所述的方法步骤。
本申请实施例提供的服务端的性能测试方法应用于测试客户端和测试服务端的***中,测试服务端包括SE模拟模块和被测服务,其中,测试客户端向被测服务发送测试业务请求;测试业务请求包括待测试业务类型和测试用的SE模拟模块的设备标识;被测服务基于设备标识与相应的SE模拟模块建立通信连接,并检测SE模拟模块是否可进行待测试业务类型的目标业务测试;若是,则向测试客户端发送测试业务响应,测试业务响应包括目标业务测试相关的多个APDU指令;测试客户端通过不同线程,向SE模拟模块发送多个APDU指令和待测试业务类型对应的不同测试数据;SE模拟模块基于多个APDU指令和待测试业务类型对应的不同测试数据,执行相应的测试操作,并向测试客户端发送相应APDU指令的RPDU响应,RPDU响应包括操作结果信息;测试客户端将每个APDU指令的RPDU响应封装至新测试业务请求中,并向被测服务发送新测试业务请求;被测服务对新测试业务请求中的每个RPDU响应进行校验,并将校验结果发送至测试客户端;测试客户端基于校验结果,生成被测服务的性能测试结果。与现有技术相比,该方法不需要大量的实体设备SE,降低了测试成本,提高了测试效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种应用服务端的性能测试方法的***架构图;
图2为本申请实施例提供的一种服务端的性能测试方法的流程示意图;
图3为本申请实施例提供的另一种服务端的性能测试方法的流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,并不是全部的实施例。基于本申请实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供的服务端的性能测试方法可以应用在图1所示的***架构中,如图1所示,该***可以包括:测试客户端(包括Jmeter)和测试服务端,其中,测试服务端可以包括SE模拟模块MockSE、测试设备管理服务TDMS和被测服务Server。
1、测试前准备:
(1)数据准备:主要包括SE模拟模块的设备cplc(设备唯一标识号码),SE安全域密钥(初始值与被测服务协商后生成),SE模拟模块的设备状态等。
(2)应用准备:
A、开发SE模拟模块MockSE,并将其打包成jar包等独立模块。该SE模拟模块能够模拟实体SE设备的部分功能,以能够完成性能测试为功能边界。
B、部署“测试设备管理服务TDMS”(以下简称TDMS),该服务用于负责测试设备数据和设备状态的管理,即上一段“数据准备”中的相关数据管理。
C、使用测试客户端Jmeter等压测工具,编写性能测试脚本,脚本内调用MockSE和TDMS,同时配置并发数、迭代数等参数,并完成部署。
需要说明的是,SE模拟模块主要由应用和数据库构成,需要实现实体SE设备中的各类方法,进而完成对APDU指令进行解析,模拟实体SE设备与被测服务的通信,具体包括:
1、内部认证与外部认证:类似与被测服务的握手。被测服务与SE模拟模块分别持有安全域密钥,并使用对应的算法,生成相应的密文,完成双方的身份互认。其中,安全域密钥和算法都是在建立通信连接后预先协商的,被测服务与SE模拟模块保持一致的。实际场景中实体SE密钥存储在SE中,SE模拟模块使用数据库存储密钥。
2、密钥替换:服务端下发指令,对SE中的初始密钥进行替换。在此过程中,SE模拟模块MockSE需从被测服务发送的APUD指令中解析出对应的新的密钥,并使用新密钥,计算出对应的RPDU响应,响应被测服务请求。后续流程中所有的认证均使用新密钥,并在测试完成时将新密钥上送,存储在数据库中。
3、开卡:被测服务向SE模拟模块中写入卡数据。卡数据的传输必然是加密的,SE模拟模块MockSE需从服务端的密文APUD指令中解析出卡数据,并在测试完成时将卡数据上送,存储在数据库中,为后续的空中充值测试做准备。
进一步的,所述***的测试过程包括:
测试客户端,用于向被测服务发送测试业务请求;测试业务请求包括待测试业务类型和测试用的SE模拟模块的设备标识;
被测服务,用于基于设备标识与相应的SE模拟模块建立通信连接,并检测SE模拟模块是否可进行待测试业务类型的目标业务测试;若是,则向测试客户端发送测试业务响应,测试业务响应包括目标业务测试相关的多个APDU指令;
测试客户端,用于通过不同线程,向SE模拟模块发送多个APDU指令和待测试业务类型对应的不同测试数据;
SE模拟模块,用于基于多个APDU指令和待测试业务类型对应的不同测试数据,执行相应的测试操作,并向测试客户端发送相应APDU指令的RPDU响应,RPDU响应包括操作结果信息;
测试客户端,用于将每个APDU指令的RPDU响应封装至新测试业务请求中,并向被测服务发送所述新测试业务请求;
被测服务,用于对新测试业务请求中的每个RPDU响应进行校验,并将校验结果发送至测试客户端;
测试客户端,用于基于校验结果,生成被测服务的性能测试结果。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图2为本申请实施例提供的一种服务端的性能测试方法的流程示意图。如图2所示,该方法可以包括:
步骤21、测试客户端向被测服务发送测试业务请求。
具体实施中,在执行该步骤之前,测试客户端获取测试人员输入的测试数据和启动测试指令;并基于启动测试指令,向测试设备管理服务TDMS发送设备数据获取请求;设备数据获取请求可以包括请求的SE模拟模块的设备标识;测试数据可以包括不同业务类型对应的不同测试数据,如空中开卡业务的不同测试数据,或空中充值业务的不同测试数据。
测试设备管理服务TDMS基于请求的待测试业务类型,从数据库中读取相应SE模拟模块的测试设备数据,并向测试客户端发送设备数据获取响应,设备数据获取响应可以包括测试设备数据、待测试业务类型和测试芯片相关数据、用户账户信息等;其中,测试设备数据中包括测试过程中所需的账号信息和设备标识,测试芯片相关数据中包括芯片标识(公交卡芯片标识),芯片标识对应的公交卡数据,交易计数器,交易密钥等,即真实业务场景下的所有业务所需要的客户端数据。设备标识在TDMS中管理,该测试设备管理服务管理所有的测试设备数据、待测试业务类型和测试芯片相关数据、用户账户信息等。
测试客户端向SE模拟模块发送测试芯片相关数据;
SE模拟模块将所述测试芯片相关数据加载至内存,以完成测试前的初始化过程。
之后进入服务器业务的性能测试,此时测试客户端向被测服务发送测试业务请求。
步骤22、被测服务基于设备标识与相应SE模拟模块建立通信连接后,检测SE模拟模块是否可进行待测试业务类型的目标业务测试,并向测试客户端发送测试业务响应。
被测服务基于设备标识与相应的SE模拟模块建立通信连接后,获取SE模拟模块的设备状态数据;设备状态数据可以包括设备的当前状态,例如,是否已经开卡。
基于SE模拟模块的设备状态数据,检测SE模拟模块是否可进行待测试的每种业务类型对应的目标业务测试。例如,若待测试的业务类型为开卡类型,且设备状态数据表明SE模拟模块已经开卡,则表示SE模拟模块当前不能进行目标业务测试,即开卡业务。若待测试的业务类型为充值类型,且设备状态数据表明SE模拟模块为待充值状态,则表示SE模拟模块当前可以进行目标业务测试,即充值业务。
若是,则向测试客户端发送测试业务响应,此时的测试业务响应可以包括目标业务测试相关的多个APDU指令。
若否,则向测试客户端发送测试业务响应,此时的测试业务响应可以包括业务失败的指示信息。
需要说明的是,测试客户端Jmeter发起最后一次请求后,被测服务响应“EOF”(endof file)表示流程结束。
步骤23、测试客户端通过不同线程,向SE模拟模块发送多个APDU指令和待测试业务类型对应的不同测试数据。
其中,不同线程可以包括每种业务类型对应的线程,例如,业务类型为两种的情况下,不同线程可以包括两部分线程,每部分线程对应一种业务类型;
具体实施中,测试客户端对测试业务响应进行解析,得到与目标业务测试相关的多个APDU指令;并通过不同线程,向SE模拟模块发送多个APDU指令和待测试业务类型对应的不同测试数据。
具体的,针对每种业务类型,通过相应业务类型的任一线程,测试客户端依次向SE模拟模块发送多个APDU指令中的一个APDU指令,以及待测试业务类型对应的不同测试数据中与相应APDU指令相关的测试数据。
进一步的,测试客户端可以按照预设APDU指令顺序依次向SE模拟模块发送多个APDU指令,其中,预设APDU指令顺序可以是基于APDU指令的重要程度设置的,或者,根据实际业务需求预先设置的,或者,根据一定的执行逻辑设置的,具体设置方式本申请在此不做限定。
步骤24、SE模拟模块基于多个APDU指令和待测试业务类型对应的不同测试数据,执行相应的测试操作。
步骤25、SE模拟模块向测试客户端发送相应APDU指令的RPDU响应。
其中,RPDU响应可以包括操作结果信息。
步骤26、测试客户端将每个APDU指令的RPDU响应封装至新测试业务请求中,并向被测服务发送新测试业务请求。
具体实施中,测试客户端可以按照接收APDU指令的先后顺序,将相应的RPDU响应封装至新测试业务请求中。
步骤27、被测服务对新测试业务请求中的每个RPDU响应进行校验,并将校验结果发送至测试客户端。
被测服务基于设备状态数据和多个APDU指令,判断是否能够得到新测试业务请求中的所有RPDU响应,且RPDU响应合法;
若是,则生成校验成功的校验结果;
若否,则生成校验失败的校验结果。
步骤28、测试客户端基于校验结果,生成被测服务的性能测试结果。
在一些实施例中,生成被测服务的性能测试结果之后,测试客户端可以向SE模拟模块发送数据获取请求;
SE模拟模块向测试客户端发送SE模拟模块的当前设备数据;
测试客户端将接收的当前设备数据发送至测试设备管理服务,以存储当前设备数据。
本申请上述实施例中,测试过程中无需太多内存资源,可靠性强,即使测试过程异常中断,也不会影响MockSE的数据,且本申请提供的性能测试方法在测试的业务间存在强关联性,比如空中充值的测试依赖于设备必须先进行了空中开卡。且,将数据进行永久存储,可以使测试工作灵活开展,比如开卡和充值测试之间的时间间隔无限制,在开卡测试和充值测试之间。本申请的测试环境灵活性较强,可用于其他项目测试,提高了测试环境的利用率。其他项目测试可以包括删公交卡,公交卡片从设备上传至云端,公交卡片从云端下载至设备、消费,刷卡等。另外,测试全过程使用纯软件模拟,无需实体设备参与,降低了测试成本。
在一个例子中,如图3所示为本申请实施例提供的另一种服务端的性能测试方法,其中,测试人员为Tester,测试客户端为Jmeter,SE模拟模块为MockSE,测试设备管理服务为TDMS,测试设备管理服务管理的数据库为DB,被测服务为Server,包括:
1、Jmeter获取Tester输入的测试数据和启动测试指令;
2、Jmeter基于启动测试指令,向TDMS发送设备数据获取请求;
3、TDMS基于设备数据获取请求,从DB中读取测试设备数据;
4、TDMS向Jmeter发送测试设备数据;
5、Jmeter向MockSE发送测试设备数据;
6、Jmeter向Server发送测试业务请求;
7、Server向Jmeter发送测试业务响应;
8、Jmeter解析出测试业务响应中的APDU指令,并逐条向MockSE发送APDU指令;
9、MockSE解析APDU指令,执行相应测试操作,并逐条向Jmeter发送RPDU响应;
10、Jmeter将RPDU响应封装至新测试业务请求,并向Server发送新测试业务请求;
11、Server对RPDU响应进行校验,并将校验结果发送至Jmeter;需要说明的是,上述10-11的步骤可以执行多轮。
12、Jmeter基于校验结果,生成Server的性能测试结果;
进一步的,单个目标业务测试完成后,执行以下步骤:
13、Jmeter请求MockSE获取当前设备数据;
14、Jmeter将MockSE返回的当前设备数据回传给TDMS;
15、TDMS将当前设备数据保存在DB中。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的服务端的性能测试方法。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的服务端的性能测试方法。
本领域内的技术人员应明白,本申请实施例中的实施例可提供为方法、***、或计算机程序产品。因此,本申请实施例中可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例中可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例中是参照根据本申请实施例中实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例中的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例中范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例中实施例进行各种改动和变型而不脱离本申请实施例中实施例的精神和范围。这样,倘若本申请实施例中实施例的这些修改和变型属于本申请实施例中权利要求及其等同技术的范围之内,则本申请实施例中也意图包含这些改动和变型在内。

Claims (9)

1.一种服务端的性能测试方法,其特征在于,应用于测试客户端和测试服务端的***中,所述测试服务端包括SE模拟模块和被测服务,所述方法包括:
测试客户端向被测服务发送测试业务请求;所述测试业务请求包括待测试业务类型和测试用的SE模拟模块的设备标识;
被测服务基于所述设备标识与相应的SE模拟模块建立通信连接,并检测所述SE模拟模块是否可进行所述待测试业务类型的目标业务测试;
若是,则向测试客户端发送测试业务响应,所述测试业务响应包括所述目标业务测试相关的多个APDU指令;
测试客户端通过不同线程,向所述SE模拟模块发送所述多个APDU指令和所述待测试业务类型对应的不同测试数据;
SE模拟模块基于所述多个APDU指令和所述待测试业务类型对应的不同测试数据,执行相应的测试操作,并向所述测试客户端发送相应APDU指令的RPDU响应,所述RPDU响应包括操作结果信息;
测试客户端将每个APDU指令的RPDU响应封装至新测试业务请求中,并向所述被测服务发送所述新测试业务请求;
被测服务对所述新测试业务请求中的每个RPDU响应进行校验,并将校验结果返回至测试客户端;
测试客户端基于所述校验结果,生成所述被测服务的性能测试结果。
2.如权利要求1所述的方法,其特征在于,所述测试服务端还包括测试设备管理服务TDMS;
测试客户端向被测服务发送测试业务请求之前,所述方法还包括:
测试客户端基于测试人员输入的测试数据和启动测试指令;并基于启动测试指令,向测试设备管理服务TDMS发送设备数据获取请求;所述设备数据获取请求包括请求的待测试业务类型;所述测试数据包括不同业务类型对应的不同测试数据;
测试设备管理服务TDMS基于所述请求的业务类型,准备相应SE模拟模块的测试数据,并向测试客户端发送设备数据获取响应,所述设备数据获取响应包括测试设备数据和测试芯片相关数据;所述测试设备数据包括测试过程中所需的账号信息和设备标识;
测试客户端向SE模拟模块发送所述测试芯片相关数据;
SE模拟模块将所述测试芯片相关数据加载至内存,以完成测试前的初始化过程。
3.如权利要求1所述的方法,其特征在于,待测试业务类型包括待测试的至少一种业务类型;
被测服务检测所述SE模拟模块是否可进行所述待测试业务类型的目标业务测试,包括:
被测服务基于所述设备标识与相应的SE模拟模块建立通信连接后,获取所述SE模拟模块的设备状态数据;
基于所述SE模拟模块的设备状态数据,检测所述SE模拟模块是否可进行所述待测试的每种业务类型对应的目标业务测试。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
若否,则向测试客户端发送测试业务响应,所述测试业务响应包括业务测试失败的指示信息。
5.如权利要求3所述的方法,其特征在于,所述不同线程包括每种业务类型对应的线程;
测试客户端通过不同线程,向所述SE模拟模块发送所述多个APDU指令和所述待测试业务类型对应的不同测试数据,包括:
针对每种业务类型,通过相应业务类型的任一线程,测试客户端依次向所述SE模拟模块发送所述多个APDU指令,以及所述待测试业务类型对应的不同测试数据中与相应APDU指令相关的测试数据。
6.如权利要求3所述的方法,其特征在于,所述被测服务对所述新测试业务请求中的每个RPDU响应进行校验,包括:
被测服务基于所述设备状态数据和所述多个APDU指令,判断是否能够得到所述新测试业务请求中的所有RPDU响应,且RPDU响应合法;
若是,则生成校验成功的校验结果;
若否,则生成校验失败的校验结果。
7.如权利要求2所述的方法,其特征在于,测试客户端基于所述校验结果,生成所述被测服务的性能测试结果之后,所述方法还包括:
测试客户端向所述SE模拟模块发送数据获取请求;
SE模拟模块向所述测试客户端发送所述SE模拟模块的当前设备数据;
测试客户端将接收的当前设备数据发送至所述测试设备管理服务,以存储所述当前设备数据。
8.一种服务端的性能测试***,其特征在于,所述***包括测试客户端和测试服务端,所述测试服务端包括SE模拟模块和被测服务;
测试客户端,用于向被测服务发送测试业务请求;所述测试业务请求包括待测试业务类型和测试用的SE模拟模块的设备标识;
被测服务,用于基于所述设备标识与相应的SE模拟模块建立通信连接,并检测所述SE模拟模块是否可进行所述待测试业务类型的目标业务测试;若是,则向测试客户端发送测试业务响应,所述测试业务响应包括所述目标业务测试相关的多个APDU指令;
测试客户端,用于通过不同线程,向所述SE模拟模块发送所述多个APDU指令和所述待测试业务类型对应的不同测试数据;
SE模拟模块,用于基于所述多个APDU指令和所述待测试业务类型对应的不同测试数据,执行相应的测试操作,并向所述测试客户端发送相应APDU指令的RPDU响应,所述RPDU响应包括操作结果信息;
测试客户端,用于将每个APDU指令的RPDU响应封装至新测试业务请求中,并向所述被测服务发送所述新测试业务请求;
被测服务,用于对所述新测试业务请求中的每个RPDU响应进行校验,并将校验结果返回至测试客户端;
测试客户端,用于基于所述校验结果,生成所述被测服务的性能测试结果。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一所述的方法步骤。
CN202310320640.XA 2023-03-23 2023-03-23 服务端的性能测试方法及*** Pending CN116340066A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310320640.XA CN116340066A (zh) 2023-03-23 2023-03-23 服务端的性能测试方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310320640.XA CN116340066A (zh) 2023-03-23 2023-03-23 服务端的性能测试方法及***

Publications (1)

Publication Number Publication Date
CN116340066A true CN116340066A (zh) 2023-06-27

Family

ID=86883656

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310320640.XA Pending CN116340066A (zh) 2023-03-23 2023-03-23 服务端的性能测试方法及***

Country Status (1)

Country Link
CN (1) CN116340066A (zh)

Similar Documents

Publication Publication Date Title
CN111478967B (zh) 一种请求处理方法及装置
CN110120970B (zh) 基于车联网的数据处理方法、装置及网关***
CN105991709A (zh) 一种云桌面帐号管理方法及装置
CN106612204B (zh) 业务校验方法及装置
CN109726134B (zh) 接口测试方法和***
CN112905437B (zh) 一种测试用例的方法、装置及存储介质
CN108459850B (zh) 生成测试脚本的方法、装置及***
CN109376088A (zh) 一种自动化测试***及自动化测试方法
CN107220169B (zh) 一种模拟服务器返回定制化数据的方法和设备
CN109450976A (zh) 一种业务***的访问的方法及装置
CN113867782A (zh) 灰度发布方法、装置、计算机设备和存储介质
CN109447384A (zh) 风控***的验证方法、装置、设备及存储介质
CN114185808A (zh) 自动化测试方法、装置、电子设备及计算机可读存储介质
CN112115060A (zh) 基于终端的音频测试方法与***
CN116340066A (zh) 服务端的性能测试方法及***
WO2017092391A1 (zh) 一种中间库虚拟控制测试方法及其***
CN117131545A (zh) 数据处理方法及装置、存储介质、终端
CN109656825A (zh) 美术资源处理的方法及装置、电子设备、存储介质
CN113301557B (zh) eSIM卡状态管理方法、装置、设备及存储介质
CN107015906B (zh) 测试方法及装置、端口生成方法及端口生成器和测试***
CN114564387A (zh) 一种针对OpenStack云平台的场景式自动化测试方法及***
CN113868116A (zh) 测试依赖数据的生成方法、装置、服务器及存储介质
CN113704107A (zh) 应用测试方法、装置、设备及计算机可读存储介质
CN112395204A (zh) 用于获取测试覆盖率的方法、装置、***、电子设备和介质
CN114745216B (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