CN107203459A - 接口性能测试方法和装置 - Google Patents

接口性能测试方法和装置 Download PDF

Info

Publication number
CN107203459A
CN107203459A CN201610150710.1A CN201610150710A CN107203459A CN 107203459 A CN107203459 A CN 107203459A CN 201610150710 A CN201610150710 A CN 201610150710A CN 107203459 A CN107203459 A CN 107203459A
Authority
CN
China
Prior art keywords
interface
test
tested
sent
web page
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
CN201610150710.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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding 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 Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610150710.1A priority Critical patent/CN107203459A/zh
Publication of CN107203459A publication Critical patent/CN107203459A/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

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

接口性能测试方法和装置
技术领域
本申请涉及互联网技术领域,尤其涉及一种接口性能测试方法和装置。
背景技术
目前对应用程序接口(简称为接口)进行性能测试时,通常需要编写测试脚本,由测试脚本模拟用户行为一步步完成业务操作来进行性能测试。这种方式存在如下问题:
一方面,由于模拟的是用户,就会使得接口性能测试与用户关联,需要准备大量的真实用户数据,并且一些特殊场景下需要特殊用户,会增加测试脚本的开发量,这就导致了工作量的增加;
另一方面,由于模拟的是用户一步步完成业务操作的过程,这个过程中会引入很多冗余操作,例如,仅需要测试充值接口,但是模拟用户行为时会不得不引入用户登录、打开页面等一系列冗余操作,导致测试结果不准确。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本申请的一个目的在于提出一种接口性能测试方法,该方法可以将接口性能测试与用户的关联剥离,从而可以降低工作量,另外,也不需要引入冗余操作,从而提高测试结果的准确度。
本申请的另一个目的在于提出一种接口性能测试装置。
为达到上述目的,本申请第一方面实施例提出的接口性能测试方法,包括:测试装置接收测试发起方发送的用于触发接口测试的触发消息;测试装置接收到所述触发消息后,直接调用待测试接口,以使所述待测试接口按照自身逻辑进行处理;测试装置接收所述待测试接口发送的处理结果,并将所述处理结果发送给所述测试发起方。
本申请第一方面实施例提出的接口性能测试方法,在接口性能测试时不需要模拟真实用户,实现将接口性能测试与用户的关联剥离,从而可以降低工作量,另外,通过直接调用待测试接口,不需要引入冗余操作,从而提高测试结果的准确度。
为达到上述目的,本申请第二方面实施例提出的测试装置,包括:接收模块,用于接收测试发起方发送的用于触发接口测试的触发消息;调用模块,用于接收到所述触发消息后,直接调用待测试接口,以使所述待测试接口按照自身逻辑进行处理;发送模块,用于接收所述待测试接口发送的处理结果,并将所述处理结果发送给所述测试发起方。
本申请第二方面实施例提出的测试装置,在接口性能测试时不需要模拟真实用户,实现将接口性能测试与用户的关联剥离,从而可以降低工作量,另外,通过直接调用待测试接口,不需要引入冗余操作,从而提高测试结果的准确度。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本申请一个实施例提出的接口性能测试方法的流程示意图;
图2是本申请另一个实施例提出的接口性能测试方法的流程示意图;
图3是本申请另一个实施例提出的接口性能测试方法的流程示意图;
图4是本申请一个实施例提出的测试装置的结构示意图;
图5是本申请另一个实施例提出的测试装置的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的模块或具有相同或类似功能的模块。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。相反,本申请的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
图1是本申请一个实施例提出的接口性能测试方法的流程示意图。参见图1,本实施例的方法包括:
S11:测试装置接收测试发起方发送的用于触发接口测试的触发消息。
其中,测试装置位于待测试接口所在的系统内,能够直接调用待测试接口,以完成接口性能测试。
测试装置可以是任一种能够接收测试发起方发送的消息,并能够直接调用待测试接口的模块。
本实施例中,以测试装置是定制页面为例。
定制页面是指自定义的用于定制用途的页面,本实施例中,用于定制用途具体是指用于接口性能测试。
以待测试接口所在的系统称为应用系统为例,应用系统可以生成定制页面,并将定制页面的统一资源定位符(Uniform Resource Locator,URL)地址提供给测试发起方,以使测试发起方根据该URL地址向定制页面发送触发消息。
测试发起方例如称为压测工具,压测工具内可以包括httpClient请求发送器,触发消息可以具体是指httpClient请求发送器发送的get请求。
S12:测试装置接收到所述触发消息后,直接调用待测试接口,以使所述待测试接口按照自身逻辑进行处理。
本实施例中,测试装置直接调用待测试接口,可以避免引入冗余操作。
测试装置在调用待测试接口后,待测试接口按照自身逻辑进行处理。例如,待测试接口是充值接口,则测试装置调用充值接口后,充值接口进行充值操作。其中,待测试接口可以由代码编写,从而待测试接口被调用后,代码运行完成充值等操作。
S13:测试装置接收所述待测试接口发送的处理结果,并将所述处理结果发送给所述测试发起方。
待测试接口按照自身逻辑处理后可以得到处理结果,例如充值成功或充值失败等,待测试接口在得到处理结果后,将处理结果发送给测试装置,再由测试装置发送给测试发起方,从而测试发起方可以根据处理结果获取接口性能,例如,测试发起方根据充值成功的次数和充值失败的次数,可以统计出充值接口的充值成功率等接口性能。
由于接口性能测试时,N个用户每个用户请求一次,与一个用户请求N次,对接口的影响是相同的,因此,在接口性能测试时并不需要与用户关联。而本实施例中,在上述流程中并不需要模拟真实用户,实现与用户剥离关联。
本实施例中,在接口性能测试时不需要模拟真实用户,实现将接口性能测试与用户的关联剥离,从而可以降低工作量,另外,通过直接调用待测试接口,不需要引入冗余操作,从而提高测试结果的准确度。
图2是本申请另一个实施例提出的接口性能测试方法的流程示意图。本实施例的测试发起方是压测工具,测试装置是定制页面。参见图2,本实施例的方法包括:
S21:包含httpclient请求发送器的压测工具向定制页面发送get请求。
其中,httpclient请求发送器可以根据定制页面的URL地址发送get请求。
S22:定制页面收到get请求后,调用系统后端代码。
其中,调用的系统后端代码是指实现待测试接口的代码。
具体的,定制页面接收到get请求后,定制页面的web层代码调用事先指定好的接口(或方法),并可根据要求调整各种入口参数以满足各种场景性能测试的需求。
S23:系统后端代码进行后端代码处理。
系统后端代码在被调用后,进行后端代码处理以执行自身逻辑,例如进行新春红包充值等。
S24:系统后端代码在处理完毕后,将处理结果发送给定制页面。
S25:定制页面将处理结果发送给压测工具,压测工具根据处理结果判断该次请求代码处理成功还是失败。
上述的定制页面可以是向线上开发的,为了保证安全性,需要保证线上正常使用的用户无法访问到该页面,这里就需要进行控制,一是隐藏URL地址,保证没有链接从前台直接跳转过来,二是如果有用户通过直接访问URL的方式意外访问到了该页面,则通过签名匹配方式将其拦截掉。只有特定签名的请求才认为是合法有效的。
相应的,一些实施例中,参见图3,S22可以具体包括:
S221:定制页面接收到get请求后,对get请求进行签名验证,判断是否通过签名验证,若是,执行S222,否则执行S223。
例如,签名验证时如果验证get请求来自压测工具,则确定通过签名验证,否则未通过签名验证。
S222:定制页面调用系统后端代码。
S223:不处理get请求。
如果get请求不是来自压测工具,则对该get请求进行拦截处理,避免线上用户访问该定制页面。
本实施例中,在接口性能测试时不需要模拟真实用户,实现将接口性能测试与用户的关联剥离,从而可以降低工作量,另外,通过直接调用待测试接口,不需要引入冗余操作,从而提高测试结果的准确度。进一步的,通过隐藏和/或签名验证,可以提高安全性。
图4是本申请一个实施例提出的测试装置的结构示意图。参见图4,该装置40包括:接收模块41、调用模块42和发送模块43。
接收模块41用于接收测试发起方发送的用于触发接口测试的触发消息。
其中,测试装置位于待测试接口所在的系统内,能够直接调用待测试接口,以完成接口性能测试。
测试装置可以是任一种能够接收测试发起方发送的消息,并能够直接调用待测试接口的模块。
本实施例中,以测试装置是定制页面为例。
定制页面是指自定义的用于定制用途的页面,本实施例中,用于定制用途具体是指用于接口性能测试。
以待测试接口所在的系统称为应用系统为例,应用系统可以生成定制页面,并将定制页面的统一资源定位符(Uniform Resource Locator,URL)地址提供给测试发起方,以使测试发起方根据该URL地址向定制页面发送触发消息。
测试发起方例如称为压测工具,压测工具内可以包括httpClient请求发送器,触发消息可以具体是指httpClient请求发送器发送的get请求。
调用模块42用于接收到所述触发消息后,直接调用待测试接口,以使所述待测试接口按照自身逻辑进行处理。
本实施例中,测试装置直接调用待测试接口,可以避免引入冗余操作。
测试装置在调用待测试接口后,待测试接口按照自身逻辑进行处理。例如,待测试接口是充值接口,则测试装置调用充值接口后,充值接口进行充值操作。其中,待测试接口可以由代码编写,从而待测试接口被调用后,代码运行完成充值等操作。
发送模块43用于接收所述待测试接口发送的处理结果,并将所述处理结果发送给所述测试发起方。
待测试接口按照自身逻辑处理后可以得到处理结果,例如充值成功或充值失败等,待测试接口在得到处理结果后,将处理结果发送给测试装置,再由测试装置发送给测试发起方,从而测试发起方可以根据处理结果获取接口性能,例如,测试发起方根据充值成功的次数和充值失败的次数,可以统计出充值接口的充值成功率等接口性能。
可选的,所述触发消息中包含所述定制页面的URL地址,以将所述触发消息发送给所述定制页面。
可选的,所述URL地址向非测试发起方隐藏。
一些实施例中,参见图5,该装置40还包括:
验证模块44,用于对所述触发请求进行签名验证,以便在签名验证通过后,调用待测试接口。
上述的定制页面可以是向线上开发的,为了保证安全性,需要保证线上正常使用的用户无法访问到该页面,这里就需要进行控制,一是隐藏URL地址,保证没有链接从前台直接跳转过来,二是如果有用户通过直接访问URL的方式意外访问到了该页面,则通过签名匹配方式将其拦截掉。只有特定签名的请求才认为是合法有效的。
可以理解的是,本实施例的装置与上述的方法实施例对应,具体内容可以参见方法实施例,在此不再详细说明。
本实施例中,在接口性能测试时不需要模拟真实用户,实现将接口性能测试与用户的关联剥离,从而可以降低工作量,另外,通过直接调用待测试接口,不需要引入冗余操作,从而提高测试结果的准确度。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种接口性能测试方法,其特征在于,包括:
测试装置接收测试发起方发送的用于触发接口测试的触发消息;
测试装置接收到所述触发消息后,直接调用待测试接口,以使所述待测试接口按照自身逻辑进行处理;
测试装置接收所述待测试接口发送的处理结果,并将所述处理结果发送给所述测试发起方。
2.根据权利要求1所述的方法,其特征在于,所述测试装置是定制页面。
3.根据权利要求2所述的方法,其特征在于,所述触发消息中包含所述定制页面的URL地址,以将所述触发消息发送给所述定制页面。
4.根据权利要求3所述的方法,其特征在于,所述URL地址向非测试发起方隐藏。
5.根据权利要求3所述的方法,其特征在于,测试装置接收到所述触发消息之后,所述方法还包括:
测试装置对所述触发请求进行签名验证,以便在签名验证通过后,调用待测试接口。
6.一种测试装置,其特征在于,包括:
接收模块,用于接收测试发起方发送的用于触发接口测试的触发消息;
调用模块,用于接收到所述触发消息后,直接调用待测试接口,以使所述待测试接口按照自身逻辑进行处理;
发送模块,用于接收所述待测试接口发送的处理结果,并将所述处理结果发送给所述测试发起方。
7.根据权利要求6所述的装置,其特征在于,所述装置是定制页面。
8.根据权利要求7所述的装置,其特征在于,所述触发消息中包含所述定制页面的URL地址,以将所述触发消息发送给所述定制页面。
9.根据权利要求7所述的装置,其特征在于,所述URL地址向非测试发起方隐藏。
10.根据权利要求7所述的装置,其特征在于,还包括:
验证模块,用于对所述触发请求进行签名验证,以便在签名验证通过后,调用待测试接口。
CN201610150710.1A 2016-03-16 2016-03-16 接口性能测试方法和装置 Pending CN107203459A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610150710.1A CN107203459A (zh) 2016-03-16 2016-03-16 接口性能测试方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610150710.1A CN107203459A (zh) 2016-03-16 2016-03-16 接口性能测试方法和装置

Publications (1)

Publication Number Publication Date
CN107203459A true CN107203459A (zh) 2017-09-26

Family

ID=59903516

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610150710.1A Pending CN107203459A (zh) 2016-03-16 2016-03-16 接口性能测试方法和装置

Country Status (1)

Country Link
CN (1) CN107203459A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109446068A (zh) * 2018-09-26 2019-03-08 平安健康保险股份有限公司 接口测试方法、装置、计算机设备和存储介质
CN109753432A (zh) * 2018-12-21 2019-05-14 瑞庭网络技术(上海)有限公司 一种接口性能测试方法、装置、服务器及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101576843A (zh) * 2008-05-07 2009-11-11 阿里巴巴集团控股有限公司 一种测试应用程序接口的方法和装置
US20110302552A1 (en) * 2010-06-03 2011-12-08 Canon Kabushiki Kaisha Information processing apparatus, control method thereof, and computer readable storage medium
CN103914377A (zh) * 2014-03-13 2014-07-09 中国联合网络通信集团有限公司 接口测试方法及装置
US8949792B2 (en) * 2009-08-18 2015-02-03 Adobe Systems Incorporated Methods and systems for data service development
CN105117345A (zh) * 2015-09-23 2015-12-02 网易(杭州)网络有限公司 一种应用程序的接口测试方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101576843A (zh) * 2008-05-07 2009-11-11 阿里巴巴集团控股有限公司 一种测试应用程序接口的方法和装置
US8949792B2 (en) * 2009-08-18 2015-02-03 Adobe Systems Incorporated Methods and systems for data service development
US20110302552A1 (en) * 2010-06-03 2011-12-08 Canon Kabushiki Kaisha Information processing apparatus, control method thereof, and computer readable storage medium
CN103914377A (zh) * 2014-03-13 2014-07-09 中国联合网络通信集团有限公司 接口测试方法及装置
CN105117345A (zh) * 2015-09-23 2015-12-02 网易(杭州)网络有限公司 一种应用程序的接口测试方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109446068A (zh) * 2018-09-26 2019-03-08 平安健康保险股份有限公司 接口测试方法、装置、计算机设备和存储介质
CN109446068B (zh) * 2018-09-26 2024-04-05 平安健康保险股份有限公司 接口测试方法、装置、计算机设备和存储介质
CN109753432A (zh) * 2018-12-21 2019-05-14 瑞庭网络技术(上海)有限公司 一种接口性能测试方法、装置、服务器及系统

Similar Documents

Publication Publication Date Title
US20200174915A1 (en) Emulation-based testing of a microservices architecture
US20180365674A1 (en) Using a mixture model to generate simulated transaction information
US8726086B2 (en) Generation of simulated errors for high-level system validation
US7991164B2 (en) Method for modifying the compatibility of an audio analyzing apparatus with an application program
CN108614777A (zh) 一种基于真实业务的金融交易测试系统及测试方法
US11829478B2 (en) Full server recovery architecture for cloud bare metal instances
WO2023024251A1 (zh) 模块验证方法、uvm验证平台、电子设备及存储介质
CN107423213A (zh) 一种文件描述符分配检测方法和装置
US20130061093A1 (en) Distributed test system and method, distributed test control system and method, distributed test plan creating apparatus and method, distributed test agent, and distributed test plan performing method
CN108718337A (zh) 网站账号登录、验证、验证信息处理方法、装置及系统
CN107203459A (zh) 接口性能测试方法和装置
CN112905459A (zh) 服务接口测试方法、装置、电子设备及存储介质
CN108829802B (zh) 关联日志回放方法及装置
CN112162925A (zh) 一种基于服务虚拟化的测试方法和系统
US20090031302A1 (en) Method for minimizing risks of change in a physical system configuration
CN107481040A (zh) 一种广告投放方法及装置
US8132058B1 (en) Auto regression tester for network-based storage virtualization system
FR2916546A1 (fr) Procede de simulation d'un systeme embarque a bord d'un aeronef pour tester un logiciel de fonctionnement et dispositif pour la mise en oeuvre de ce procede
CN112905460A (zh) 自动化接口测试模拟三方回执的装置及方法
CN113656307A (zh) 一种系统容量评估方法、装置、设备和介质
US7627462B2 (en) Hardware simulation using a test scenario manager
CN116132186B (zh) 一种安全算法模块的验证方法、装置、电子设备以及存储介质
CN110399304A (zh) 一种脚本的测试方法及系统
CN114840421A (zh) 日志数据处理方法及装置
US9543043B2 (en) Method for testing array fuse of semiconductor apparatus

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
TA01 Transfer of patent application right

Effective date of registration: 20200923

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200923

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170926