CN105095089A - 一种测试应用软件性能的方法及装置 - Google Patents

一种测试应用软件性能的方法及装置 Download PDF

Info

Publication number
CN105095089A
CN105095089A CN201510583803.9A CN201510583803A CN105095089A CN 105095089 A CN105095089 A CN 105095089A CN 201510583803 A CN201510583803 A CN 201510583803A CN 105095089 A CN105095089 A CN 105095089A
Authority
CN
China
Prior art keywords
test
application software
test assignment
assignment
file
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
CN201510583803.9A
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.)
Beijing Kingsoft Internet Security Software Co Ltd
Original Assignee
Beijing Kingsoft Internet Security Software 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 Beijing Kingsoft Internet Security Software Co Ltd filed Critical Beijing Kingsoft Internet Security Software Co Ltd
Priority to CN201510583803.9A priority Critical patent/CN105095089A/zh
Publication of CN105095089A publication Critical patent/CN105095089A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明的实施例公开一种测试应用软件性能的方法及装置。方法包括:构建基于持续集成引擎平台的服务器,将多台测试机连接到所述服务器;在进行应用软件测试时,向所述各测试机下发预先设置的环境部署策略对应的测试环境配置安装包,以使测试机依据接收的所述测试环境配置安装包进行测试环境部署;依据所述进行应用软件测试的测试任务,查询预先设置的包含测试任务与测试任务脚本文件以及公共操作函数库文件的映射关系,获取测试任务脚本文件以及公共操作函数库文件,向所述各测试机下发以进行所述应用软件测试。应用本发明,可以提升应用软件性能测试效率。

Description

一种测试应用软件性能的方法及装置
技术领域
本发明涉及计算机应用软件性能测试技术,尤其涉及一种测试应用软件性能的方法及装置。
背景技术
应用软件在进行开发时,需要将应用软件中的各个功能进行相应拆分,拆分为多个项目组并由相应技术人员进行开发,在开发完成并测试成功后,再将多个项目组进行组合,形成一个可用的应用软件并发布。应用软件测试是确保应用软件被用户下载安装后能够正常使用的必要流程,用以获取应用软件在多种正常负载条件、峰值负载条件以及异常负载条件下的各项性能指标,尤其在开发过程中,当需要加入新的功能或进行功能调整时,由于可能与应用软件原有的功能相冲突,需要对加入新功能或进行功能调整的应用软件进行再测试,以根据测试结果解决存在冲突的代码。
现有测试应用软件性能的方法,是预先配置一批安装有待测应用软件的测试机,测试机可以具有不同类型,在每一测试机上部署预先设置的测试环境,测试环境尽可能与用户使用应用软件的环境相似,在测试环境部署完成后,通过人工方式或者调用测试环境下待测试任务对应的脚本来模拟应用软件操作以进行测试。以应用软件为浏览器为例,可以通过人工方式在测试环境中进行直接启动浏览器以打开网页,或者,在启动其它应用软件的情况下,启动浏览器以打开网页等,测试完成后,获取相应的浏览器性能测试数据,进行整理和分析,得到浏览器性能测试数据分析结果,并依据浏览器性能测试数据分析结果对浏览器性能进行优化。在当前测试环境中的各测试任务测试完毕后,可以删除该测试环境,然后通过人工方式部署新测试环境以进行多测试环境的浏览器性能测试。
但该测试应用软件性能的方法,由于用户环境的多样性,在进行应用软件性能测试时,需要模拟大量的测试环境,用以达到能够获取到与用户实际环境相近的应用软件性能测试数据,由于测试环境以及各测试任务需要人工进行部署并配置到各测试机上,使得测试应用软件性能所需的时间较长,测试效率较低。
发明内容
有鉴于此,本发明实施例提供一种测试应用软件性能的方法及装置,提升应用软件性能测试效率。
为达到上述目的,本发明的实施例采用如下技术方案:
一方面,本发明实施例提供一种测试应用软件性能的方法,包括:
构建基于持续集成引擎平台的服务器,将多台测试机连接到所述服务器;
在进行应用软件测试时,向所述各测试机下发预先设置的环境部署策略对应的测试环境配置安装包,以使测试机依据接收的所述测试环境配置安装包进行测试环境部署;
依据所述进行应用软件测试的测试任务,查询预先设置的包含测试任务与测试任务脚本文件以及公共操作函数库文件的映射关系,获取测试任务脚本文件以及公共操作函数库文件,向所述各测试机下发以进行所述应用软件测试。
优选地,在所述进行应用软件测试之前,所述方法进一步包括:
在所述服务器中,存储各测试环境配置安装包,为应用软件构建一测试任务目录,所述测试任务目录下存储多个测试任务脚本文件以及一公共操作函数库文件,所述多个测试任务脚本文件中的公共操作函数共享所述公共操作函数库文件;
构建所述应用软件中各测试任务与对应测试任务脚本文件以及公共操作函数库文件的映射关系。
优选地,所述构建基于持续集成引擎平台的服务器,将多台测试机连接到所述服务器包括:
在服务器上安装持续集成引擎应用软件;
将各测试机接入所述服务器,并在所述各测试机中安装测试所需的应用软件。
优选地,所述测试机采用java-jarslave.jar的方式与所述服务器进行通信,从而接入所述服务器。
优选地,所述测试任务包括:冷启动测试任务、热启动测试任务、竞品冷热启动横向对比测试任务以及竞品内存占用测试。
优选地,所述测试任务进一步包括每日构建测试任务;
所述获取测试任务脚本文件包括:
接收在预先设置的第一时间提交的代码,对在预先设置的第一时间接收的各代码进行编译形成每日构建测试任务文件,在所述每日构建测试任务文件中,设置用于启动测试的第二时间,以使测试机接收所述每日构建测试任务文件后,依据所述第二时间启动测试。
优选地,所述第二时间通过持续集成引擎平台提供的构建触发控件中的时间表控件进行配置。
优选地,所述服务器存储的测试环境配置安装包、测试任务脚本文件以及公共操作函数库文件采用版本控制系统进行管理。
优选地,所述方法进一步包括:
接收更新的测试环境版本控制系统代码、和/或,测试任务脚本版本控制系统代码,更新所述服务器中对应存储的测试环境配置安装包、和/或,测试任务脚本文件,生成新版本的测试环境配置安装包、和/或,测试任务脚本文件;
所述下发对应的测试环境配置安装包包括:
获取最新版本的测试环境配置安装包,向所述各测试机下发;
所述获取测试任务脚本文件包括:
获取最新版本的测试任务脚本文件。
本发明实施例提供的测试应用软件性能的方法,通过构建基于持续集成引擎平台的服务器,将多台测试机连接到所述服务器,服务器通过版本控制系统方式管理测试环境配置安装包以及测试任务脚本文件,在进行应用软件测试时,通过服务器向各测试机下发相应的测试环境配置安装包以及测试任务脚本文件以进行测试,无需人工进行部署并配置到各测试机上,测试应用软件性能所需的时间短,测试效率高。
另一方面,本发明实施例提供一种测试应用软件性能的装置,包括:持续集成引擎平台构建模块、测试环境配置安装包下发模块以及测试任务下发模块,其中,
持续集成引擎平台构建模块,用于构建基于持续集成引擎平台的服务器,将多台测试机连接到所述服务器;
测试环境配置安装包下发模块,用于在进行应用软件测试时,向所述各测试机下发预先设置的环境部署策略对应的测试环境配置安装包,以使测试机依据接收的所述测试环境配置安装包进行测试环境部署;
测试任务下发模块,用于依据所述进行应用软件测试的测试任务,查询预先设置的包含测试任务与测试任务脚本文件以及公共操作函数库文件的映射关系,获取测试任务脚本文件以及公共操作函数库文件,向所述各测试机下发以进行所述应用软件测试。
优选地,所述装置进一步包括:测试文件存储模块以及映射关系生成模块,其中,
测试文件存储模块,用于在所述服务器中,存储各测试环境配置安装包,为应用软件构建一测试任务目录,所述测试任务目录下存储多个测试任务脚本文件以及一公共操作函数库文件,所述多个测试任务脚本文件中的公共操作函数共享所述公共操作函数库文件;
映射关系生成模块,构建所述应用软件中各测试任务与对应测试任务脚本文件以及公共操作函数库文件的映射关系。
优选地,所述持续集成引擎平台构建模块包括:持续集成引擎安装单元以及接入单元,其中,
持续集成引擎安装单元,用于在服务器上安装持续集成引擎应用软件;
接入单元,用于将各测试机接入所述服务器,并在所述各测试机中安装测试所需的应用软件。
优选地,所述测试机采用java-jarslave.jar的方式与所述服务器进行通信,从而接入所述服务器。
优选地,所述测试任务包括:冷启动测试任务、热启动测试任务、竞品冷热启动横向对比测试任务以及竞品内存占用测试。
优选地,所述测试任务进一步包括每日构建测试任务;
所述获取测试任务脚本文件包括:
接收在预先设置的第一时间提交的代码,对在预先设置的第一时间接收的各代码进行编译形成每日构建测试任务文件,在所述每日构建测试任务文件中,设置用于启动测试的第二时间,以使测试机接收所述每日构建测试任务文件后,依据所述第二时间启动测试。
优选地,所述第二时间通过持续集成引擎平台提供的构建触发控件中的时间表控件进行配置。
优选地,所述服务器存储的测试环境配置安装包、测试任务脚本文件以及公共操作函数库文件采用版本控制系统进行管理。
优选地,所述装置进一步包括:
文件更新模块,用于接收更新的测试环境版本控制系统代码、和/或,测试任务脚本版本控制系统代码,更新所述服务器中对应存储的测试环境配置安装包、和/或,测试任务脚本文件,生成新版本的测试环境配置安装包、和/或,测试任务脚本文件;
所述测试环境配置安装包下发模块进一步获取最新版本的测试环境配置安装包,向所述各测试机下发;
所述测试任务下发模块进一步获取最新版本的测试任务脚本文件。
本发明实施例提供的测试应用软件性能的装置,持续集成引擎平台构建模块构建基于持续集成引擎平台的服务器,将多台测试机连接到所述服务器,服务器通过版本控制系统方式管理测试环境配置安装包以及测试任务脚本文件,在进行应用软件测试时,测试环境配置安装包下发模块向各测试机下发相应的测试环境配置安装包,以及,测试任务下发模块下发测试任务脚本文件以进行测试,无需人工进行部署并配置到各测试机上,测试应用软件性能所需的时间短,测试效率高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例测试应用软件性能的方法流程示意图;
图2为本发明实施例测试应用软件性能的装置结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明实施例测试应用软件性能的方法流程示意图。参见图1,该方法包括:
步骤101,构建基于持续集成引擎平台的服务器,将多台测试机连接到所述服务器;
本步骤中,持续集成引擎(jenkins)平台是一个开放易用的软件平台,通过该持续集成引擎平台,可以实现持续、自动地构建应用软件测试任务,以及,监控预先设置的定时测试任务。
本发明实施例中,通过利用开源的持续集成引擎平台,可以将多台测试机做为服务器的二级节点,接入该基于持续集成引擎平台的服务器以进行统一管理。这样,依据持续集成引擎平台的特性,在进行应用软件测试后,测试结果可以直接关联到服务器的持续集成引擎平台的执行结果页面。
作为一可选实施例,构建基于持续集成引擎平台的服务器,将多台测试机连接到所述服务器包括:
A11,在服务器上安装持续集成引擎应用软件;
本步骤中,服务器作为主机(主节点),在主机上安装持续集成引擎应用软件。
本发明实施例中,持续集成引擎应用软件包括持续集成引擎主应用软件以及持续集成引擎扩展插件。其中,持续集成引擎扩展插件可以是基础框架插件,例如,jquery.hpinodelabelparameter.hpi插件。
A12,将各测试机接入所述服务器,并在所述各测试机中安装测试所需的应用软件。
本步骤中,将各测试机作为子节点接入到安装有持续集成引擎应用软件的服务器上。
作为一可选实施例,子节点与主节点采用java-jarslave.jar的方式进行通信,从而将子节点接入主节点。即测试机与服务器采用java-jarslave.jar的方式进行通信,从而接入服务器。
本发明实施例中,测试所需应用软件是指在测试过程中需要用到的相关应用软件以及测试环境所需控件。
步骤102,在进行应用软件测试时,向所述各测试机下发预先设置的环境部署策略对应的测试环境配置安装包,以使测试机依据接收的所述测试环境配置安装包进行测试环境部署;
本步骤中,环境部署策略可依据实际需要设置,例如,对于某一应用软件,需要进行两个测试环境部署,并设置测试机1-5部署第一测试环境,测试机6-8部署第二测试环境,则将第一测试环境对应的测试环境配置安装包下发至测试机1-5以进行第一测试环境部署,将第二测试环境对应的测试环境配置安装包下发至测试机6-8以进行第二测试环境部署。
本发明实施例中,作为一可选实施例,在所述进行应用软件测试之前,该方法进一步包括:
A1,在所述服务器中,存储各测试环境配置安装包,为应用软件构建一测试任务目录,所述测试任务目录下存储多个测试任务脚本文件以及一公共操作函数库文件,所述多个测试任务脚本文件中的公共操作函数共享所述公共操作函数库文件;
本步骤中,测试环境可依据用户的实际需要进行设置,可以设置多个测试环境,每一测试环境对应一测试环境配置安装包。关于测试环境配置安装包的设置为公知技术,在此略去详述。
作为一可选实施例,测试任务包括但不限于:冷启动测试任务、热启动测试任务、竞品冷热启动横向对比测试任务以及竞品内存占用测试。其中,冷启动是在关机状态下按下电源(POWER)键启动测试机,冷启动需要重新上电,检测硬件;热启动是通过测试机桌面的开始菜单、任务管理器或者快捷键,重新启动测试机,热启动无需重新上电,不检测硬件。
本发明实施例中,不同应用软件的测试任务,包含的测试参数可以不同。例如,对于浏览器的热启动测试任务,测试参数可以包括:JavaScript性能测试参数、Layout性能测试参数、SVG性能测试参数、CSS性能测试参数、Canvas绘图性能测试参数以及游戏性能测试参数等。
本发明实施例中,每一测试环境下,可以执行一个或多个测试任务,一个测试任务可以同时在不同的测试环境下进行测试。每一测试任务对应一测试任务脚本文件,每一测试任务脚本文件为测试任务目录下的一子目录。
本发明实施例中,在进行应用软件测试时,很多对应用软件的操作可以通过调用操作函数的方式实现,对不同应用软件的同一操作可以通过同一操作函数实现。因而,对于多个测试任务脚本文件,可以共享一公共操作函数库文件,即在应用软件测试过程中,测试任务脚本文件需要调用公共操作函数进行应用软件操作时,从公共操作函数库文件中获取调用需要的公共操作函数,从而可以在服务器端,有效降低测试任务所需的存储空间;进一步地,由于可以共享公共操作函数库,也可以有效提升编辑测试任务脚本的效率。
本发明实施例中,通过将测试环境与测试任务分离,多个测试任务脚本文件共享一套公共操作函数库,可以基于不同测试环境灵活设置测试任务并进行相应部署。
作为一可选实施例,服务器存储的测试环境配置安装包、测试任务脚本文件以及公共操作函数库文件采用版本控制系统(SVN,Subversion)进行管理。较佳地,测试环境配置安装包、测试任务脚本文件以及公共操作函数库文件的格式为可扩展标记语言(XML,ExtensibleMarkupLanguage)格式。
本发明实施例中,版本控制系统是一种集中式文件版本管理软件,集中式文件版本管理包括集中式代码管理,核心是服务器,以应用软件对应的测试任务脚本文件为例,所有代码开发者(编程人员或应用软件开发者)在开始新工作之前,需要从服务器获取应用软件的代码,然后基于获取的应用软件的代码进行开发,通过运行开发的代码,解决运行中出现的冲突,然后向服务器提交解决冲突的代码,服务器为提交的代码分配版本信息,应用软件所有的版本信息都存储在服务器上。举例来说,在开始新一天的工作时,首先从服务器下载应用软件最新代码;接着,依据最新代码进入自己的分支,进行代码开发工作;最后,下班时,将开发的代码写入自己的分支,并合并到服务器主分支上。
本发明实施例中,服务器为SVN服务器,每一应用软件对应一SVN目录,即测试任务目录,在每一SVN目录下,根据测试任务的名称新建不同的SVN子目录(测试任务脚本文件),并在该SVN目录下,即与SVN子目录的同层,新建一公共函数库文件子目录。
作为一可选实施例,应用软件对应的目录结构示例如下:
liebaotest/branches/jenkins_test/
all_browser_evaluating_test
memory_test
commonfunc【封装的公共方法库】
cold_test
hot_test
其中,liebaotest/branches/jenkins_test为SVN目录,即应用软件对应的测试任务目录,all_browser_evaluating_test、memory_test、cold_test以及hot_test为该应用软件相应四个测试任务对应的SVN子目录,即四个测试任务脚本文件,commonfunc【封装的公共方法库】为公共函数库文件子目录。
A2,构建所述应用软件中各测试任务与对应测试任务脚本文件以及公共操作函数库文件的映射关系。
本步骤中,作为一可选实施例,可以在服务器的持续集成引擎平台的页面中,在应用软件所在的目录中,构建各测试任务下的SVN子目录的映射关系。
本发明实施例中,作为一可选实施例,可以在持续集成引擎平台页面输入测试任务名称并点击测试控件,从而下发应用软件测试指令。
步骤103,依据所述进行应用软件测试的测试任务,查询预先设置的包含测试任务与测试任务脚本文件以及公共操作函数库文件的映射关系,获取测试任务脚本文件以及公共操作函数库文件,向所述各测试机下发以进行所述应用软件测试。
本步骤中,通过服务器下发测试环境配置安装包、测试任务脚本文件以及公共操作函数库文件的方式,无需人工进行部署并配置到各测试机上,使得测试应用软件性能所需的时间短,测试效率高。
作为一可选实施例,该方法可以进一步包括:
接收更新的测试环境版本控制系统代码、和/或,测试任务脚本版本控制系统代码,更新所述服务器中对应存储的测试环境配置安装包、和/或,测试任务脚本文件,生成新版本的测试环境配置安装包、和/或,测试任务脚本文件;
所述向所述各测试机下发对应的测试环境配置安装包包括:
获取最新版本的测试环境配置安装包,向所述各测试机下发;
所述获取测试任务脚本文件包括:
获取最新版本的测试任务脚本文件。
本步骤中,服务器每接收一提交的测试环境配置安装包或测试任务脚本文件,都会生成一相应的文件版本号,每次更新文件,文件版本号自动更新。
在应用软件开发人员基于测试结果进行分析后,可能对测试环境中的一些参数进行更新,例如,修改、删除以及增加,以使更新的测试环境参数与用户实际使用应用软件的环境更吻合;此外,测试任务也可能随着测试的不断进行而进行调整,因而,可以对当前测试任务的某些设置项进行修改,例如,需要将当前直接启动浏览器的设置项更改为先启动其它应用软件,再启动浏览器,或者改变当前测试的应用软件环境,从而向服务器提交对应的版本控制系统脚本更新。本发明实施例中,基于版本控制系统管理文件的服务器通过接收更新的测试环境版本控制系统代码、和/或,测试任务脚本版本控制系统代码,自动更新对应存储的测试环境配置安装包中的代码、和/或,为测试任务脚本文件中的代码,并生成新版本的测试环境配置安装包、和/或,测试任务脚本文件,以使在进行下一次应用软件的该测试任务测试时,依据最新版本的测试环境配置安装包以及测试任务脚本文件启动测试。实际应用中,在进行代码更新时,也可以将修改的代码逻辑(测试环境版本控制系统代码以及测试任务脚本版本控制系统代码)分别封装成相应的方法,并通过在在服务器的持续集成引擎平台页面中的任务配置控件页面中,增加参数选项控件以映射封装的方法,提供参数选取配置,然后作为选取的参数传递给测试环境配置安装包或测试任务脚本文件从而进行相应更新,并在更新后执行后续的测试流程。
作为另一可选实施例,测试任务还可以进一步包括每日构建(dailybuild)测试任务;
所述获取测试任务脚本文件包括:
接收在预先设置的第一时间提交的代码,对在预先设置的第一时间接收的各代码进行编译形成每日构建测试任务文件,在所述每日构建测试任务文件中,设置用于启动测试的第二时间,以使测试机接收所述每日构建测试任务文件后,依据所述第二时间启动测试。
本步骤中,通过在服务器端配置每日构建测试任务,可以使得测试机每天自动按照接收的每日构建测试任务执行测试,从而可以对应用软件的更新功能进行测试,从而发现并报告错误。
可以设置每日构建测试任务在每日下班的后半夜进行,即第二时间设置为每日下班的后半夜。例如,应用软件编程人员在下班前将应用软件编程完成的最新代码提交到服务器,服务器自动将提交的该应用软件的所有最新代码进行编译、链接形成每日构建测试任务文件,下发至各测试机进行运行,获取测试结果。在第二天上班时,应用软件编程人员分析运行的测试结果,从中找出错误并解决。
较佳地,可以通过持续集成引擎平台提供的构建触发(buildTriggers)控件中的时间表(Schedule)控件配置第二时间,以在配置的第二时间到时,自动进行每日构建测试任务测试。
由上述可见,本发明实施例的测试应用软件性能的方法,通过构建基于持续集成引擎平台的服务器,将多台测试机连接到所述服务器,这样,通过持续集成引擎平台整合各测试机的硬件环境,使之成为一个测试机集群,便于管理和通过持续集成引擎平台页面快速下发测试任务,服务器通过版本控制系统方式管理测试环境配置安装包以及测试任务脚本文件,通过脚本将测试环境部署和测试任务进行分离,可以同时在不同的硬件环境下执行应用软件的各种性能测试任务,无需人工进行部署并配置到各测试机上,大大减少了人工操作的成本,使得测试应用软件性能所需的时间短,测试效率高。
作为另一可选实施例,该方法还可以进一步包括:
接收所述各测试机上报的测试结果,输入预先设置的评测应用软件,生成测试报告。
本步骤中,服务器针对同一测试环境下的同一测试任务,生成一测试报告。也可以针对不同测试环境下的同一测试任务,生成一测试对比报告,或者,针对同一测试环境下的不同测试任务,生成一测试对比报告。
图2为本发明实施例测试应用软件性能的装置结构示意图。参见图2,该装置包括:持续集成引擎平台构建模块201、测试环境配置安装包下发模块202以及测试任务下发模块203,其中,
持续集成引擎平台构建模块201,用于构建基于持续集成引擎平台的服务器,将多台测试机连接到所述服务器;
本发明实施例中,作为一可选实施例,持续集成引擎平台构建模块201包括:持续集成引擎安装单元以及接入单元(图中未示出),其中,
持续集成引擎安装单元,用于在服务器上安装持续集成引擎应用软件;
接入单元,用于将各测试机接入所述服务器,并在所述各测试机中安装测试所需的应用软件。
本发明实施例中,作为一可选实施例,测试机采用java-jarslave.jar的方式与所述服务器进行通信,从而接入所述服务器。
测试环境配置安装包下发模块202,用于在进行应用软件测试时,向所述各测试机下发预先设置的环境部署策略对应的测试环境配置安装包,以使测试机依据接收的所述测试环境配置安装包进行测试环境部署;
本发明实施例中,环境部署策略可依据实际需要设置。
测试任务下发模块203,用于依据所述进行应用软件测试的测试任务,查询预先设置的包含测试任务与测试任务脚本文件以及公共操作函数库文件的映射关系,获取测试任务脚本文件以及公共操作函数库文件,向所述各测试机下发以进行所述应用软件测试。
本发明实施例中,作为一可选实施例,所述测试任务包括:冷启动测试任务、热启动测试任务、竞品冷热启动横向对比测试任务以及竞品内存占用测试。
作为另一可选实施例,所述测试任务进一步包括每日构建测试任务;
所述获取测试任务脚本文件包括:
接收在预先设置的第一时间提交的代码,对在预先设置的第一时间接收的各代码进行编译形成每日构建测试任务文件,在所述每日构建测试任务文件中,设置用于启动测试的第二时间,以使测试机接收所述每日构建测试任务文件后,依据所述第二时间启动测试。
较佳地,所述第二时间通过持续集成引擎平台提供的构建触发控件中的时间表控件进行配置。
本发明实施例中,作为一可选实施例,该装置还可以进一步包括:测试文件存储模块204以及映射关系生成模块205,其中,
测试文件存储模块204,用于在所述服务器中,存储各测试环境配置安装包,为应用软件构建一测试任务目录,所述测试任务目录下存储多个测试任务脚本文件以及一公共操作函数库文件,所述多个测试任务脚本文件中的公共操作函数共享所述公共操作函数库文件;
本发明实施例中,每一测试环境对应一测试环境配置安装包,每一测试环境下,可以执行一个或多个测试任务,一个测试任务可以同时在不同的测试环境下进行测试。
作为一可选实施例,服务器存储的测试环境配置安装包、测试任务脚本文件以及公共操作函数库文件采用版本控制系统进行管理,格式采用XML格式。
映射关系生成模块205,构建所述应用软件中各测试任务与对应测试任务脚本文件以及公共操作函数库文件的映射关系。
作为另一可选实施例,该装置还可以进一步包括:
文件更新模块206,用于接收更新的测试环境版本控制系统代码、和/或,测试任务脚本版本控制系统代码,更新所述服务器中对应存储的测试环境配置安装包、和/或,测试任务脚本文件,生成新版本的测试环境配置安装包、和/或,测试任务脚本文件;
所述测试环境配置安装包下发模块202进一步获取最新版本的测试环境配置安装包,向所述各测试机下发;
所述测试任务下发模块203进一步获取最新版本的测试任务脚本文件。
作为再一可选实施例,该装置还可以进一步包括:
测试报告生成模块207,用于接收所述各测试机上报的测试结果,输入预先设置的评测应用软件,生成测试报告。
本发明实施例中,服务器针对同一测试环境下的同一测试任务,生成一测试报告。也可以针对不同测试环境下的同一测试任务,生成一测试对比报告,或者,针对同一测试环境下的不同测试任务,生成一测试对比报告。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种测试应用软件性能的方法,其特征在于,该方法包括:
构建基于持续集成引擎平台的服务器,将多台测试机连接到所述服务器;
在进行应用软件测试时,向所述各测试机下发预先设置的环境部署策略对应的测试环境配置安装包,以使测试机依据接收的所述测试环境配置安装包进行测试环境部署;
依据所述进行应用软件测试的测试任务,查询预先设置的包含测试任务与测试任务脚本文件以及公共操作函数库文件的映射关系,获取测试任务脚本文件以及公共操作函数库文件,向所述各测试机下发以进行所述应用软件测试。
2.根据权利要求1所述的方法,其特征在于,在所述进行应用软件测试之前,所述方法进一步包括:
在所述服务器中,存储各测试环境配置安装包,为应用软件构建一测试任务目录,所述测试任务目录下存储多个测试任务脚本文件以及一公共操作函数库文件,所述多个测试任务脚本文件中的公共操作函数共享所述公共操作函数库文件;
构建所述应用软件中各测试任务与对应测试任务脚本文件以及公共操作函数库文件的映射关系。
3.根据权利要求1或2所述的方法,其特征在于,所述构建基于持续集成引擎平台的服务器,将多台测试机连接到所述服务器包括:
在服务器上安装持续集成引擎应用软件;
将各测试机接入所述服务器,并在所述各测试机中安装测试所需的应用软件。
4.根据权利要求3所述的方法,其特征在于,所述测试机采用java-jarslave.jar的方式与所述服务器进行通信,从而接入所述服务器。
5.根据权利要求1或2所述的方法,其特征在于,所述测试任务包括:冷启动测试任务、热启动测试任务、竞品冷热启动横向对比测试任务以及竞品内存占用测试。
6.根据权利要求5所述的方法,其特征在于,所述测试任务进一步包括每日构建测试任务;
所述获取测试任务脚本文件包括:
接收在预先设置的第一时间提交的代码,对在预先设置的第一时间接收的各代码进行编译形成每日构建测试任务文件,在所述每日构建测试任务文件中,设置用于启动测试的第二时间,以使测试机接收所述每日构建测试任务文件后,依据所述第二时间启动测试。
7.根据权利要求6所述的方法,其特征在于,所述第二时间通过持续集成引擎平台提供的构建触发控件中的时间表控件进行配置。
8.根据权利要求1或2所述的方法,其特征在于,所述服务器存储的测试环境配置安装包、测试任务脚本文件以及公共操作函数库文件采用版本控制系统进行管理。
9.根据权利要求1或2所述的方法,其特征在于,所述方法进一步包括:
接收更新的测试环境版本控制系统代码、和/或,测试任务脚本版本控制系统代码,更新所述服务器中对应存储的测试环境配置安装包、和/或,测试任务脚本文件,生成新版本的测试环境配置安装包、和/或,测试任务脚本文件;
所述下发对应的测试环境配置安装包包括:
获取最新版本的测试环境配置安装包,向所述各测试机下发;
所述获取测试任务脚本文件包括:
获取最新版本的测试任务脚本文件。
10.一种测试应用软件性能的装置,其特征在于,该装置包括:持续集成引擎平台构建模块、测试环境配置安装包下发模块以及测试任务下发模块,其中,
持续集成引擎平台构建模块,用于构建基于持续集成引擎平台的服务器,将多台测试机连接到所述服务器;
测试环境配置安装包下发模块,用于在进行应用软件测试时,向所述各测试机下发预先设置的环境部署策略对应的测试环境配置安装包,以使测试机依据接收的所述测试环境配置安装包进行测试环境部署;
测试任务下发模块,用于依据所述进行应用软件测试的测试任务,查询预先设置的包含测试任务与测试任务脚本文件以及公共操作函数库文件的映射关系,获取测试任务脚本文件以及公共操作函数库文件,向所述各测试机下发以进行所述应用软件测试。
CN201510583803.9A 2015-09-14 2015-09-14 一种测试应用软件性能的方法及装置 Pending CN105095089A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510583803.9A CN105095089A (zh) 2015-09-14 2015-09-14 一种测试应用软件性能的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510583803.9A CN105095089A (zh) 2015-09-14 2015-09-14 一种测试应用软件性能的方法及装置

Publications (1)

Publication Number Publication Date
CN105095089A true CN105095089A (zh) 2015-11-25

Family

ID=54575584

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510583803.9A Pending CN105095089A (zh) 2015-09-14 2015-09-14 一种测试应用软件性能的方法及装置

Country Status (1)

Country Link
CN (1) CN105095089A (zh)

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105320599A (zh) * 2015-11-26 2016-02-10 上海斐讯数据通信技术有限公司 一种web自动化测试的系统及方法
CN105630569A (zh) * 2015-12-17 2016-06-01 北京金山安全软件有限公司 一种软件源代码的处理方法、装置及电子设备
CN105867924A (zh) * 2016-03-29 2016-08-17 乐视控股(北京)有限公司 用于编译环境批量部署的系统和方法
CN106445548A (zh) * 2016-10-11 2017-02-22 武汉斗鱼网络科技有限公司 一种测试包下发方法和装置
CN106484622A (zh) * 2016-10-18 2017-03-08 网易(杭州)网络有限公司 测试方法、装置及系统
CN106502642A (zh) * 2016-09-21 2017-03-15 北京深维科技有限公司 一种eda工具的评价方法及系统
CN106897223A (zh) * 2017-02-24 2017-06-27 郑州云海信息技术有限公司 一种基于持续集成的软件包交付方法及装置
CN107229650A (zh) * 2016-03-25 2017-10-03 阿里巴巴集团控股有限公司 测试方法及装置
CN107562623A (zh) * 2017-08-29 2018-01-09 郑州云海信息技术有限公司 一种rest api自动化测试方法及系统
CN107707646A (zh) * 2017-09-27 2018-02-16 深圳市九洲电器有限公司 基于机顶盒项目的svn服务器管理方法及系统
CN107704395A (zh) * 2017-10-24 2018-02-16 武大吉奥信息技术有限公司 一种基于Openstack下云平台自动化测试实施方法与系统
CN107741904A (zh) * 2017-09-14 2018-02-27 平安科技(深圳)有限公司 测试机自动配置方法、装置、设备及存储介质
CN108021503A (zh) * 2017-11-27 2018-05-11 万兴科技股份有限公司 自动化功能测试的方法、装置和计算机存储介质
CN108289250A (zh) * 2017-12-27 2018-07-17 深圳市九洲电器有限公司 机顶盒操作系统管理方法及系统
CN108809721A (zh) * 2018-06-13 2018-11-13 郑州云海信息技术有限公司 一种远程部署任务的方法及装置
CN108874653A (zh) * 2017-05-09 2018-11-23 腾讯科技(北京)有限公司 任务测试方法、测试机、共享服务器和可读存储介质
CN109213494A (zh) * 2018-08-03 2019-01-15 北京奇安信科技有限公司 一种自动部署集群测试主机的处理方法及装置
CN109271309A (zh) * 2017-07-18 2019-01-25 北京嘀嘀无限科技发展有限公司 自动化测试软件的方法及装置、服务器、设备和存储介质
WO2019056475A1 (zh) * 2017-09-21 2019-03-28 平安科技(深圳)有限公司 测试任务自动化管理方法、装置、设备及存储介质
CN109725911A (zh) * 2017-10-31 2019-05-07 北京国双科技有限公司 一种多环境项目部署方法、装置、存储介质及处理器
CN109766276A (zh) * 2018-12-29 2019-05-17 Tcl通力电子(惠州)有限公司 开放式平台测试方法、装置、计算机可读存储介质及系统
CN111611160A (zh) * 2020-05-15 2020-09-01 浪潮电子信息产业股份有限公司 一种软件测试方法、装置、设备及存储介质
CN111666200A (zh) * 2019-03-08 2020-09-15 福建天泉教育科技有限公司 一种pc软件冷启动耗时的测试方法及终端
CN112306887A (zh) * 2020-11-12 2021-02-02 广州方硅信息技术有限公司 程序测试分发方法及其相应的装置、设备、介质
CN112925722A (zh) * 2021-03-30 2021-06-08 重庆阿克索信息科技有限公司 基于gmp规范的开发测试一体化服务系统
CN107463362B (zh) * 2016-06-03 2021-08-03 北京京东尚科信息技术有限公司 基于多个Jenkins的持续部署的方法和系统
CN113300900A (zh) * 2020-06-28 2021-08-24 阿里巴巴集团控股有限公司 云上服务测试方法、装置和系统以及容器测试方法和装置
CN113688057A (zh) * 2021-10-21 2021-11-23 统信软件技术有限公司 一种计算设备性能测试方法、系统、计算设备及存储介质
CN114465937A (zh) * 2021-12-30 2022-05-10 宁畅信息产业(北京)有限公司 网卡测试方法、装置、服务器、介质和计算机程序产品
CN114690988A (zh) * 2022-03-08 2022-07-01 北京字跳网络技术有限公司 测试方法、装置和电子设备
CN112925722B (zh) * 2021-03-30 2024-05-10 重庆阿克索信息科技有限公司 基于gmp规范的开发测试一体化服务系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1877544A (zh) * 2005-06-06 2006-12-13 华为技术有限公司 关键字驱动的自动化测试系统及方法
US20070204262A1 (en) * 2006-02-17 2007-08-30 International Business Machines Corporation Facilitating the automated testing of daily builds of software
CN101079004A (zh) * 2007-06-22 2007-11-28 中兴通讯股份有限公司 一种实现测试脚本管理和分发的方法及装置
CN101221503A (zh) * 2008-02-01 2008-07-16 中国建设银行股份有限公司 软件测试方法及装置
CN102693183A (zh) * 2012-05-30 2012-09-26 瑞斯康达科技发展股份有限公司 一种实现软件自动化测试的方法及系统
CN102880546A (zh) * 2012-09-03 2013-01-16 上海方正数字出版技术有限公司 一种基于xml数据库的软件集成测试方法及系统
CN103336688A (zh) * 2013-06-20 2013-10-02 中标软件有限公司 面向云计算软件研发过程中的软件集成方法及系统
CN103823749A (zh) * 2013-07-25 2014-05-28 天津市软件评测中心 一种第三方软件测试环境快速构建方法
CN104536888A (zh) * 2014-12-24 2015-04-22 网易(杭州)网络有限公司 移动设备的游戏测试方法与系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1877544A (zh) * 2005-06-06 2006-12-13 华为技术有限公司 关键字驱动的自动化测试系统及方法
US20070204262A1 (en) * 2006-02-17 2007-08-30 International Business Machines Corporation Facilitating the automated testing of daily builds of software
CN101079004A (zh) * 2007-06-22 2007-11-28 中兴通讯股份有限公司 一种实现测试脚本管理和分发的方法及装置
CN101221503A (zh) * 2008-02-01 2008-07-16 中国建设银行股份有限公司 软件测试方法及装置
CN102693183A (zh) * 2012-05-30 2012-09-26 瑞斯康达科技发展股份有限公司 一种实现软件自动化测试的方法及系统
CN102880546A (zh) * 2012-09-03 2013-01-16 上海方正数字出版技术有限公司 一种基于xml数据库的软件集成测试方法及系统
CN103336688A (zh) * 2013-06-20 2013-10-02 中标软件有限公司 面向云计算软件研发过程中的软件集成方法及系统
CN103823749A (zh) * 2013-07-25 2014-05-28 天津市软件评测中心 一种第三方软件测试环境快速构建方法
CN104536888A (zh) * 2014-12-24 2015-04-22 网易(杭州)网络有限公司 移动设备的游戏测试方法与系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
周苏等: "《软件工程基础》", 31 August 2008 *
柳胜: "《软件自动化测试框架设计与实践》", 30 November 2009 *

Cited By (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105320599A (zh) * 2015-11-26 2016-02-10 上海斐讯数据通信技术有限公司 一种web自动化测试的系统及方法
CN105630569A (zh) * 2015-12-17 2016-06-01 北京金山安全软件有限公司 一种软件源代码的处理方法、装置及电子设备
CN107229650B (zh) * 2016-03-25 2020-12-15 创新先进技术有限公司 测试方法及装置
CN107229650A (zh) * 2016-03-25 2017-10-03 阿里巴巴集团控股有限公司 测试方法及装置
CN105867924A (zh) * 2016-03-29 2016-08-17 乐视控股(北京)有限公司 用于编译环境批量部署的系统和方法
CN107463362B (zh) * 2016-06-03 2021-08-03 北京京东尚科信息技术有限公司 基于多个Jenkins的持续部署的方法和系统
CN106502642A (zh) * 2016-09-21 2017-03-15 北京深维科技有限公司 一种eda工具的评价方法及系统
CN106445548A (zh) * 2016-10-11 2017-02-22 武汉斗鱼网络科技有限公司 一种测试包下发方法和装置
CN106445548B (zh) * 2016-10-11 2021-01-01 武汉斗鱼网络科技有限公司 一种测试包下发方法和装置
CN106484622A (zh) * 2016-10-18 2017-03-08 网易(杭州)网络有限公司 测试方法、装置及系统
CN106484622B (zh) * 2016-10-18 2019-02-22 网易(杭州)网络有限公司 测试方法、装置及系统
CN106897223A (zh) * 2017-02-24 2017-06-27 郑州云海信息技术有限公司 一种基于持续集成的软件包交付方法及装置
CN108874653A (zh) * 2017-05-09 2018-11-23 腾讯科技(北京)有限公司 任务测试方法、测试机、共享服务器和可读存储介质
CN109271309B (zh) * 2017-07-18 2022-04-08 北京嘀嘀无限科技发展有限公司 自动化测试软件的方法及装置、服务器、设备和存储介质
CN109271309A (zh) * 2017-07-18 2019-01-25 北京嘀嘀无限科技发展有限公司 自动化测试软件的方法及装置、服务器、设备和存储介质
CN107562623A (zh) * 2017-08-29 2018-01-09 郑州云海信息技术有限公司 一种rest api自动化测试方法及系统
CN107741904A (zh) * 2017-09-14 2018-02-27 平安科技(深圳)有限公司 测试机自动配置方法、装置、设备及存储介质
WO2019056475A1 (zh) * 2017-09-21 2019-03-28 平安科技(深圳)有限公司 测试任务自动化管理方法、装置、设备及存储介质
WO2019062316A1 (zh) * 2017-09-27 2019-04-04 深圳市九洲电器有限公司 基于机顶盒项目的svn服务器管理方法及系统
CN107707646A (zh) * 2017-09-27 2018-02-16 深圳市九洲电器有限公司 基于机顶盒项目的svn服务器管理方法及系统
CN107704395A (zh) * 2017-10-24 2018-02-16 武大吉奥信息技术有限公司 一种基于Openstack下云平台自动化测试实施方法与系统
CN109725911A (zh) * 2017-10-31 2019-05-07 北京国双科技有限公司 一种多环境项目部署方法、装置、存储介质及处理器
CN108021503A (zh) * 2017-11-27 2018-05-11 万兴科技股份有限公司 自动化功能测试的方法、装置和计算机存储介质
CN108289250B (zh) * 2017-12-27 2020-05-12 深圳市九洲电器有限公司 机顶盒操作系统管理方法及系统
CN108289250A (zh) * 2017-12-27 2018-07-17 深圳市九洲电器有限公司 机顶盒操作系统管理方法及系统
CN108809721A (zh) * 2018-06-13 2018-11-13 郑州云海信息技术有限公司 一种远程部署任务的方法及装置
CN109213494A (zh) * 2018-08-03 2019-01-15 北京奇安信科技有限公司 一种自动部署集群测试主机的处理方法及装置
CN109766276A (zh) * 2018-12-29 2019-05-17 Tcl通力电子(惠州)有限公司 开放式平台测试方法、装置、计算机可读存储介质及系统
CN109766276B (zh) * 2018-12-29 2024-01-12 通力科技股份有限公司 开放式平台测试方法、装置、计算机可读存储介质及系统
CN111666200A (zh) * 2019-03-08 2020-09-15 福建天泉教育科技有限公司 一种pc软件冷启动耗时的测试方法及终端
CN111611160B (zh) * 2020-05-15 2022-06-17 浪潮电子信息产业股份有限公司 一种软件测试方法、装置、设备及存储介质
CN111611160A (zh) * 2020-05-15 2020-09-01 浪潮电子信息产业股份有限公司 一种软件测试方法、装置、设备及存储介质
CN113300900A (zh) * 2020-06-28 2021-08-24 阿里巴巴集团控股有限公司 云上服务测试方法、装置和系统以及容器测试方法和装置
CN112306887A (zh) * 2020-11-12 2021-02-02 广州方硅信息技术有限公司 程序测试分发方法及其相应的装置、设备、介质
CN112925722A (zh) * 2021-03-30 2021-06-08 重庆阿克索信息科技有限公司 基于gmp规范的开发测试一体化服务系统
CN112925722B (zh) * 2021-03-30 2024-05-10 重庆阿克索信息科技有限公司 基于gmp规范的开发测试一体化服务系统
CN113688057A (zh) * 2021-10-21 2021-11-23 统信软件技术有限公司 一种计算设备性能测试方法、系统、计算设备及存储介质
CN114465937A (zh) * 2021-12-30 2022-05-10 宁畅信息产业(北京)有限公司 网卡测试方法、装置、服务器、介质和计算机程序产品
CN114465937B (zh) * 2021-12-30 2023-11-17 宁畅信息产业(北京)有限公司 网卡测试方法、装置、服务器和介质
CN114690988A (zh) * 2022-03-08 2022-07-01 北京字跳网络技术有限公司 测试方法、装置和电子设备
CN114690988B (zh) * 2022-03-08 2024-01-23 北京字跳网络技术有限公司 测试方法、装置和电子设备

Similar Documents

Publication Publication Date Title
CN105095089A (zh) 一种测试应用软件性能的方法及装置
CN112882700B (zh) iOS应用程序构建方法及装置、电子设备及存储介质
US9864592B2 (en) System and method for deploying software into a computing environment
CN111027921B (zh) 一种业务处理方法、装置及电子设备和存储介质
US8549514B2 (en) Distributing customized software products
US7861243B2 (en) Automatically deploying program units to a cluster of networked servers
CN108388445B (zh) 一种基于“平台+应用”模式的持续集成方法
US20100325624A1 (en) Method and System for Application Portability
US20160170719A1 (en) Software database system and process of building and operating the same
CN109542445A (zh) 一种Android插件化开发的方法和装置
CN109117174A (zh) 兼容不同引擎的前端页面的系统及方法
CN103544100A (zh) 便携数据处理设备应用程序的测试方法、系统和客户端
CN112882729A (zh) 应用镜像升级方法、装置、计算机设备和存储介质
CN101645009A (zh) Web服务集成开发系统和方法
CN103186376A (zh) 一种用于建立或更新软件开发环境的方法、装置和设备
CN102541609A (zh) 安装程序制作方法、装置及网络设备
CN115480801A (zh) 一种基于Vue框架的多项目开发部署运行方法和系统
US20200097260A1 (en) Software application developer tools platform
CN109144843A (zh) 测试环境部署的方法和装置
CN115113850A (zh) 一种跨平台应用的构建、运行方法、服务器、终端和系统
CN115794214B (zh) 应用模块元数据管理方法、设备、存储介质及装置
Kupsch et al. From continuous integration to continuous assurance
US11372627B2 (en) System and method for providing integrated development environment (IDE) for programmable software system
CN113553070B (zh) 一种基于浏览器插件的应用集成方法
CN115617361A (zh) 一种统一管理的大数据组件部署系统和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20151125

RJ01 Rejection of invention patent application after publication