CN111651351A - 一种基于Jenkins的软件性能测试方法及装置 - Google Patents
一种基于Jenkins的软件性能测试方法及装置 Download PDFInfo
- Publication number
- CN111651351A CN111651351A CN202010479186.9A CN202010479186A CN111651351A CN 111651351 A CN111651351 A CN 111651351A CN 202010479186 A CN202010479186 A CN 202010479186A CN 111651351 A CN111651351 A CN 111651351A
- Authority
- CN
- China
- Prior art keywords
- performance
- file
- script file
- test script
- performance test
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test 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)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明涉及软件测试技术领域,公开了一种基于Jenkins的软件性能测试方法及装置,其中,所述方法包括:接收测试平台发送的性能测试脚本文件和参数文件,其中,所述参数文件是根据所述性能测试脚本文件得到的;通过任务Job,将所述性能测试脚本文件和所述参数文件发送至所述任务Job对应的性能测试机,以使所述性能测试机根据所述参数文件,执行所述性能测试脚本文件,生成所述性能测试脚本文件的测试报告。本发明在进行软件测试时,无需手动敲写性能测试脚本的执行命令,也无需手动收集测试报告,整个过程自动化,大大的减少了测试人员的操作步骤,节约了操作时间,提高了测试效率。
Description
技术领域
本发明涉及软件测试技术领域,具体涉及一种基于Jenkins的软件性能测试方法及装置。
背景技术
随着互联网的快速发展,网站、服务器和软件的使用频率越来越高,所以,为了保证各个软件、网站或服务器的稳定运行,在开发初期,对软件进行性能测试成为重中之重。软件性能测试是为了发现错误而执行程序的过程,目的是为了在投入运行之前,尽可能多的发现并排除软件中潜藏的错误,从而提高软件的质量。
目前,多使用性能测试脚本实现软件性能测试,但是,目前软件性能测试存在以下不足:在每次性能测试时,需要人为的将性能测试脚本文件上传至服务器,并手动敲写执行脚本的命令,然后在手动上传至服务器执行,最后,还需要手动收集测试报告,而执行不同的场景又需要重复上述流程。上述测试方式不仅步骤繁琐,耗时耗力,还大大的降低了软件性能测试的效率。所以,如何减少软件性能测试的繁琐步骤,提高测试效率成为一个亟待解决的问题。
发明内容
为了解决现有软件性能测试所存在的步骤繁琐和效率低的问题,本发明的目的在于提供一种步骤简洁且效率高的基于Jenkins的软件性能测试方法及装置、计算机主设备和计算机可读存储介质。
第一方面,本发明提供了一种基于Jenkins的软件性能测试方法,包括:
测试平台接收性能测试脚本文件;
测试平台根据所述性能测试脚本文件,生成用于执行所述性能测试脚本文件的参数文件;
测试平台将所述性能测试脚本文件和所述参数文件发送至Jenkins平台;
Jenkins平台接收来自测试平台发送的所述性能测试脚本文件和所述参数文件;
Jenkins平台通过任务Job,将所述性能测试脚本文件和所述参数文件发送至所述任务Job对应的性能测试机;
性能测试机接收来自Jenkins平台发送的性能测试脚本文件和参数文件;
性能测试机根据所述参数文件,执行所述性能测试脚本文件,生成所述性能测试脚本文件的测试报告;
性能测试机将所述测试报告发送至测试平台;
测试平台接收来自性能测试机发送的所述测试报告。
基于上述发明内容,本发明通过任务Job来控制性能测试机启动性能测试(即任务Job中不仅包含有性能测试脚本文件和参数文件,还包含有控制其选择的节点所对应的性能测试机进行测试的命令),同时利用参数文件来执行性能测试脚本文件,得到测试报告。
在进行测试时,先使用测试平台根据性能测试脚本文件生成其对应的参数文件(参数文件中包含有执行性能测试脚本文件的命令),然后将性能测试脚本文件和参数文件传输至Jenkins平台中的任务Job,通过任务Job传输至性能测试机中,最后,性能测试机则根据参数文件中的命令,执行性能测试脚本文件,完成对软件的测试。通过上述设计,本发明在进行软件测试时,无需手动敲写性能测试脚本的执行命令,也无需手动收集测试报告,整个过程自动化,大大的减少了测试人员的操作步骤,节约了操作时间,提高了测试效率。
在一个可能的设计中,所述方法还包括:
Jenkins平台检测用户在Jenkins操作界面上进行的节点创建操作;
Jenkins平台响应所述节点创建操作,创建至少一个节点,其中,所述至少一个节点中的每个节点分别用于与至少一台性能测试机建立远程连接;
Jenkins平台检测用户在Jenkins操作界面上对所述至少一个节点进行的标签设置操作;
Jenkins平台响应所述标签设置操作,对所述至少一个节点设置标签,其中,所述标签用于指示所述任务Job在所述至少一个节点中选择所述标签对应的节点运行。
基于上述发明内容,本发明在Jenkins平台中建立节点以及节点的标签,其中,通过节点建立与性能测试机的远程连接,通过标签来选择任务Job运行的节点,即选择任务Job在哪台性能测试机上运行,最终决定性能测试脚本文件在哪台性能测试机上完成性能测试。
在一个可能的设计中,Jenkins平台在接收到来自测试平台发送的性能测试脚本文件和参数文件后,所述方法还包括:
Jenkins平台对所述性能测试脚本文件和所述参数文件进行参数化构建,得到用于传递所述性能测试脚本文件和所述参数文件的文件参数;
Jenkins平台将所述文件参数发送至所述任务Job对应的性能测试机;
性能测试机接收所述文件参数,根据所述文件参数接收Jenkins平台发送的所述性能测试脚本文件和所述参数文件。
在一个可能的设计中,测试平台根据所述性能测试脚本文件,生成用于执行所述性能测试脚本文件的参数文件,包括:
测试平台判断所述性能测试脚本文件中是否存在并发线程组节点;
若是,则读取所述性能测试脚本文件中的目标线程数、总启动时间、步长和线程启动完成后持续运行的时间,得到第一读取结果;
否则,则读取所述性能测试脚本文件中的线程数、上升时间、循环次数、持续时间和延迟时间,得到第二读取结果。
基于上述发明内容,测试平台通过检验性能测试脚本文件中是否存在并发线程组节点,然后根据检验结果来读取性能测试脚本文件中不同参数的值,得到不同的读取结果,为后续命令的生成提供数据基础。
在一个可能的设计中,测试平台得到所述第一读取结果后,所述方法还包括:
测试平台根据所述第一读取结果,生成用于执行所述性能测试脚本文件的第一命令;
将所述第一命令记录在第一文件中,得到所述参数文件;或
在得到所述第二读取结果后,所述方法还包括:
测试平台根据所述第二读取结果,生成用于执行所述性能测试脚本文件的第二命令;
将所述第二命令记录在第二文件中,得到所述参数文件。
基于上述发明内容,可根据读取的结果生成用于执行性能测试脚本文件的第一命令或第二命令,而将第一命令或第二命令分别记录至文件中,即可得到参数文件。其中,第一命令包含有第一读取结果中参数的值,第二命令中包含有第二读取结果中参数的值,可以理解为,两读取结果中参数的值分别作为对应命令中执行性能测试脚本文件的命令指标。
在一个可能的设计中,测试平台在接收所述性能测试机发送的测试报告后,所述方法还包括:
测试平台在显示界面上展示所述测试报告;
其中,所述测试报告包括测试人员、测试的项目名称、测试的环境、测试时间、对应的性能测试脚本文件和对应的参数文件中的任意一种或任意多种组合。
基于上述发明内容,将测试报告展示在显示界面上,可便于测试人员查看或下载测试报告,也能便于测试人员查看测试报告中的信息,提高了查看的便捷性。
在一个可能的设计中,性能测试机在生成所述性能测试脚本文件后,所述方法还包括:
性能测试机打包所述测试报告;
性能测试机将打包后的所述测试报告,发送至云服务器;
测试平台建立与云服务器的远程连接,从所述云服务器中获取所述测试报告。
基于上述公开的内容,将测试报告打包上传至云服务器,而测试平台即可从云服务器中获取测试报告。通过上述设计,可对测试数据进行数据备份,防止测试数据丢失。
第二方面,本发明提供了一种Jenkins平台,包括:第一接收单元和任务Job单元;
所述第一接收单元,用于接收来自测试平台发送的性能测试脚本文件和参数文件,其中,所述参数文件是根据所述性能测试脚本文件得到的;
所述任务Job单元,用于通过任务Job,将性能测试脚本文件和参数文件发送至任务Job对应的性能测试机,以使所述性能测试机根据所述参数文件,执行所述性能测试脚本文件,生成所述性能测试脚本文件的测试报告。
在一个可能的设计中,所述Jenkins平台还包括:节点创建单元和标签设置单元;
所述节点创建单元,用于在检测到用户在Jenkins操作界面上进行节点创建操作后,创建至少一个节点,其中,所述至少一个节点中的每个节点分别用于与至少一台性能测试机建立远程连接;
所述标签设置单元,用于在检测到用户在Jenkins操作界面上对所述至少一个节点进行标签设置操作后,对所述至少一个节点设置标签;其中,所述标签用于指示所述任务Job在所述至少一个节点中选择所述标签对应的节点运行。
在一个可能的设计中,所述Jenkins平台还包括参数化构建单元和第一发送单元;
所述参数化构建单元,用于对所述性能测试脚本文件和所述参数文件进行参数化构建,得到用于传递所述性能测试脚本文件和所述参数文件的文件参数;
所述第一发送单元,用于向性能测试机发送所述文件参数,以使所述性能测试机根据所述文件参数接收所述性能测试脚本文件和所述参数文件。
第三方面,本发明提供了一种测试平台,包括;第二接收单元、参数文件生成单元和第二发送单元;
所述第二接收单元,用于接收性能测试脚本文件;
所述参数文件生成单元,用于根据所述性能测试脚本文件,生成用于执行所述性能测试脚本文件的参数文件;
所述第二发送单元,用于将所述性能测试脚本文件和所述参数文件发送至Jenkins平台;
所述第二接收单元,还用于接收所述性能测试机发送的测试报告。
在一个可能的设计中,所述参数文件生成单元包括判断子单元和读取子单元;
所述判断子单元,用于判断所述性能测试脚本文件中是否存在并发线程组节点;
所述读取子单元,用于根据判断子单元的判断结果,读取所述性能测试脚本文件中的目标线程数、总启动时间、步长、线程启动完成后持续运行的时间、线程循环次数和时间的单位值,得到第一读取结果;或
读取所述性能测试脚本文件中的线程数、上升时间、循环次数、持续时间和延迟时间,得到第二读取结果。
在一个可能的设计中,所述参数文件生成单元还包括命令生成子单元;
所述命令生成子单元,用于根据所述第一读取结果,生成用于执行所述性能测试脚本文件的第一命令,并将所述第一命令记录在第一文件中,得到所述参数文件;或
根据所述第二读取结果,生成用于执行所述性能测试脚本文件的第二命令,将所述第二命令记录在第二文件中,得到所述参数文件。
在一个可能的设计中,所述测试平台还包括显示单元;
所述显示单元,用于显示所述测试报告,其中,所述测试报告包括测试人员、测试的项目名称、测试的环境、测试时间、对应的性能测试脚本文件和对应的参数文件中的任意一种或任意多种组合。
在一个可能的设计中,所述测试平台还包括下载单元;
所述下载单元,用于建立与云服务器的远程连接,并从所述云服务器中获取所述测试报告。
第四方面,本发明提供了一种性能测试机,包括第三接收单元、测试单元和第三发送单元;
所述第三接收单元,用于接收来自Jenkins平台发送的性能测试脚本文件和参数文件,其中,所述参数文件是根据所述性能测试脚本文件得到的;
所述测试单元,用于根据所述参数文件,执行所述性能测试脚本文件,生成所述性能测试脚本文件的测试报告;
所述第三发送单元,用于将所述测试报告发送至测试平台。
在一个可能的设计中,所述性能测试机还包括文件打包单元;
所述文件打包单元,用于打包所述测试报告;
所述第三发送单元,还用于将打包后的所述测试报告,发送至云服务器。
第五方面,本发明提供了一种基于Jenkins的软件性能测试系统,包括:测试平台、Jenkins平台和性能测试机;
所述测试平台用于接收性能测试脚本文件,根据所述性能测试脚本文件,生成用于执行所述性能测试脚本文件的参数文件,并将所述性能测试脚本文件和所述参数文件发送至所述Jenkins平台;
所述Jenkins平台用于接收来自测试平台发送的性能测试脚本文件和参数文件,并将所述性能测试脚本文件和所述参数文件,通过内部的任务Job发送至所述性能测试机;
所述性能测试机,用于接收来自所述Jenkins平台发送的所述性能测试脚本文件和所述参数文件,并根据所述参数文件,执行所述性能测试脚本文件,生成所述性能测试脚本文件的测试报告,发送至所述测试平台。
在一个可能的设计中,所述Jenkins平台还用于创建至少一个节点和对所述至少一个节点设置标签,其中,所述标签用于指示所述任务Job在所述至少一个节点中选择所述标签对应的节点运行,所述任务Job用于使选择的节点对应的性能测试机执行性能测试命令。
第六方面,本发明提供了一种计算机主设备,包括:依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行第一方面所述的基于Jenkins的脚本文件的性能测试方法。
第七方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行第一方面所述的基于Jenkins的脚本文件的性能测试方法。
第八方面,本发明提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如第一方面所述的基于Jenkins的脚本文件的性能测试方法。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的基于Jenkins的软件性能测试方法的流程示意图。
图2是本发明提供的Jenkins平台的结构示意图。
图3是本发明提供的测试平台的结构示意图。
图4是本发明提供的性能测试机的结构示意图。
图5是本发明提供的基于Jenkins的软件性能测试系统的结构示意图。
图6是本发明提供的计算机主设备的结构示意图。
具体实施方式
下面结合附图及具体实施例来对本发明作进一步阐述。在此需要说明的是,对于这些实施例方式的说明虽然是用于帮助理解本发明,但并不构成对本发明的限定。本文公开的特定结构和功能细节仅用于描述本发明的示例实施例。然而,可用很多备选的形式来体现本发明,并且不应当理解为本发明限制在本文阐述的实施例中。
应当理解,尽管本文可能使用术语第一、第二等等来描述各种单元,但是这些单元不应当受到这些术语的限制。这些术语仅用于区分一个单元和另一个单元。例如可以将第一单元称作第二单元,并且类似地可以将第二单元称作第一单元,同时不脱离本发明的示例实施例的范围。
应当理解,对于本文中可能出现的术语“和/或”,其仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B三种情况;对于本文中可能出现的术语“/和”,其是描述另一种关联对象关系,表示可以存在两种关系,例如,A/和B,可以表示:单独存在A,单独存在A和B两种情况;另外,对于本文中可能出现的字符“/”,一般表示前后关联对象是一种“或”关系。
应当理解,在本文中若将单元称作与另一个单元“连接”、“相连”或“耦合”时,它可以与另一个单元直相连接或耦合,或中间单元可以存在。相対地,在本文中若将单元称作与另一个单元“直接相连”或“直接耦合”时,表示不存在中间单元。另外,应当以类似方式来解释用于描述单元之间的关系的其他单词(例如,“在……之间”对“直接在……之间”,“相邻”对“直接相邻”等等)。
应当理解,本文使用的术语仅用于描述特定实施例,并不意在限制本发明的示例实施例。若本文所使用的,单数形式“一”、“一个”以及“该”意在包括复数形式,除非上下文明确指示相反意思。还应当理解,若术语“包括”、“包括了”、“包含”和/或“包含了”在本文中被使用时,指定所声明的特征、整数、步骤、操作、单元和/或组件的存在性,并且不排除一个或多个其他特征、数量、步骤、操作、单元、组件和/或他们的组合存在性或增加。
应当理解,还应当注意到在一些备选实施例中,所出现的功能/动作可能与附图出现的顺序不同。例如,取决于所涉及的功能/动作,实际上可以实质上并发地执行,或者有时可以以相反的顺序来执行连续示出的两个图。
应当理解,在下面的描述中提供了特定的细节,以便于对示例实施例的完全理解。然而,本领域普通技术人员应当理解可以在没有这些特定细节的情况下实现示例实施例。例如可以在框图中示出系统,以避免用不必要的细节来使得示例不清楚。在其他实例中,可以不以不必要的细节来示出众所周知的过程、结构和技术,以避免使得示例实施例不清。
实施例
如图1所示,本实施例第一方面所提供的基于Jenkins的软件性能测试方法,其适用于在测试平台、Jenkins平台和性能测试机侧执行,可以但不限于包括有如下步骤S101~S109。
S101.测试平台接收性能测试脚本文件。
在本实施例中,测试平台可以但不限于为一个网页,而性能测试脚本文件可由用户上传至网页。
在本实施例中,举例用户上传性能测试脚本文件的方式可以但不限于为:通过flask(是一个使用Python(计算机程序语言设计)编写的轻量级Web应用框架)/flaskadmin(是一个功能齐全、简单易用的flask扩展)前端上传。
在本实施例中,性能测试脚本文件是一种Java管理扩展(Java ManagementExtensions,jmx)文件,其是一个为应用程序、设备、系统等植入管理功能的框架,而性能测试脚本文件,内部记录有一个特定测试的一系列指令,这些指令可以被自动化测试工具执行(即被性能测试机执行),完成软件的性能测试。
S102.测试平台根据所述性能测试脚本文件,生成用于执行所述性能测试脚本文件的参数文件。
步骤S102则是测试平台根据性能测试脚本文件生成参数文件的过程,其中,参数文件作为执行性能测试脚本文件的命令文件。在本实施例中,参数文件的生成可以但不限于包括有如下步骤S102a~S102c。
S102a.判断所述性能测试脚本文件中是否存在并发线程组(ConcurrencyThreadGroup)节点。
步骤S102a则是测试平台检验性能测试脚本文件中是否存在并发线程组节点,测试平台会根据是否存在并发线程组节点,选择读取性能测试脚本文件中不同的参数,如步骤S102b所示。
S102b.若是,则读取所述性能测试脚本文件中的目标线程数(TargetLevel)、总启动时间(RampUp)、步长(Steps)和线程启动完成后持续运行的时间(Hold),得到第一读取结果,以便测试平台根据所述第一读取结果生成所述参数文件。
否则,则读取所述性能测试脚本文件中的线程数(ThreadGroup.num_threads)、上升时间(ThreadGroup.ramp_time)、循环次数(LoopController.loops)、持续时间(ThreadGroup.duration)和延迟时间(ThreadGroup.delay),得到第二读取结果,以便测试平台根据所述第二读取结果生成所述参数文件。
步骤S102b则是读取性能测试脚本文件中参数的过程,即根据并发线程组节点的有无,读取性能测试脚本文件中不同参数的值,生成第一读取结果或第二读取结果。
S102c.根据所述第一读取结果,生成用于执行所述性能测试脚本文件的第一命令,将所述第一命令记录在第一文件中,得到所述参数文件;或
根据所述第二读取结果,生成用于执行所述性能测试脚本文件的第二命令,将所述第二命令记录在第二文件中,得到所述参数文件。
步骤S102c则是根据第一读取结果或第二读取结果生成命令的过程,在本实施例中,参数文件包含有第一命令或第二命令,即性能测试机根据参数文件中的命令来执行性能测试脚本文件。
在本实施例中,并发线程组、目标线程数、总启动时间、步长、线程启动完成后持续运行的时间、线程数、上升时间、循环次数、持续时间和延迟时间对应的英文,随时间、技术的变化,还可能出现其它相应的中文解释。
在本实施例中,第一命令中包含有读取的4个参数的值,即目标线程数、总启动时间、步长和线程启动完成后持续运行的时间;而第二命令则包含有读取的5个参数的值,即线程数、上升时间、循环次数、持续时间和延迟时间。
在本实施例中,需要设置变量,以完成各个参数的值的赋值,即将各个参数的值赋值给变量,便于后续命令的生成。
例如,第一读取结果中的目标线程数、总启动时间、步长和线程启动完成后持续运行的时间,上述四个参数的变量分别依次设置为:TargetLevel、ramp_time、Steps、和Hold。
那么根据第一读取结果生成的第一命令可以但不限于为:jmeter-n-t性能测试机中jmx的全路径名-l执行性能测试生成的jtl文件-e-o执行性能测试后生成的测试报告-JTargetThread=TargetLevel-JTargetTime=ramp_time-JTargetCount=Steps-JTargetRateTime=Hold。
在本实施例中,jmeter-n-t,-l和-e-o为命令中必要的字符,而其余部分可根据实际测试场景自行设置。
在本实施例中,在第一命名中设置有性能测试机中jmx的全路径名(即性能测试脚本文件的存储路径),执行性能测试生成的jtl文件(为性能测试机执行参数文件后,所生成的文件),另外还设置有性能测试后生成的测试报告(即执行性能测试脚本文件后生成的测试报告的名称)。通过在第一命令中设置上述部分,可便于测试人员了解jmx文件的来源、测试报告的名称、测试的对象和测试日期等,方便根据命令查看测试报告。
下面对第一命令进行具体的举例:
例如,第一读取结果中的目标线程数、总启动时间、步长和线程启动完成后持续运行的时间,上述4个参数的值分别为:5、5s、5和5s;那么TargetLevel=5,ramp_time=5,Steps=5,Hold=5。
而第一命令则为:
jmeter-n-t/home/tester/workspace/workspace/AutoTool-TestPlatform_performance_test/Performance_BD_SALE_ordinaryConcurrent_测试_2020-03-20_101252.jmx-l Performance_BD_SALE_ordinaryConcurrent_测试_2020-03-20_101252.jtl-e-o Performance_BD_SALE_ordinaryConcurrent_测试_2020-03-20_101252_report-JTargetThread=5-JTargetTime=5-JTargetCount=5-JTargetRateTime=5。
在上述命令中:/home/tester/workspace/workspace/AutoTool-TestPlatform_performance_test/Performance_BD_SALE_ordinaryConcurrent_测试_2020-03-20_101252.jmx,则表示性能测试脚本文件的存储路径。
而Performance_BD_SALE_ordinaryConcurrent_测试_2020-03-20_101252.jtl,则表示为性能测试机执行参数文件后,所生成的文件。
Performance_BD_SALE_ordinaryConcurrent_测试_2020-03-20_101252_report,则表示在2020年3月20日进行的BD_SALE项目的测试生成的报告。
而根据第一命令执行性能测试脚本文件所达到的要求为:每隔1s增加1个用户,增加5次,并在增加5次后,持续5s时间。
在本实施例中,测试平台还可以读取线程循环次数(Iterations)、时间的单位值(Unit)以及将线程状态记录到文件(LogFilename),通过读取上述参数的值,可增加第一命令中写入的参数,增加可编辑的参数的个数,满足不同的测试场景的需求。
在本实施例中,第二读取结果中的线程数、上升时间、循环次数、持续时间和延迟时间,上述5个参数的变量可以但不限于分别命名为:num_threads、ramp_time、loops、duration和delay。
那么第二命令则可以但不限于为:jmeter-n-t性能测试机中jmx的全路径名-l执行性能测试生成的jtl文件-e-o执行性能测试后生成的测试报告-JthreadCount=num_threads-Jperiod=ramp_time-Jloop=loops-Jtime=duration-JdelayTime=delay。
下面对第二命令进行具体的举例:
例如,第二读取结果中的线程数、上升时间、循环次数、持续时间和延迟时间,上述5个参数的值分别为:5、2s、-1、5min和1h。
那么第二命令则为:
jmeter-n-t/home/tester/workspace/workspace/AutoTool-TestPlatform_performance_test/Performance_BD_SALE_ladderConcurrent_测试_2020-03-20_101504.jmx-lPerformance_BD_SALE_ladderConcurrent_测试_2020-03-20_101504.jtl-e-oPerformance_BD_SALE_ladderConcurrent_测试_2020-03-20_101504_report-JthreadCount=5-Jperiod=2s-Jloop=-1-Jtime=5min-JdelayTime=1h。
所以,根据第二命令执行性能测试脚本文件所达到的要求为:从当前时间延时一个小时,并在延迟结束后,在2s内上升到5个用户,并在5分钟内一直循环。
在本实施例中,循环次数为-1时,表示一直循环。
在本实施例中,当并发线程组不存在时,还可不读取持续时间和延迟时间,仅仅读取线程数、上升时间和循环次数。
那么生成的第二命令则为:jmeter-n-t性能测试机中jmx的全路径名-l执行性能测试生成的jtl文件-e-o执行性能测试后生成的测试报告-JthreadCount=num_threads-Jperiod=ramp_time-Jloop=loops。
若线程数、上升时间和循环次数分别为:5、2s、和2,那么第二命令则为:jmeter-n-t性能测试机中jmx的全路径名-l执行性能测试生成的jtl文件-e-o执行性能测试后生成的测试报告-JthreadCount=5-Jperiod=2s-Jloop=2。
此时,根据第二命令执行性能测试脚本文件所达到的要求则为:在2s内上升到5个用户,循环2次。
在本实施例中,当循环次数不为-1时,其具体的值,表示循环的次数。例如,循环次数为3,则表示循环3次。
在本实施例中,第二命令的jmx存储路径、jtl文件名以及测试报告与第一命令中表达的含义相同,于此不多加赘述。
在本实施例中,第一读取结果中还包含有性能测试脚本文件中的调度器(ThreadGroup.scheduler),只有在读取到调度器值,并判断为真时,读取到的持续时间和延迟时间才有效。
在本实施例中,将读取的参数所对应的变量写入命令中,即可实现编辑变量所对应的参数的功能。通过上述设计,能够适用于不同的测试场景,无需去更改性能测试脚本文件中参数的值,大大的提高了测试的便捷性。
最后,将第一命令或第二命令记录到文件中,即可生成参数文件,即写入命令的文件就为参数文件。得到参数文件后,即进行步骤S103。
S103.测试平台将所述性能测试脚本文件和所述参数文件发送至Jenkins平台。
S104.Jenkins平台接收来自测试平台发送的所述性能测试脚本文件和所述参数文件。
在本实施例中,Jenkins平台在接收到性能测试脚本文件和参数文件后,为了便于性能测试脚本文件和参数文件的传输,还会对上述两个文件进行参数化构建,得到用于传递文件的环境变量,如以下步骤S104a和S104b所示。
S104a.对所述性能测试脚本文件和所述参数文件进行参数化构建,得到用于传递所述性能测试脚本文件和所述参数文件的文件参数。
S104b.将所述文件参数发送至所述任务Job对应的性能测试机,以使所述性能测试机根据所述文件参数接收所述性能测试脚本文件和所述参数文件。
步骤S104a和步骤S104b则是进行参数化构建的过程,而得到的文件参数则是用于传递性能测试脚本文件和参数文件的环境变量,通过环境变量,可完成性能测试机对性能测试脚本文件和参数文件的识别,实现性能测试脚本文件和参数文件的传递。
在本实施例中,在Jenkins平台中进行参数化构建为一种现有技术,在参数化构建过程中,Jenkins平台即可通过任务Job将性能测试脚本文件和参数文件传输到性能测试机上,通过性能测试机完成测试,如步骤S105~S109所示。
S105.Jenkins平台通过任务Job,将所述性能测试脚本文件和所述参数文件发送至所述任务Job对应的性能测试机。
在本实施例中,为了保证能够通过任务Job在传输性能测试脚本文件和参数文件的同时,同时选择性能测试机进行测试,在Jenkins平台接收性能测试脚本文件和参数文件前,还设置有如下步骤S001~S004。
S001.Jenkins平台检测用户在Jenkins操作界面上进行的节点创建操作。
S002.Jenkins平台响应所述节点创建操作,创建至少一个节点,其中,所述至少一个节点中的每个节点分别用于与至少一台性能测试机建立远程连接。
步骤S001和步骤S002则是在Jenkins平台上进行节点创建的过程,由于Jenkins(开源软件,是基于Java开发的一种持续集成工具)平台具有分布式构建的功能,所以,可在Jenkins平台上创建节点,通过节点远程连接性能测试机。
在本实施例中,举例节点与性能测试机的连接关系可以但不限于为:每个节点分别对应连接有一台性能测试机。
在本实施例中,用户在Jenkins平台上创建节点时,可使用Jenkins平台配置节点的参数,而节点与性能测试机的远程连接即是通过配置参数实现的。例如,在配置中输入性能测试机的通信地址,实现节点与性能测试机的远程连接。
在Jenkins平台创建节点后,需要对节点设置标签,以便决定软件测试的载体,即确定软件测试在哪台性能测试机中上进行,如步骤S003和S004所示。
S003.Jenkins平台检测用户在Jenkins操作界面上对所述至少一个节点进行的标签设置操作。
S004.Jenkins平台响应所述标签设置操作,对所述至少一个节点设置标签,其中,所述标签用于指示所述任务Job在所述至少一个节点中选择所述标签对应的节点运行。
步骤S003和步骤S004则是用户在Jenkins平台上对创建的节点设置标签的过程,通过标签,即可实现任务Job运行节点的确定,以便确定性能测试脚本文件在哪个节点对应的性能测试机上执行性能测试。
在本实施例中,一个标签可对应有一个节点,也可一个标签对应多个节点。
例如,在Jenkins平台上创建了4个节点,分别为A、B、C和D,且4个节点对应的性能测试机依次为:1、2、3、4;而对每个节点设置标签可以依次为:a、b、c、d,即一个节点对应一个标签;设置标签还可以为:a1和b1,其中,a1为A节点和B节点的标签,而b1是C节点和D节点的标签。
又如,在上述举例的基础上,选择了a标签,那么任务Job就在A节点上运行,即任务Job就在A节点对应的性能测试机上运行(即在1号性能测试机上运行)。若选择标签为a1,那么任务Job就在A节点和B节点中选择一个运行。在本实施例中,选择的标准为:节点的占用情况(即节点中没有任务运行的优先)。
通过步骤S001~S004,实现了通过任务Job传输性能测试脚本文件和参数文件以及选择性能测试机的功能。其实质为:可在Jenkins平台中完成节点的创建和节点的标签的设置,其中,通过节点建立与性能测试机的远程连接,通过标签来选择任务Job运行的节点(节点选定后,即选定了节点所连接的性能测试机,所以,标签决定了任务Job在哪台性能测试机上运行),通过任务Job来控制性能测试机启动性能测试(即任务Job包含有启动其选择的节点所对应的性能测试机进行测试的命令)。
在本实施例中,任务Job可在Jenkins上直接创建,为一种现有技术。
S106.性能测试机接收来自Jenkins平台发送的性能测试脚本文件和参数文件。
S107.性能测试机根据所述参数文件,执行所述性能测试脚本文件,生成所述性能测试脚本文件的测试报告。
步骤S105~S107则是进行性能测试的过程,即根据参数文件,执行性能测试脚本文件,得到测试报告。
在本实施例中,任务Job中包含有启动性能测试机进行测试的命令,以便在任务Job运行在性能测试机上运行时,性能测试机能够根据启动命令启动对性能测试脚本文件的测试。
在本实施例中,性能测试机接收到性能测试脚本文件和参数文件后,会先执行shell命令,shell命令是指"为使用者提供操作界面"的软件(命令解析器),它接收用户命令,然后调用相应的应用程序。
在本实施例中,shell命令则是用于命令性能测试机,执行参数文件中的命令,使性能测试机根据参数文件中的命令执行性能测试脚本文件,完成对性能测试脚本文件的性能测试,得到性能测试脚本文件的测试报告,进而完成软件测试。
S108.性能测试机将所述测试报告发送至测试平台。
S109.测试平台接收来自性能测试机发送的所述测试报告。
最后,性能测试机则会将测试报告发送至测试平台,供测试人员查看测试结果。
在本实施例中,性能测试机还会将测试报告发送至云服务器,完成数据的备份,如以下步骤S108a~S108c。
S108a.性能测试机打包所述测试报告。
S108b.性能测试机将打包后的所述测试报告,发送至云服务器。
S108c.测试平台建立与云服务器的远程连接,从所述云服务器中获取所述测试报告。
通过上述步骤,即可将测试报告上传至云服务器,而测试平台即可从云服务器中下载测试报告。通过上述设计,即可实现测试报告的数据备份,防止数据丢失。
在本实施例中,测试平台在接收到测试报告后,还会将测试报告展示在显示界面上,以便于测试人员查看。
在本实施例中,举例测试报告可以但不限于包括有测试人员、测试的项目名称、测试的环境、测试时间、对应的性能测试脚本文件和对应的参数文件中的任意一种或任意多种组合。
在本实施例中,举例显示界面上显示的内容可以但不限于有:测试人员、测试的项目名称、测试的环境、测试时间、对应的性能测试脚本文件和对应的参数文件中的任意一种或任意多种组合。
由此通过步骤S101~步骤S109所详细描述的基于Jenkins的软件性能测试方法,在进行软件测试时,无需手动敲写性能测试脚本的执行命令,也无需手动收集测试报告,整个过程自动化,大大的减少了测试人员的操作步骤,节约了操作时间,提高了测试效率。
如图2所述,本实施例第二方面提供了一种实现实施例第一方面中Jenkins平台的硬件装置,即Jenkins平台包括第一接收单元和任务Job单元。
所述第一接收单元,用于接收来自测试平台发送的性能测试脚本文件和参数文件,其中,所述参数文件是根据所述性能测试脚本文件得到的。
所述任务Job单元,用于通过任务Job,将性能测试脚本文件和参数文件发送至任务Job对应的性能测试机,以使所述性能测试机根据所述参数文件,执行所述性能测试脚本文件,生成所述性能测试脚本文件的测试报告。
在一个可能的设计中,所述Jenkins平台还包括:节点创建单元和标签设置单元。
所述节点创建单元,用于在检测到用户在Jenkins操作界面上进行节点创建操作后,创建至少一个节点,其中,所述至少一个节点中的每个节点分别用于与至少一台性能测试机建立远程连接。
所述标签设置单元,用于在检测到用户在Jenkins操作界面上对所述至少一个节点进行标签设置操作后,对所述至少一个节点设置标签;其中,所述标签用于指示所述任务Job在所述至少一个节点中选择所述标签对应的节点运行。
在一个可能的设计中,所述Jenkins平台还包括参数化构建单元和第一发送单元。
所述参数化构建单元,用于对所述性能测试脚本文件和所述参数文件进行参数化构建,得到用于传递所述性能测试脚本文件和所述参数文件的文件参数。
所述第一发送单元,用于向性能测试机发送所述文件参数,以使所述性能测试机根据所述文件参数接收所述性能测试脚本文件和所述参数文件。
本实施例第二方面提供的硬件装置的工作过程、工作细节和技术效果,可以参见实施例第一方面中的Jenkins平台,于此不再赘述。
如图3所示,本实施例第三方面提供了一种测试平台,包括第二接收单元、参数文件生成单元和第二发送单元。
所述第二接收单元,用于接收用户上传的性能测试脚本文件。
所述参数文件生成单元,用于根据所述性能测试脚本文件,生成用于执行所述性能测试脚本文件的参数文件。
所述第二发送单元,用于将所述性能测试脚本文件和所述参数文件发送至Jenkins平台。
所述第二接收单元,还用于接收所述性能测试机发送的测试报告。
在一个可能的设计中,所述参数文件生成单元包括判断子单元和读取子单元。
所述判断子单元,用于判断所述性能测试脚本文件中是否存在并发线程组节点。
所述读取子单元,用于根据判断子单元的判断结果,读取所述性能测试脚本文件中的目标线程数、总启动时间、步长、线程启动完成后持续运行的时间、线程循环次数和时间的单位值,得到第一读取结果;或
读取所述性能测试脚本文件中的线程数、上升时间、循环次数、持续时间和延迟时间,得到第二读取结果。
在一个可能的设计中,所述参数文件生成单元还包括命令生成子单元。
所述命令生成子单元,用于根据所述第一读取结果,生成用于执行所述性能测试脚本文件的第一命令,并将所述第一命令记录在第一文件中,得到所述参数文件;或
根据所述第二读取结果,生成用于执行所述性能测试脚本文件的第二命令,将所述第二命令记录在第二文件中,得到所述参数文件。
在一个可能的设计中,所述测试平台还包括下载单元。
所述下载单元,用于建立与云服务器的远程连接,并从所述云服务器中获取所述测试报告。
在一个可能的设计中,所述测试平台还包括显示单元。
所述显示单元,用于显示所述测试报告,其中,所述测试报告包括测试人员、测试的项目名称、测试的环境、测试时间、对应的性能测试脚本文件和对应的参数文件中的任意一种或任意多种组合。
本实施例第三方面提供的硬件装置的工作过程、工作细节和技术效果,可以参见实施例第一方面中的测试平台,于此不再赘述。
如图4所示,本实施例第四方面提供了一种性能测试机,包括第三接收单元、测试单元和第三发送单元。
所述第三接收单元,用于接收来自Jenkins平台发送的性能测试脚本文件和参数文件,其中,所述参数文件是根据所述性能测试脚本文件得到的。
所述测试单元,用于根据所述参数文件,执行所述性能测试脚本文件,生成所述性能测试脚本文件的测试报告。
所述第三发送单元,用于将所述测试报告发送至测试平台。
在一个可能的设计中,所述性能测试机还包括文件打包单元。
所述文件打包单元,用于打包所述测试报告。
所述第三发送单元,还用于将打包后的所述测试报告,发送至云服务器。
本实施例第四方面提供的硬件装置的工作过程、工作细节和技术效果,可以参见实施例第一方面中的性能测试机,于此不再赘述。
如图5所示,本实施例第五方面提供了一种基于Jenkins的软件性能测试系统,其包含实施例第一方面中测试平台、Jenkins平台和性能测试机。
所述测试平台用于接收性能测试脚本文件,根据所述性能测试脚本文件,生成用于执行所述性能测试脚本文件的参数文件,并将所述性能测试脚本文件和所述参数文件发送至所述Jenkins平台。
所述Jenkins平台用于接收来自测试平台发送的性能测试脚本文件和参数文件,并将所述性能测试脚本文件和所述参数文件,通过内部的任务Job发送至所述性能测试机。
所述性能测试机,用于接收来自所述Jenkins平台发送的所述性能测试脚本文件和所述参数文件,并根据所述参数文件,执行所述性能测试脚本文件,生成所述性能测试脚本文件的测试报告,发送至所述测试平台。
在一个可能的设计中,所述Jenkins平台还用于创建至少一个节点和对所述至少一个节点设置标签,其中,所述标签用于指示所述任务Job在所述至少一个节点中选择所述标签对应的节点运行,所述任务Job用于使选择的节点对应的性能测试机执行性能测试命令。
本实施例第五方面提供的系统的工作过程、工作细节和技术效果,可以参见实施例第一方面所提供的软件性能测试方法,于此不再赘述。
如图6所示,本实施例第六方面提供了一种执行实施例第一方面所述的基于Jenkins的软件性能测试方法的计算机主设备,包括依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如实施例第一方面所述的基于Jenkins的软件性能测试方法。
具体举例的,所述存储器可以但不限于包括随机存取存储器(RAM)、只读存储器(ROM)、闪存(Flash Memory)、先进先出存储器(FIFO)和/或先进后出存储器(FILO)等等;所述处理器可以不限于采用型号为STM32F105系列的微处理器、ARM(Advanced RISCMachines)、X86等架构处理器或集成NPU(neural-network processing units)的处理器;所述收发器可以但不限于为WiFi(无线保真)无线收发器、蓝牙无线收发器、通用分组无线服务技术(General Packet Radio Service,GPRS)无线收发器、紫蜂协议(基于IEEE802.15.4标准的低功耗局域网协议,ZigBee)无线收发器、3G收发器、4G收发器和/或5G收发器等。
本实施例第六方面提供的服务器的工作过程、工作细节和技术效果,可以参见实施例第一方面,于此不再赘述。
本实施例第七方面提供了一种存储包含有实施例第一方面所述的基于Jenkins的软件性能测试方法的指令的计算机可读存储介质,即所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面所述的基于Jenkins的软件性能测试方法。其中,所述计算机可读存储介质是指存储数据的载体,可以但不限于包括软盘、光盘、硬盘、闪存、优盘和/或记忆棒(Memory Stick)等,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
本实施例第七方面提供的计算机可读存储介质的工作过程、工作细节和技术效果,可以参见实施例第一方面,于此不再赘述。
本实施例第八方面提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如实施例第一方面所述的基于Jenkins的软件性能测试方法,其中,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
以上所描述的多个实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机主设备执行各个实施例或者实施例的某些部分所述的方法。
本发明不局限于上述可选实施方式,任何人在本发明的启示下都可得出其他各种形式的产品,但不论在其形状或结构上作任何变化,凡是落入本发明权利要求界定范围内的技术方案,均落在本发明的保护范围之内。
Claims (10)
1.一种基于Jenkins的软件性能测试方法,其特征在于,包括:
接收测试平台发送的性能测试脚本文件和参数文件,其中,所述参数文件是根据所述性能测试脚本文件得到的;
通过任务Job,将所述性能测试脚本文件和所述参数文件发送至所述任务Job对应的性能测试机,以使所述性能测试机根据所述参数文件,执行所述性能测试脚本文件,生成所述性能测试脚本文件的测试报告。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
检测用户在Jenkins操作界面上进行的节点创建操作;
响应所述节点创建操作,创建至少一个节点,其中,所述至少一个节点中的每个节点分别用于与至少一台性能测试机建立远程连接;
检测用户在Jenkins操作界面上对所述至少一个节点进行的标签设置操作;
响应所述标签设置操作,对所述至少一个节点设置标签,其中,所述标签用于指示所述任务Job在所述至少一个节点中选择所述标签对应的节点运行。
3.如权利要求1所述的方法,其特征在于,在接收到来自测试平台发送的性能测试脚本文件和参数文件后,所述方法还包括:
对所述性能测试脚本文件和所述参数文件进行参数化构建,得到用于传递所述性能测试脚本文件和所述参数文件的文件参数;
将所述文件参数发送至所述任务Job对应的性能测试机,以使所述性能测试机根据所述文件参数接收所述性能测试脚本文件和所述参数文件。
4.一种基于Jenkins的软件性能测试方法,其特征在于,包括:
接收性能测试脚本文件;
根据所述性能测试脚本文件,生成用于执行所述性能测试脚本文件的参数文件;
将所述性能测试脚本文件和所述参数文件发送至Jenkins平台,以使所述Jenkins平台将所述性能测试脚本文件和所述参数文件通过内部的任务Job发送至性能测试机,以供所述性能测试机得到所述性能测试脚本文件的测试报告;
接收所述性能测试机发送的测试报告。
5.如权利要求4所述的方法,其特征在于,根据所述性能测试脚本文件,生成用于执行所述性能测试脚本文件的参数文件,包括:
判断所述性能测试脚本文件中是否存在并发线程组节点;
若是,则读取所述性能测试脚本文件中的目标线程数、总启动时间、步长和线程启动完成后持续运行的时间,得到第一读取结果,以便根据所述第一读取结果生成所述参数文件;
否则,则读取所述性能测试脚本文件中的线程数、上升时间、循环次数、持续时间和延迟时间,得到第二读取结果,以便根据所述第二读取结果生成所述参数文件。
6.如权利要求5所述的方法,其特征在于,得到所述第一读取结果后,所述方法还包括:
根据所述第一读取结果,生成用于执行所述性能测试脚本文件的第一命令;
将所述第一命令记录在第一文件中,得到所述参数文件;或
在得到所述第二读取结果后,所述方法还包括:
根据所述第二读取结果,生成用于执行所述性能测试脚本文件的第二命令;
将所述第二命令记录在第二文件中,得到所述参数文件。
7.如权利要求4所述的方法,其特征在于,在接收所述性能测试机发送的测试报告后,所述方法还包括:
在显示界面上展示所述测试报告;
其中,所述测试报告包括测试人员、测试的项目名称、测试的环境、测试时间、对应的性能测试脚本文件和对应的参数文件中的任意一种或任意多种组合。
8.一种基于Jenkins的软件性能测试方法,其特征在于,包括:
接收Jenkins平台发送的性能测试脚本文件和参数文件,其中,所述参数文件是根据所述性能测试脚本文件得到的;
根据所述参数文件,执行所述性能测试脚本文件,生成所述性能测试脚本文件的测试报告;
将所述测试报告发送至测试平台。
9.一种计算机主设备,其特征在于,包括:依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如权利要求1~3、4~7或权利要求8任意一项所述的基于Jenkins的软件性能测试方法。
10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如权利要求1~3、4~7或权利要求8任意一项所述的基于Jenkins的软件性能测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010479186.9A CN111651351B (zh) | 2020-05-29 | 2020-05-29 | 一种基于Jenkins的软件性能测试方法及计算机主设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010479186.9A CN111651351B (zh) | 2020-05-29 | 2020-05-29 | 一种基于Jenkins的软件性能测试方法及计算机主设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111651351A true CN111651351A (zh) | 2020-09-11 |
CN111651351B CN111651351B (zh) | 2022-11-18 |
Family
ID=72348123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010479186.9A Active CN111651351B (zh) | 2020-05-29 | 2020-05-29 | 一种基于Jenkins的软件性能测试方法及计算机主设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111651351B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111580989A (zh) * | 2020-04-30 | 2020-08-25 | 成都新潮传媒集团有限公司 | 一种文件处理方法及装置 |
CN112698998A (zh) * | 2021-01-15 | 2021-04-23 | 北京睿芯高通量科技有限公司 | 一种可持续集成的arm服务器出厂测试方法 |
CN113485918A (zh) * | 2021-06-30 | 2021-10-08 | 中国民航信息网络股份有限公司 | 一种测试方法、装置、电子设备及存储介质 |
CN113806220A (zh) * | 2021-08-23 | 2021-12-17 | 北京天融信网络安全技术有限公司 | 一种测试脚本的执行方法、系统、终端及存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102421112A (zh) * | 2011-11-18 | 2012-04-18 | 展讯通信(上海)有限公司 | 移动终端的测试方法、移动终端模拟器、测试设备及系统 |
US20130227557A1 (en) * | 2012-02-29 | 2013-08-29 | Jiri Pechanec | Systems and methods for providing priority build execution in a continuous integration system |
CN103729167A (zh) * | 2012-10-12 | 2014-04-16 | 辉达公司 | 用于改进多线程处理单元中的性能的技术 |
CN104536888A (zh) * | 2014-12-24 | 2015-04-22 | 网易(杭州)网络有限公司 | 移动设备的游戏测试方法与系统 |
CN107423215A (zh) * | 2017-04-25 | 2017-12-01 | 丹露成都网络技术有限公司 | 一种web页面自动执行测试并生成测试报告的方法 |
CN107943689A (zh) * | 2017-11-16 | 2018-04-20 | 北京卫星信息工程研究所 | 基于参数化测试脚本的自动化测试方法及测试系统 |
CN108228438A (zh) * | 2017-12-29 | 2018-06-29 | 广州品唯软件有限公司 | 一种移动终端的性能测试方法及装置 |
CN108388521A (zh) * | 2018-03-28 | 2018-08-10 | 四川长虹电器股份有限公司 | 浏览器兼容性测试系统与方法 |
CN108536571A (zh) * | 2018-04-13 | 2018-09-14 | 平安普惠企业管理有限公司 | 性能测试方法、装置、设备及计算机可读存储介质 |
US20190087315A1 (en) * | 2017-09-20 | 2019-03-21 | Sap Se | Flaky test systems and methods |
CN110245078A (zh) * | 2019-05-24 | 2019-09-17 | 平安国际智慧城市科技股份有限公司 | 一种软件的压力测试方法、装置、存储介质和服务器 |
CN110502435A (zh) * | 2019-07-26 | 2019-11-26 | 广东睿江云计算股份有限公司 | 基于Jmeter的自动化性能测试方法及其系统 |
-
2020
- 2020-05-29 CN CN202010479186.9A patent/CN111651351B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102421112A (zh) * | 2011-11-18 | 2012-04-18 | 展讯通信(上海)有限公司 | 移动终端的测试方法、移动终端模拟器、测试设备及系统 |
US20130227557A1 (en) * | 2012-02-29 | 2013-08-29 | Jiri Pechanec | Systems and methods for providing priority build execution in a continuous integration system |
CN103729167A (zh) * | 2012-10-12 | 2014-04-16 | 辉达公司 | 用于改进多线程处理单元中的性能的技术 |
CN104536888A (zh) * | 2014-12-24 | 2015-04-22 | 网易(杭州)网络有限公司 | 移动设备的游戏测试方法与系统 |
CN107423215A (zh) * | 2017-04-25 | 2017-12-01 | 丹露成都网络技术有限公司 | 一种web页面自动执行测试并生成测试报告的方法 |
US20190087315A1 (en) * | 2017-09-20 | 2019-03-21 | Sap Se | Flaky test systems and methods |
CN107943689A (zh) * | 2017-11-16 | 2018-04-20 | 北京卫星信息工程研究所 | 基于参数化测试脚本的自动化测试方法及测试系统 |
CN108228438A (zh) * | 2017-12-29 | 2018-06-29 | 广州品唯软件有限公司 | 一种移动终端的性能测试方法及装置 |
CN108388521A (zh) * | 2018-03-28 | 2018-08-10 | 四川长虹电器股份有限公司 | 浏览器兼容性测试系统与方法 |
CN108536571A (zh) * | 2018-04-13 | 2018-09-14 | 平安普惠企业管理有限公司 | 性能测试方法、装置、设备及计算机可读存储介质 |
CN110245078A (zh) * | 2019-05-24 | 2019-09-17 | 平安国际智慧城市科技股份有限公司 | 一种软件的压力测试方法、装置、存储介质和服务器 |
CN110502435A (zh) * | 2019-07-26 | 2019-11-26 | 广东睿江云计算股份有限公司 | 基于Jmeter的自动化性能测试方法及其系统 |
Non-Patent Citations (1)
Title |
---|
N_LAOMOMO: "jenkins--ant持续集成测试build文件脚本 测试报告", 《HTTPS://BLOG.CSDN.NET/NIEDONGRI/ARTICLE/DETAILS/70432089》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111580989A (zh) * | 2020-04-30 | 2020-08-25 | 成都新潮传媒集团有限公司 | 一种文件处理方法及装置 |
CN112698998A (zh) * | 2021-01-15 | 2021-04-23 | 北京睿芯高通量科技有限公司 | 一种可持续集成的arm服务器出厂测试方法 |
CN112698998B (zh) * | 2021-01-15 | 2024-05-07 | 北京中科通量科技有限公司 | 一种可持续集成的arm服务器出厂测试方法 |
CN113485918A (zh) * | 2021-06-30 | 2021-10-08 | 中国民航信息网络股份有限公司 | 一种测试方法、装置、电子设备及存储介质 |
CN113485918B (zh) * | 2021-06-30 | 2024-05-07 | 中国民航信息网络股份有限公司 | 一种测试方法、装置、电子设备及存储介质 |
CN113806220A (zh) * | 2021-08-23 | 2021-12-17 | 北京天融信网络安全技术有限公司 | 一种测试脚本的执行方法、系统、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111651351B (zh) | 2022-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111651351B (zh) | 一种基于Jenkins的软件性能测试方法及计算机主设备 | |
CN107704395B (zh) | 一种基于Openstack下云平台自动化测试实施方法与系统 | |
WO2020155777A1 (zh) | Ui自动化功能测试方法、测试装置、测试设备及存储介质 | |
US20150100829A1 (en) | Method and system for selecting and executing test scripts | |
KR101637371B1 (ko) | 스마트기기용 어플리케이션의 테스트 시스템 및 그 방법 | |
US20150100832A1 (en) | Method and system for selecting and executing test scripts | |
CN103634592A (zh) | 智能电视自动化测试方法及系统 | |
CN111224845A (zh) | 一种基于物联网云的设备自动化测试系统及方法 | |
CN104899149A (zh) | 一种自动化测试管理方法 | |
CN105450476A (zh) | 一种回归测试系统及测试方法 | |
US20150100831A1 (en) | Method and system for selecting and executing test scripts | |
CN111309636B (zh) | 机器人自动化测试系统、方法、构建服务器及存储介质 | |
CN109822549B (zh) | 一种机器人编程方法、装置及控制器 | |
CN114003451B (zh) | 一种接口测试方法、装置、系统及介质 | |
CN109558328B (zh) | 一种代码覆盖率的测试方法、系统、装置及可读存储介质 | |
CN104270362B (zh) | 请求处理方法和装置 | |
CN111209188A (zh) | 一种分布式存储系统的测试方法和装置 | |
CN104424239A (zh) | 资源文件加载方法和装置 | |
CN110750453A (zh) | 基于html5的智能移动端测试方法、系统、服务器及存储介质 | |
CN113126993A (zh) | 应用于车辆检测软件的自动化测试方法及其系统 | |
CN117041111A (zh) | 车云功能测试方法、装置、电子设备及存储介质 | |
CN112835598A (zh) | 一种汽车ecu刷写方法及其系统、计算机可读存储介质 | |
CN105530140A (zh) | 一种解除用例和环境紧耦合的方法、装置和云调度系统 | |
CN115396317A (zh) | 带宽划分方法、装置、设备及计算机可读存储介质 | |
CN112306622B (zh) | 一种vnf模板的构建方法及装置 |
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 |