CN116467209A - 性能测试方法、装置、设备及存储介质 - Google Patents

性能测试方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116467209A
CN116467209A CN202310446563.2A CN202310446563A CN116467209A CN 116467209 A CN116467209 A CN 116467209A CN 202310446563 A CN202310446563 A CN 202310446563A CN 116467209 A CN116467209 A CN 116467209A
Authority
CN
China
Prior art keywords
test
preparation
performance
message set
transaction request
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
CN202310446563.2A
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202310446563.2A priority Critical patent/CN116467209A/zh
Publication of CN116467209A publication Critical patent/CN116467209A/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
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本公开提供了一种性能测试方法、装置、设备及存储介质,可以应用于计算机技术领域或金融科技领域。该方法包括:基于性能测试案例,触发进行测试准备的请求,其中,测试准备包括测试环境准备、测试程序准备、测试数据准备;基于进行测试准备的请求,从数据库中提取具有映射关系的交易请求集合与响应报文集合;在测试环境准备的阶段中,对交易请求集合进行处理,得到测试环境报文集合;在测试环境报文集合与响应报文集合对比一致的情况下,检测测试程序准备、测试数据准备的完成情况;在测试程序准备、测试数据准备均完成的情况下,执行性能测试案例,得到性能测试结果。

Description

性能测试方法、装置、设备及存储介质
技术领域
本公开涉及计算机技术领域或金融科技领域,尤其涉及一种性能测试方法、装置、设备、存储介质和程序产品。
背景技术
性能测试是指通过测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。性能测试一般具有测试准备阶段,该阶段用于提前准备完成性能测试所需的信息。
在实现本公开发明构思的过程中,发明人发现相关技术中一般会存在以下问题:测试准备阶段的耗时较长,而且一般需要人工一一进行测试准备,降低了性能测试的效率和智能化程度。
发明内容
鉴于上述问题,本公开提供了性能测试方法、装置、设备、介质和程序产品。
本公开的一个方面,提供了一种性能测试方法,包括:基于性能测试案例,触发进行测试准备的请求,其中,上述测试准备包括测试环境准备、测试程序准备、测试数据准备;基于进行上述测试准备的请求,从数据库中提取具有映射关系的交易请求集合与响应报文集合;在上述测试环境准备的阶段中,对上述交易请求集合进行处理,得到测试环境报文集合;在上述测试环境报文集合与上述响应报文集合对比一致的情况下,检测上述测试程序准备、上述测试数据准备的完成情况;在上述测试程序准备、上述测试数据准备均完成的情况下,执行上述性能测试案例,得到性能测试结果。
根据本公开的实施例,上述数据库中还包括预设IP地址;上述在上述测试环境准备的阶段中,对上述交易请求集合进行处理,得到测试环境报文集合包括:将上述预设IP地址处理成具有目标格式的目标IP地址;将上述交易请求集合中的每一个交易请求,依次发送至上述目标IP地址,以使得上述目标IP地址根据每一个上述交易请求均返回至少一个测试环境报文;根据至少一个上述测试环境报文,生成上述测试环境报文集合。
根据本公开的实施例,在上述测试环境报文集合与上述响应报文集合对比一致的情况下,检测上述测试程序准备的完成情况包括:将上述交易请求集合中的每一个交易请求,依次发送至上述目标IP地址,以使得上述目标IP地址根据每一个上述交易请求均返回至少一个测试程序报文,其中,上述发送的次数大于1;根据至少一个上述测试程序报文,生成测试程序报文集合;在上述测试程序报文集合与上述响应报文集合对比一致的情况下,表征上述测试程序准备完成。
根据本公开的实施例,在上述测试环境报文集合与上述响应报文集合对比一致的情况下,检测上述测试数据准备的完成情况包括:从上述数据库中随机抽取预设数量的账号密码对;基于抽取到的每一对上述账号密码对,将上述交易请求集合中的每一个交易请求,依次发送至上述目标IP地址,以使得上述目标IP地址根据每一个上述交易请求均返回至少一个测试数据报文,其中,上述发送的次数大于1;根据至少一个上述测试数据报文,生成测试数据报文集合;在上述测试数据报文集合与上述响应报文集合对比一致的情况下,表征上述测试数据准备完成。
根据本公开的实施例,上述方法还包括:自动更换每一对上述账号密码对,直至上述预设数量的账号密码对均得到上述测试数据报文,其中,在更换每一对上述账号密码对后,在上述数据库中标记更换的上述账号密码对。
根据本公开的实施例,上述测试程序中配置有屏蔽脚本,用于屏蔽随机生成的验证码以及屏蔽重复发送限制。
根据本公开的实施例,上述方法还包括:在上述性能测试结果表征性能测试通过的情况下,结束上述性能测试;在上述性能测试结果表征上述性能测试未通过的情况下,从上述测试结果中找到异常测试结果的标识。
本公开的另一方面还提供了一种性能测试装置,包括:触发模块,用于基于性能测试案例,触发进行测试准备的请求,其中,上述测试准备包括测试环境准备、测试程序准备、测试数据准备;提取模块,用于基于进行上述测试准备的请求,从数据库中提取具有映射关系的交易请求集合与响应报文集合;处理模块,用于在上述测试环境准备的阶段中,对上述交易请求集合进行处理,得到测试环境报文集合;检测模块,用于在上述测试环境报文集合与上述响应报文集合对比一致的情况下,检测上述测试程序准备、上述测试数据准备的完成情况;执行模块,用于在上述测试程序准备、上述测试数据准备均完成的情况下,执行上述性能测试案例,得到性能测试结果。
本公开的另一方面还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器执行上述的性能测试方法。
本公开的另一方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述的性能测试方法。
本公开的另一方面还提供了一种计算机程序产品,包括计算机程序,上述计算机程序被处理器执行时实现上述的性能测试方法。
根据本公开实施例提供的性能测试方法、装置、设备、存储介质和程序产品,通过基于性能测试案例,触发测试准备,并从数据库中提取到具有映射关系的交易请求集合和响应报文集合;在测试环境准备阶段,将对交易响应请求进行处理得到的测试环境报文集合,与响应报文集合进行对比,在对比一致的情况下,再检测测试程序准备和测试数据准备是否完成,在测试环境、测试程序、测试数据均准备完成的情况下,执行性能测试案例。因为在性能测试的过程中,能够自动触发并完成测试准备,而且能够先检测测试环境准备的完成情况,当测试环境准备完成的情况下,再检测测试程序和测试数据,至少部分地克服了相关技术中测试准备阶段耗时过长、需要人工一一准备的问题,达到了提高测试准备的效率、性能测试的效率和智能化程度的技术效果。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的性能测试方法、装置、设备、存储介质和程序产品的应用场景图;
图2示意性示出了根据本公开实施例的性能测试方法的流程图;
图3示意性示出了根据本公开实施例的测试准备阶段的框架图;
图4示意性示出了根据本公开实施例的性能测试的流程图;
图5示意性示出了根据本公开实施例的性能测试装置的结构框图;以及
图6示意性示出了根据本公开实施例的适于实现性能测试方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
性能测试的测试流程与普通的功能测试不同,功能测试步骤主要分为测试设计、测试实施、提问题、开发修复问题后的复测等,但性能测试会需要额外的测试准备阶段,性能测试更加难以管理测试进度。现有技术中的测试进度,一般只能通过测试管理人员人工与每个测试人员进行确认,得以确定。
功能测试中,一条测试案例的执行时间较短,且可通过测试人员提交测试案例的状态修改情况,进行管理,因此功能测试相对容易管理。但在性能测试中,性能测试一般需要并发测试,而且每条测试案例的前期测试准备的时间往往比测试时间还要多,且各个环节均可能存在阻塞,因通常需要并行准备,因此性能测试对测试人员的要求高,对测试管理人员的难度也高。点对点的进度沟通,会耗费较多的人力资源,由于相关技术中,缺少统一的进度量化方法,从而使得性能测试的进度难以管理,降低了性能测试的效率和智能化程度。
有鉴于此,本公开的实施例提供了一种性能测试方法、装置、设备、存储介质和程序产品,用于提高性能测试效率和智能化程度。具体地,性能测试方法包括:基于性能测试案例,触发进行测试准备的请求,其中,测试准备包括测试环境准备、测试程序准备、测试数据准备;基于进行测试准备的请求,从数据库中提取具有映射关系的交易请求集合与响应报文集合;在测试环境准备的阶段中,对交易请求集合进行处理,得到测试环境报文集合;在测试环境报文集合与响应报文集合对比一致的情况下,检测测试程序准备、测试数据准备的完成情况;在测试程序准备、测试数据准备均完成的情况下,执行性能测试案例,得到性能测试结果。
需要说明的是,本公开实施例确定的性能测试方法和装置可用于计算机技术领域或金融科技领域,也可用于除计算机技术领域或金融科技领域之外的任意领域,本公开实施例对确定的性能测试方法和装置的应用领域不做限定。
在本公开的技术方案中,所涉及的数据(如包括但不限于用户个人信息)的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
图1示意性示出了根据本公开实施例的性能测试方法、装置、设备、存储介质和程序产品的应用场景图。
如图1所示,根据该实施例的应用场景100可以包括第一终端设备101、第二终端设备102、第三终端设备103、网络104和服务器105。网络104用以在第一终端设备101、第二终端设备102、第三终端设备103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用第一终端设备101、第二终端设备102、第三终端设备103中的至少一个通过网络104与服务器105交互,以接收或发送性能测试请求等。第一终端设备101、第二终端设备102、第三终端设备103上可以安装有各种通讯客户端应用,例如金融类应用、购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
第一终端设备101、第二终端设备102、第三终端设备103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用第一终端设备101、第二终端设备102、第三终端设备103所发送的性能测试请求提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的性能测试请求等数据进行分析等处理,并将处理结果(例如根据性能测试请求获取或生成的网页、信息、或数据等)反馈给终端设备。具体地,服务器105可以响应性能测试请求,获取性能测试请求中携带的性能测试案例,并基于性能测试案例,触发进行测试准备的请求,其中,测试准备包括测试环境准备、测试程序准备、测试数据准备;基于进行测试准备的请求,从数据库中提取具有映射关系的交易请求集合与响应报文集合;在测试环境准备的阶段中,对交易请求集合进行处理,得到测试环境报文集合;在测试环境报文集合与响应报文集合对比一致的情况下,检测测试程序准备、测试数据准备的完成情况;在测试程序准备、测试数据准备均完成的情况下,执行性能测试案例,得到性能测试结果。
需要说明的是,本公开实施例所提供的性能测试方法一般可以由服务器105执行。相应地,本公开实施例所提供的性能测试装置一般可以设置于服务器105中。本公开实施例所提供的性能测试方法也可以由不同于服务器105且能够与第一终端设备101、第二终端设备102、第三终端设备103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的性能测试装置也可以设置于不同于服务器105且能够与第一终端设备101、第二终端设备102、第三终端设备103和/或服务器105通信的服务器或服务器集群中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
以下将基于图1描述的场景,通过图2~图4对公开实施例的性能测试方法进行详细描述。
图2示意性示出了根据本公开实施例的性能测试方法的流程图。
如图2所示,该实施例的性能测试包括操作S201~操作S205。
在操作S201,基于性能测试案例,触发进行测试准备的请求,其中,所述测试准备包括测试环境准备、测试程序准备、测试数据准备。
在操作S202,基于进行所述测试准备的请求,从数据库中提取具有映射关系的交易请求集合与响应报文集合。
在操作S203,在所述测试环境准备的阶段中,对所述交易请求集合进行处理,得到测试环境报文集合。
在操作S204,在所述测试环境报文集合与所述响应报文集合对比一致的情况下,检测所述测试程序准备、所述测试数据准备的完成情况。
在操作S205,在所述测试程序准备、所述测试数据准备均完成的情况下,执行所述性能测试案例,得到性能测试结果。
根据本公开的实施例,性能测试案例可以是指对一项软件产品进行测试任务的描述,性能测试案例中可以包括性能测试方案、测试方法、测试技术以及测试策略。具体地,测试案例可以是为某个目标而编制的一组测试输入、执行条件以及预期结果,用于核实是否满足某个软件的需求。
根据本公开的实施例,性能测试一般包括测试设计阶段、测试准备阶段、测试实施阶段、以及测试结果阶段。在测试设计阶段可以根据测试输入、执行条件以及预期结果等,生成测试案例。服务器在响应到性能测试案例生成后,可以自动触发进行测试准备的请求,以便自动进入到测试准备阶段。例如,通过编写脚本,当响应到测试案例完成的标识后,自动进入到测试准备阶段。
图3示意性示出了根据本公开实施例的测试准备阶段的框架图。
根据本公开的实施例,如图3所示,测试准备阶段可以包括测试环境准备阶段、测试程序准备阶段、测试数据准备阶段。测试环境准备阶段可以用于准备软件硬件测试环境的部署,测试程序准备阶段可以用于准备性能测试所需要的脚本;测试数据阶段可以用于准备进行性能测试所需要的数据。测试准备阶段中的每个阶段对应的性能测试案例状态进度表可以如表1所示。
表1
根据本公开的实施例,如表1所示,测试程序准备阶段准备就绪,可以表示测试程序准备阶段完成;测试环境准备阶段准备就绪,可以表示测试环境准备阶段完成;测试数据准备阶段准备就绪,可以表示测试数据准备阶段完成。测试程序准备阶段和测试环境准备阶段可以等待测试数据准备完成;测试环境准备阶段和测试数据准备阶段可以等待测试程序准备阶段完成;测试程序准备阶段和测试数据准备阶段可以等待测试环境准备阶段完成。测试程序准备阶段、测试环境阶段、测试数据阶段均准备就绪,可以表示测试准备阶段完成。
根据本公开的实施例,在响应到进行测试准备的请求后,可以从数据库中提取能够具有一一对应关系的交易请求集合和响应报文集合。例如,交易请求可以是指登录、查询、支付等,响应报文可以是根据交易请求得到的登录页面、登录成功页面、查询页面、支付页面、或者是登录链接、查询链接、支付链接等。可以理解的是,一个交易请求可以对应有多个响应报文。还需说明的是,这些具有映射关系的交易请求集合和响应报文集合可以是通过功能测试的。功能测试可以是指对产品的各功能进行验证,根据功能测试用例,逐项测试,以检测产品是否满足用户的需求,功能测试不需要并发测试。
根据本公开的实施例,在测试环境准备的阶段中,可以尝试处理交易请求,例如发送交易请求,并得到相应的测试环境报文,若该测试环境报文与通过功能测试的响应报文集合中的报文一致,则可以表明当前的测试环境已准备就绪,表明测试环境已准备完成。进而可以继续检测其余两项的测试准备是否完成。检测时,均可以将得到的测试报文与响应报文集合进行对比,对比均一致的情况下,可以认为测试准备已就绪,进而可以执行性能测试的后续操作了,以得到性能测试结果。
根据本公开的实施例,在检测测试准备是否完成时,可以首先检验测试环境是否准备完成,当测试环境尚未准备完成,则可以不需要检测剩余的两项是否准备完成;当测试环境准备完成,可以再检测剩余的两项是否准备完成,进而可以缩短测试准备的时间,提高测试准备的效率,提高性能测试的效率。
根据本公开实施例提供的性能测试方法、装置、设备、存储介质和程序产品,通过基于性能测试案例,触发测试准备,并从数据库中提取到具有映射关系的交易请求集合和响应报文集合;在测试环境准备阶段,将对交易响应请求进行处理得到的测试环境报文集合,与响应报文集合进行对比,在对比一致的情况下,再检测测试程序准备和测试数据准备是否完成,在测试环境、测试程序、测试数据均准备完成的情况下,执行性能测试案例。因为在性能测试的过程中,能够自动触发并完成测试准备,而且能够先检测测试环境准备的完成情况,当测试环境准备完成的情况下,再检测测试程序和测试数据,至少部分地克服了相关技术中测试准备阶段耗时过长、需要人工一一准备的问题,达到了提高测试准备的效率、性能测试的效率和智能化程度的技术效果。
根据本公开的实施例,针对测试程序准备阶段、测试环境准备阶段和测试数据准备阶段的具体说明和检验是否完成的表征的验收方法可以如表2所示。通过表2所示的检验标准,可以实现自动更新案例状态。可以理解的是,在进行性能测试前,可以先提前在功能测试的功能环境中,先处理交易请求并得到响应报文,并记录通过功能测试的交易请求与响应报文信息。
表2
根据本公开的实施例,数据库中还包括预设IP地址;操作S203还可以包括如下操作:将预设IP地址处理成具有目标格式的目标IP地址;将交易请求集合中的每一个交易请求,依次发送至目标IP地址,以使得目标IP地址根据每一个交易请求均返回至少一个测试环境报文;根据至少一个测试环境报文,生成测试环境报文集合。
根据本公开的实施例,预设IP地址可以是在功能测试环境中使用的IP地址,目标格式的IP地址可以是指在性能测试环境下的IP地址。功能测试和性能测试的IP地址不是通用的。在测试环境时,可以只发送1次交易请求,若响应到的测试环境报文集合与通过功能测试的响应报文集合一致,则可以认为当前的测试环境准备完成。
根据本公开的实施例,操作204还可以包括如下操作:将交易请求集合中的每一个交易请求,依次发送至目标IP地址,以使得目标IP地址根据每一个交易请求均返回至少一个测试程序报文,其中,发送的次数大于1;根据至少一个测试程序报文,生成测试程序报文集合;在测试程序报文集合与响应报文集合对比一致的情况下,表征测试程序准备完成。
根据本公开的实施例,测试程序中配置有屏蔽脚本,用于屏蔽随机生成的验证码以及屏蔽重复发送限制。
根据本公开的实施例,由于在性能测试过程中,是需要连续测试的,所以在测试程序准备的过程中,添加屏蔽脚本以屏蔽防重放程序。在测试程序准备的过程中,发送交易请求的次数需要大于1次,可以是至少2次,若根据该2次发送的交易请求响应到的测试程序报文集合与通过功能测试的响应报文集合均一致,则可以说明当前的屏蔽脚本设置成功,且测试程序已准备就绪。
根据本公开的实施例,操作S204还可以包括如下操作:从数据库中随机抽取预设数量的账号密码对;基于抽取到的每一对账号密码对,将交易请求集合中的每一个交易请求,依次发送至目标IP地址,以使得目标IP地址根据每一个交易请求均返回至少一个测试数据报文,其中,发送的次数大于1;根据至少一个测试数据报文,生成测试数据报文集合;在测试数据报文集合与响应报文集合对比一致的情况下,表征测试数据准备完成。
根据本公开的实施例,上述方法还包括:自动更换每一对账号密码对,直至预设数量的账号密码对均得到测试数据报文,其中,在更换每一对账号密码对后,在数据库中标记更换的账号密码对。
根据本公开的实施例,在测试数据准备阶段,可以登录抽取到的每一对账号密码对,以及在该登录的账号密码对下,连续发送多次交易请求,并将通过响应交易请求得到的测试数据报文集合与通过功能测试的响应报文集合进行对比,对比一致的情况下,可以认为测试数据准备就绪。
根据本公开的实施例,在更换账号密码对时,对于通过检测的账号密码对可以赋予已通过检测的标记,以防止重复使用已通过检测的账号密码对,进而提高性能测试的效率。
根据本公开的实施例,上述方法还可以包括在性能测试结果表征性能测试通过的情况下,结束性能测试;在性能测试结果表征性能测试未通过的情况下,从测试结果中找到异常测试结果的标识。
图4示意性示出了根据本公开实施例的性能测试的流程图。
如图4所示,性能测试可以包括测试设计401、测试准备402、测试实施403、测试是否通过404、提问题405以及复测406。表3是根据本公开实施例的每一个阶段完成后,所对应的测试案例的状态。
表3
环节 案例状态
测试设计完成 未执行
测试实施通过 测试通过
测试实施未通过 测试不通过(绑定对应的问题编号)
根据本公开的实施例,当性能测试通过时,可以直接结束当前的性能测试流程。当性能测试不通过时,可以执行操作S405~操作S406,从性能测试不通过的结果中,确定存在的问题的标识,根据该标识可以从数据库中查找对应的解决方案,在解决该问题后,进行性能测试的复测,直到性能测试通过。
根据本公开的实施例,通过提前准备测试报文和数据字段的映射关系,即可定时自动化检测程序、环境、数据是否完成准备,通常情况数据准备和程序准备均晚于环境准备,因此检测时如环境准备尚未通过则可不检测其余两项,通过后再分别检测程序准备和数据准备。
根据本公开的实施例,性能测试的工作流程一般如图4所示,如前文所说,相比功能测试,性能测试多一个测试准备阶段,该阶段耗时长,且往往容易出现问题成为瓶颈,因此需要并行开展。本公开提供的实施例主要解决的是该测试准备阶段的量化管理。通过本公开实施例提供的技术方案,不仅可以改善纯人工管理所投入的人力成本大的问题;还可以量化测试进度,提高性能测试的效率和智能化程度。
需要说明的是,本公开实施例中的流程图所示的操作除非明确说明不同操作之间存在执行的先后顺序,或者不同操作在技术实现上存在执行的先后顺序,否则,多个操作之间的执行顺序可以不分先后,多个操作也可以同时执行。
基于上述性能测试方法,本公开还提供了一种性能测试装置。以下将结合图5对该装置进行详细描述。
图5示意性示出了根据本公开实施例的性能测试装置的结构框图。
如图5所示,该实施例的性能测试装置500包括触发模块510、提取模块520、处理模块530、检测模块540和执行模块550。
触发模块510,用于基于性能测试案例,触发进行测试准备的请求,其中,所述测试准备包括测试环境准备、测试程序准备、测试数据准备。
提取模块520,用于基于进行所述测试准备的请求,从数据库中提取具有映射关系的交易请求集合与响应报文集合。
处理模块530,用于在所述测试环境准备的阶段中,对所述交易请求集合进行处理,得到测试环境报文集合。
检测模块540,用于在所述测试环境报文集合与所述响应报文集合对比一致的情况下,检测所述测试程序准备、所述测试数据准备的完成情况。
执行模块550,用于在所述测试程序准备、所述测试数据准备均完成的情况下,执行所述性能测试案例,得到性能测试结果。
根据本公开实施例提供的性能测试方法、装置、设备、存储介质和程序产品,通过基于性能测试案例,触发测试准备,并从数据库中提取到具有映射关系的交易请求集合和响应报文集合;在测试环境准备阶段,将对交易响应请求进行处理得到的测试环境报文集合,与响应报文集合进行对比,在对比一致的情况下,再检测测试程序准备和测试数据准备是否完成,在测试环境、测试程序、测试数据均准备完成的情况下,执行性能测试案例。因为在性能测试的过程中,能够自动触发并完成测试准备,而且是先检测测试环境准备的完成情况,当测试环境准备完成的情况下,再检测测试程序和测试数据,至少部分地克服了相关技术中测试准备阶段耗时过长、需要人工一一准备的问题,达到了提高测试准备的效率、性能测试的效率和智能化程度的技术效果。
根据本公开的实施例,处理模块还可以包括处理单元、第一发送单元、第一生成单元。
处理单元,用于将所述预设IP地址处理成具有目标格式的目标IP地址。
第一发送单元,用于将所述交易请求集合中的每一个交易请求,依次发送至所述目标IP地址,以使得所述目标IP地址根据每一个所述交易请求均返回至少一个测试环境报文。
第一生成单元,用于根据至少一个所述测试环境报文,生成所述测试环境报文集合。
根据本公开的实施例,检测模块可以包括第二发送单元、第二生成单元、第一对比单元。
第二发送单元,用于将所述交易请求集合中的每一个交易请求,依次发送至所述目标IP地址,以使得所述目标IP地址根据每一个所述交易请求均返回至少一个测试程序报文,其中,所述发送的次数大于1。
第二生成单元,用于根据至少一个所述测试程序报文,生成测试程序报文集合。
第一对比单元,用于在所述测试程序报文集合与所述响应报文集合对比一致的情况下,表征所述测试程序准备完成。
根据本公开的实施例,检测模块还可以包括抽取单元、第三发送单元、第三生成单元、第二对比单元。
抽取单元,用于从所述数据库中随机抽取预设数量的账号密码对。
第三发送单元,用于基于抽取到的每一对所述账号密码对,将所述交易请求集合中的每一个交易请求,依次发送至所述目标IP地址,以使得所述目标IP地址根据每一个所述交易请求均返回至少一个测试数据报文,其中,所述发送的次数大于1。
第三生成单元,用于根据至少一个所述测试数据报文,生成测试数据报文集合。
第二对比单元,用于在所述测试数据报文集合与所述响应报文集合对比一致的情况下,表征所述测试数据准备完成。
根据本公开的实施例,性能测试装置还可以包括更换模块。
更换模块,用于自动更换每一对所述账号密码对,直至所述预设数量的账号密码对均得到所述测试数据报文,其中,在更换每一对所述账号密码对后,在所述数据库中标记更换的所述账号密码对。
根据本公开的实施例,性能测试装置还可以包括配置模块。
配置模块,用于在测试程序中配置屏蔽脚本,屏蔽脚本用于屏蔽随机生成的验证码以及屏蔽重复发送限制。
根据本公开的实施例,性能测试装置还可以包括结束单元、查找单元。
结束单元,用于在所述性能测试结果表征性能测试通过的情况下,结束所述性能测试。
查找单元,用于在所述性能测试结果表征所述性能测试未通过的情况下,从所述测试结果中找到异常测试结果的标识。
根据本公开的实施例,触发模块510、提取模块520、处理模块530、检测模块540和执行模块550中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,触发模块510、提取模块520、处理模块530、检测模块540和执行模块550中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,触发模块510、提取模块520、处理模块530、检测模块540和执行模块550中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
需要说明的是,本公开的实施例中交易处理装置部分与本公开的实施例中交易处理方法部分是相对应的,交易处理装置部分的描述具体参考交易处理方法部分,在此不再赘述。
图6示意性示出了根据本公开实施例的适于实现性能测试方法的电子设备的方框图。
如图6所示,根据本公开实施例的电子设备600包括处理器601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。处理器601例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器601还可以包括用于缓存用途的板载存储器。处理器601可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 603中,存储有电子设备600操作所需的各种程序和数据。处理器601、ROM602以及RAM 603通过总线604彼此相连。处理器601通过执行ROM 602和/或RAM 603中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 602和RAM 603以外的一个或多个存储器中。处理器601也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备600还可以包括输入/输出(I/O)接口605,输入/输出(I/O)接口605也连接至总线604。电子设备600还可以包括连接至输入/输出(I/O)接口605的以下部件中的一项或多项:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至输入/输出(I/O)接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 602和/或RAM 603和/或ROM 602和RAM 603以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的性能测试方法。
在该计算机程序被处理器601执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分609被下载和安装,和/或从可拆卸介质611被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被处理器601执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (11)

1.一种性能测试方法,包括:
基于性能测试案例,触发进行测试准备的请求,其中,所述测试准备包括测试环境准备、测试程序准备、测试数据准备;
基于进行所述测试准备的请求,从数据库中提取具有映射关系的交易请求集合与响应报文集合;
在所述测试环境准备的阶段中,对所述交易请求集合进行处理,得到测试环境报文集合;
在所述测试环境报文集合与所述响应报文集合对比一致的情况下,检测所述测试程序准备、所述测试数据准备的完成情况;
在所述测试程序准备、所述测试数据准备均完成的情况下,执行所述性能测试案例,得到性能测试结果。
2.根据权利要求1所述的方法,其中,所述数据库中还包括预设IP地址;
所述在所述测试环境准备的阶段中,对所述交易请求集合进行处理,得到测试环境报文集合包括:
将所述预设IP地址处理成具有目标格式的目标IP地址;
将所述交易请求集合中的每一个交易请求,依次发送至所述目标IP地址,以使得所述目标IP地址根据每一个所述交易请求均返回至少一个测试环境报文;
根据至少一个所述测试环境报文,生成所述测试环境报文集合。
3.根据权利要求2所述的方法,其中,在所述测试环境报文集合与所述响应报文集合对比一致的情况下,检测所述测试程序准备的完成情况包括:
将所述交易请求集合中的每一个交易请求,依次发送至所述目标IP地址,以使得所述目标IP地址根据每一个所述交易请求均返回至少一个测试程序报文,其中,所述发送的次数大于1;
根据至少一个所述测试程序报文,生成测试程序报文集合;
在所述测试程序报文集合与所述响应报文集合对比一致的情况下,表征所述测试程序准备完成。
4.根据权利要求2所述的方法,其中,在所述测试环境报文集合与所述响应报文集合对比一致的情况下,检测所述测试数据准备的完成情况包括:
从所述数据库中随机抽取预设数量的账号密码对;
基于抽取到的每一对所述账号密码对,将所述交易请求集合中的每一个交易请求,依次发送至所述目标IP地址,以使得所述目标IP地址根据每一个所述交易请求均返回至少一个测试数据报文,其中,所述发送的次数大于1;
根据至少一个所述测试数据报文,生成测试数据报文集合;
在所述测试数据报文集合与所述响应报文集合对比一致的情况下,表征所述测试数据准备完成。
5.根据权利要求4所述的方法,还包括:
自动更换每一对所述账号密码对,直至所述预设数量的账号密码对均得到所述测试数据报文,其中,在更换每一对所述账号密码对后,在所述数据库中标记更换的所述账号密码对。
6.根据权利要求3所述的方法,其中,所述测试程序中配置有屏蔽脚本,用于屏蔽随机生成的验证码以及屏蔽重复发送限制。
7.根据权利要求1所述的方法,还包括:
在所述性能测试结果表征性能测试通过的情况下,结束所述性能测试;
在所述性能测试结果表征所述性能测试未通过的情况下,从所述测试结果中找到异常测试结果的标识。
8.一种性能测试装置,包括:
触发模块,用于基于性能测试案例,触发进行测试准备的请求,其中,所述测试准备包括测试环境准备、测试程序准备、测试数据准备;
提取模块,用于基于进行所述测试准备的请求,从数据库中提取具有映射关系的交易请求集合与响应报文集合;
处理模块,用于在所述测试环境准备的阶段中,对所述交易请求集合进行处理,得到测试环境报文集合;
检测模块,用于在所述测试环境报文集合与所述响应报文集合对比一致的情况下,检测所述测试程序准备、所述测试数据准备的完成情况;
执行模块,用于在所述测试程序准备、所述测试数据准备均完成的情况下,执行所述性能测试案例,得到性能测试结果。
9.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~7中任一项所述的方法。
11.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~7中任一项所述的方法。
CN202310446563.2A 2023-04-24 2023-04-24 性能测试方法、装置、设备及存储介质 Pending CN116467209A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310446563.2A CN116467209A (zh) 2023-04-24 2023-04-24 性能测试方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310446563.2A CN116467209A (zh) 2023-04-24 2023-04-24 性能测试方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN116467209A true CN116467209A (zh) 2023-07-21

Family

ID=87175076

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310446563.2A Pending CN116467209A (zh) 2023-04-24 2023-04-24 性能测试方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116467209A (zh)

Similar Documents

Publication Publication Date Title
CN112463729B (zh) 数据文件的入库方法、装置、电子设备和介质
CN114090113B (zh) 数据源处理插件动态加载的方法、装置、设备及存储介质
CN113362173A (zh) 防重机制验证方法、验证系统、电子设备及存储介质
CN113342560A (zh) 一种故障处理方法、系统、电子设备及存储介质
CN113535577A (zh) 基于知识图谱的应用测试方法、装置、电子设备和介质
CN107229565B (zh) 测试方法和装置
CN113191889A (zh) 风控配置方法、配置系统、电子设备及可读存储介质
CN116662302A (zh) 数据处理方法、装置、电子设备及存储介质
CN116166390A (zh) 一种业务处理方法、装置、电子设备和存储介质
CN113392002B (zh) 一种测试系统构建方法、装置、设备及存储介质
CN116467209A (zh) 性能测试方法、装置、设备及存储介质
CN113592645A (zh) 数据验证的方法和装置
CN113495498A (zh) 用于硬件设备的模拟方法、模拟器、设备和介质
CN111737129A (zh) 服务控制方法、装置、计算机可读介质及电子设备
CN113158166B (zh) 一种外设调用方法、系统、电子设备及介质
CN113535568B (zh) 应用部署版本的验证方法、装置、设备和介质
CN115190008B (zh) 故障处理方法、故障处理装置、电子设备及存储介质
CN111324846B (zh) 信息处理方法、装置、电子设备及计算机可读存储介质
CN112835804B (zh) 测试案例处理方法、装置、电子设备及介质
CN117176576A (zh) 网络资源变更方法、装置、设备及存储介质
CN116431519A (zh) 软件测试方法及装置、电子设备和计算机可读存储介质
CN113515401A (zh) 一种异常交易的定位排错方法、系统、电子设备及介质
CN115914400A (zh) 业务处理方法、装置、电子设备及介质
CN116975200A (zh) 用于控制服务器工作状态的方法、装置、设备及介质
CN113344584A (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