CN103092749A - 测试环境部署的方法及系统 - Google Patents
测试环境部署的方法及系统 Download PDFInfo
- Publication number
- CN103092749A CN103092749A CN2011103495996A CN201110349599A CN103092749A CN 103092749 A CN103092749 A CN 103092749A CN 2011103495996 A CN2011103495996 A CN 2011103495996A CN 201110349599 A CN201110349599 A CN 201110349599A CN 103092749 A CN103092749 A CN 103092749A
- Authority
- CN
- China
- Prior art keywords
- shell script
- new projects
- test environment
- module
- project
- 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
Links
Images
Abstract
本发明涉及一种测试环境部署的方法及系统,所述方法包括生成将原项目打包并进行备份的Shell脚本;生成将新项目上传的Shell脚本;生成启动新项目的Shell脚本;生成一回退Shell脚本,所述回退Shell脚本用于若启动新项目失败,则回退到所述原项目的备份并自动还原到所述备份的原项目的Shell脚本;汇总上述所有Shell脚本生成总Shell脚本,执行所述总Shell脚本。本发明灵活、方便、高效地实现了各种测试环境的部署,避免了手工测试环境部署带的的额外资源浪费和出错可能。
Description
技术领域
本发明属于软件测试领域,特别涉及一种测试环境部署的方法及系统。
背景技术
在电子或通信领域,为了实现各种功能或应用,都需要建设各种相应的系统或网络,在所述的系统或网络中,除了必需的硬件以外,还配备了各种相应的软件,为此就有必要在系统或网络正式运用前,对其中的软件进行测试,并根据测试结果对软件进行优化。
目前出现的自动测试工具主要有:
(1)QTP(Quick Test Professional),它是一种自动测试工具。使用QTP的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。因此你在测试前要考虑好如何对应用程序进行测试,例如要测试那些功能、操作步骤、输入数据和期望的输出数据等。
(2)LR(Load Runner),它是一种预测系统行为和性能的工业标准级负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题。
然而,随着软件规模的扩大和复杂度的增加,软件测试环境也变得越来越复杂,在具体软件测试过程中,首先要做的工作就是进行测试环境的部署,而目前这部分工作都是手工进行的,通常要占用大量的时间和精力。为了提高软件测试的整体效率,解决环境部署的问题势在必行,从而也就想到了自动化的方法,但是QTP、LR等自动化工具目前还没有找到解决这个问题的方法。
发明内容
本发明的目的在于提供一种测试环境部署的方法及系统,该方法及系统可以替代手工测试环境部署操作,实现对测试环境快速、可重复自动化部署。
为解决上述问题,本发明提供一种测试环境部署的方法,包括:
生成将原项目打包并进行备份的Shell脚本;
生成将新项目上传的Shell脚本;
生成启动新项目的Shell脚本;
生成一回退Shell脚本,所述回退Shell脚本用于若启动新项目失败,则回退到所述原项目的备份并自动还原到所述备份的原项目的Shell脚本;
汇总上述所有Shell脚本生成总Shell脚本,执行所述总Shell脚本。
可选的,在上述方法中,在生成将原项目打包并进行备份的Shell脚本步骤之前,还包括生成一检查Shell脚本,所述检查Shell脚本用于检查原项目是否启动,若启动则停用原项目的Shell脚本。
可选的,在上述方法中,通过ftp模式将所述新项目上传。
可选的,在上述方法中,在生成启动新项目的Shell脚本的步骤之前,还包括生成将原项目与新项目进行比较,若一致,则重新上传新项目的Shell脚本。
可选的,在上述方法中,通过cron定期执行所述总Shell脚本。
根据本发明的另一面,提供一种视频推荐系统,包括:
备份模块,用于生成将原项目打包并进行备份的Shell脚本;
上传模块,用于生成将新项目上传的Shell脚本;
启动模块,用于生成启动新项目的Shell脚本;
还原模块,用于生成回退Shell脚本,所述回退Shell脚本用于若启动新项目失败,则回退到所述原项目的备份并自动还原到所述备份的原项目的Shell脚本;
执行模块,用于汇总上述各模块的Shell脚本生成总Shell脚本,执行所述总Shell脚本。
可选的,在上述系统中,还包括检查模块,用于生成一检查Shell脚本,所述检查Shell脚本用于检查原项目是否启动,若启动则停用原项目的Shell脚本。
可选的,在上述系统中,所述上传模块通过ftp模式将所述新项目上传。
可选的,在上述系统中,还包括比较模块,用于在所述启动模块生成启动新项目的Shell脚本之前,生成将原项目与新项目进行比较,若一致,则重新上传新项目的Shell脚本。
可选的,在上述系统中,所述执行模块通过cron定期执行所述总Shell脚本。
与现有技术相比,本发明通过生成将原项目打包并进行备份的Shell脚本,生成将新项目上传的Shell脚本,生成启动新项目的Shell脚本,生成一回退Shell脚本,所述回退Shell脚本用于若启动新项目失败,则回退到所述原项目的备份并自动还原到所述备份的原项目的Shell脚本,汇总上述所有Shell脚本生成总Shell脚本,执行所述总Shell脚本,执行所述总Shell脚本,灵活、方便、高效地实现了各种测试环境的部署,避免了手工测试环境部署带的额外资源浪费和出错可能。
此外,通过若启动服务失败,则回退到所述原项目的备份,自动还原到所述原备份的项目;检查原项目是否启动,若启动则停用原项目以及将原项目与新项目进行比较的多种机制保证了自动部署测试环境的可靠性。
另外,该方法和系统通过各个Shell脚本实现,对测试环境的管理来说是可读可审计的,使管理人员可以识别并预防测试环境部署过程中的潜在的风险,保证了测试环境部署的安全性。
附图说明
图1是本发明一实施例的测试环境部署的方法的流程图;
图2是本发明一实施例的有比较步骤的测试环境部署的方法的流程图;
图3是本发明一实施例的测试环境部署的系统的功能模块示意图。
具体实施方式
以下结合附图和具体实施例对本发明提出的测试环境部署的方法及系统进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式,仅用于方便、明晰地辅助说明本发明实施例的目的。
如图1所示,本发明提供一种测试环境部署的方法,包括:
步骤S1,生成将原项目打包并进行备份的Shell脚本,具体的,这一步骤是为了防止出现部署项目失败,可进行回退。
进一步的,在生成将原项目打包并进行备份的Shell脚本步骤之前,还包括步骤S0,在生成将原项目打包并进行备份的Shell脚本步骤之前,还包括生成一检查Shell脚本,所述检查Shell脚本用于检查原项目是否启动,若启动则停用原项目的Shell脚本,具体的,找到项目对应的服务,判断是否停用相关的服务,若未启动则直接执行步骤S1,若启动则停用原项目,防止测试环境无法继续部署。
步骤S2,生成将新项目上传的Shell脚本。
进一步的,通过ftp模式将所述新项目上传,解压对应的安装文件,进行对应的测试环境的更新。具体的,所述新项目可以存储在新项目服务器上,测试终端和新项目服务器之间的通信基于FTP协议,其需要在测试终端中设置新项目服务器的IP、用户名和密码,如果要测试环境部署的可靠性或并发处理能力,可以通过设置多个IP来实现热备或负载均衡。
步骤S4,生成启动新项目的Shell脚本。
进一步的,在生成启动新项目的Shell脚本的步骤之前,还包括生成将原项目与新项目进行比较,若一致,则重新上传新项目的Shell脚本。
步骤S5,生成一回退Shell脚本,所述回退Shell脚本用于若启动新项目失败,则回退到所述原项目的备份并自动还原到所述备份的原项目的Shell脚本;
步骤S6,汇总上述所有Shell脚本生成总Shell脚本,执行所述总Shell脚本,具体的,将步骤S1至S4或S0至S4生成的Shell脚本按其生成次序汇总生成一个总Shell脚本,以供每次新测试环境部署调度执行,执行的内容包括检查原项目是否启动,若启动则停用原项目;将原项目打包并进行备份;将新项目上传;启动新项目;若启动新项目失败,则回退到所述原项目的备份,自动还原到所述备份的原项目。
进一步的,通过cron定期执行所述总Shell脚本,具体的,Shell脚本在cron调度下定期执行,cron调度的周期可精确到分钟。
如图2所示,在生成启动新项目的Shell脚本的步骤S4之前,还可以包括步骤3生成将原项目与新项目进行比较,若一致,则重新上传新项目的Shell脚本,相应的,在步骤S6中将步骤S1至S5或S0至S5生成的Shell脚本按其生成次序汇总生成一个总Shell脚本以供每次新测试环境部署调度执行。
本发明的目的是为了测试环境部署项目自动化,用shell脚本来实现测试环境项目更新自动化的一个操作,以后项目需要更新部署的时候,只需要执行这个shell脚本,就可以替代手工操作,最终成功更新项目,解决人工操作的行为,从而实现对测试环境快速、可重复自动化部署。
本发明通过生成将原项目打包并进行备份的Shell脚本,生成将新项目上传的Shell脚本,生成启动新项目的Shell脚本,生成一回退Shell脚本,所述回退Shell脚本用于若启动新项目失败,则回退到所述原项目的备份并自动还原到所述备份的原项目的Shell脚本,汇总上述所有Shell脚本生成总Shell脚本,执行所述总Shell脚本,执行所述总Shell脚本,灵活、方便、高效地实现了各种测试环境的部署,避免了手工测试环境部署带的的额外资源浪费和出错可能。
此外,通过若启动服务失败,则回退到所述原项目的备份,自动还原到所述原备份的项目;检查原项目是否启动,若启动则停用原项目以及将原项目与新项目进行比较的多种机制保证了自动部署测试环境的可靠性。
另外,该方法和系统通过各个Shell脚本实现,对测试环境的管理来说是可读可审计的,使管理人员可以识别并预防测试环境部署过程中的潜在的风险,保证了测试环境部署的安全性。
如图3所示,根据本发明的另一面,还提供一种测试环境部署的系统,包括备份模块1、上传模块2、启动模块3、还原模块4及执行模块5,其中,
备份模块1用于生成将原项目打包并进行备份的Shell脚本,备份模块1是为了防止出现部署项目失败,可进行回退。
上传模块2用于生成将新项目上传的Shell脚本。
启动模块3用于生成启动新项目的Shell脚本。
还原模块4用于生成回退Shell脚本,所述回退Shell脚本用于若启动新项目失败,则回退到所述原项目的备份并自动还原到所述备份的原项目的Shell脚本。
执行模块5用于汇总上述各模块的Shell脚本生成总Shell脚本,执行所述总Shell脚本,具体的,将备份模块1、上传模块2、启动模块3、还原模块4生成的Shell脚本按其生成次序汇总生成一个总Shell脚本以供每次新测试环境部署调度执行。
进一步的,上述系统还可以包括一检查模块6用于在所述备份模块生成将原项目打包并进行备份的Shell脚本之前,生成一检查Shell脚本,所述检查Shell脚本用于检查原项目是否启动,若启动则停用原项目的Shell脚本,具体的,找到项目对应的服务,判断是否停用相关的服务,若未启动则直接执行步骤S1,若启动则停用原项目,防止测试环境无法继续部署,相应的,执行模块5将备份模块1、上传模块2、启动模块3、还原模块4和检查模块6生成的Shell脚本按其生成次序汇总生成一个总Shell脚本以供每次新测试环境部署调度执行。
进一步的,所述上传模块2通过ftp模式将所述新项目上传,解压对应的安装文件,进行对应的测试环境的更新,具体的,所述新项目可以存储在新项目服务器上,上传模块2和新项目服务器之间的通信基于FTP协议,其需要上传模块2设置新项目服务器的IP,用户名和密码,如果要测试环境部署的可靠性或并发处理能力,可以通过设置多个IP来实现热备或负载均衡。
进一步的,还包括比较模块7,用于在所述启动模块生成启动新项目的Shell脚本之前,生成将原项目与新项目进行比较,若一致,则重新上传新项目的Shell脚本,相应的,执行模块5将备份模块1、上传模块2、启动模块3、还原模块4、检查模块6和比较模块7生成的Shell脚本按其生成次序汇总生成一个总Shell脚本以供每次新测试环境部署调度执行。
进一步的,所述执行模块通过cron定期执行所述总Shell脚本,具体的,Shell脚本在cron调度下定期执行,包括,cron调度的周期可精确到分钟。
本发明的目的是为了测试环境部署项目自动化,用shell脚本来实现测试环境项目更新自动化的一个操作,以后项目需要更新部署的时候,只需要执行这个shell脚本,就可以替代手工操作,最终成功更新项目,解决人工操作的行为,从而实现对测试环境快速、可重复自动化部署。
本发明通过生成将原项目打包并进行备份的Shell脚本,生成将新项目上传的Shell脚本,生成启动新项目的Shell脚本,生成一回退Shell脚本,所述回退Shell脚本用于若启动新项目失败,则回退到所述原项目的备份并自动还原到所述备份的原项目的Shell脚本,汇总上述所有Shell脚本生成总Shell脚本,执行所述总Shell脚本,执行所述总Shell脚本,灵活、方便、高效地实现了各种测试环境的部署,避免了手工测试环境部署带的的额外资源浪费和出错可能。
此外,通过若启动服务失败,则回退到所述原项目的备份,自动还原到所述原备份的项目;检查原项目是否启动,若启动则停用原项目以及将原项目与新项目进行比较的多种机制保证了自动部署测试环境的可靠性。
另外,该方法和系统通过各个Shell脚本实现,对测试环境的管理来说是可读可审计的,使管理人员可以识别并预防测试环境部署过程中的潜在的风险,保证了测试环境部署的安全性。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、客户端软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
Claims (10)
1.一种测试环境部署的方法,其特征在于,包括:
生成将原项目打包并进行备份的Shell脚本;
生成将新项目上传的Shell脚本;
生成启动新项目的Shell脚本;
生成一回退Shell脚本,所述回退Shell脚本用于若启动新项目失败,则回退到所述原项目的备份并自动还原到所述备份的原项目的Shell脚本;
汇总上述所有Shell脚本生成总Shell脚本,执行所述总Shell脚本。
2.如权利要求1所述的测试环境部署的方法,其特征在于,在生成将原项目打包并进行备份的Shell脚本步骤之前,还包括生成一检查Shell脚本,所述检查Shell脚本用于检查原项目是否启动,若启动则停用原项目的Shell脚本。
3.如权利要求1所述的测试环境部署的方法Shell脚本,其特征在于,通过ftp模式将所述新项目上传。
4.如权利要求1所述的测试环境部署的方法,其特征在于,在生成启动新项目的Shell脚本的步骤之前,还包括生成将原项目与新项目进行比较,若一致,则重新上传新项目的Shell脚本。
5.如权利要求1所述的测试环境部署的方法,其特征在于,通过cron定期执行所述总Shell脚本。
6.一种测试环境部署的系统,其特征在于,包括:
备份模块,用于生成将原项目打包并进行备份的Shell脚本;
上传模块,用于生成将新项目上传的Shell脚本;
启动模块,用于生成启动新项目的Shell脚本;
还原模块,用于生成回退Shell脚本,所述回退Shell脚本用于若启动新项目失败,则回退到所述原项目的备份并自动还原到所述备份的原项目的Shell脚本;
执行模块,用于汇总上述各模块的Shell脚本生成总Shell脚本,执行所述总Shell脚本。
7.如权利要求6所述的测试环境部署的系统,其特征在于,还包括检查模块,用于生成一检查Shell脚本,所述检查Shell脚本用于检查原项目是否启动,若启动则停用原项目的Shell脚本。
8.如权利要求6所述的测试环境部署的系统,其特征在于,所述上传模块通过ftp模式将所述新项目上传。
9.如权利要求6所述的测试环境部署的系统,其特征在于,还包括比较模块,用于在所述启动模块生成启动新项目的Shell脚本之前,生成将原项目与新项目进行比较,若一致,则重新上传新项目的Shell脚本。
10.如权利要求6所述的测试环境部署的系统,其特征在于,所述执行模块通过cron定期执行所述总Shell脚本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103495996A CN103092749A (zh) | 2011-11-08 | 2011-11-08 | 测试环境部署的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103495996A CN103092749A (zh) | 2011-11-08 | 2011-11-08 | 测试环境部署的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103092749A true CN103092749A (zh) | 2013-05-08 |
Family
ID=48205350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011103495996A Pending CN103092749A (zh) | 2011-11-08 | 2011-11-08 | 测试环境部署的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103092749A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110333895A (zh) * | 2019-05-30 | 2019-10-15 | 中国电力科学研究院有限公司 | 一种面向电力调控云的自动化运维平台 |
CN110741350A (zh) * | 2017-05-05 | 2020-01-31 | 皮沃塔尔软件公司 | 用于分布式计算系统的备份和还原架构 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697133A (zh) * | 2009-10-26 | 2010-04-21 | 中兴通讯股份有限公司 | 软件升级方法、软件升级系统以及客户端 |
CN101699399A (zh) * | 2009-11-03 | 2010-04-28 | 中兴通讯股份有限公司 | 一种软件更新的系统和方法 |
CN101925094A (zh) * | 2009-06-17 | 2010-12-22 | 中兴通讯股份有限公司 | 网元管理系统的更新系统及方法 |
CN102025778A (zh) * | 2010-11-25 | 2011-04-20 | 成都勤智数码科技有限公司 | 一种基于Shell的软件版本升级工作方法 |
-
2011
- 2011-11-08 CN CN2011103495996A patent/CN103092749A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101925094A (zh) * | 2009-06-17 | 2010-12-22 | 中兴通讯股份有限公司 | 网元管理系统的更新系统及方法 |
CN101697133A (zh) * | 2009-10-26 | 2010-04-21 | 中兴通讯股份有限公司 | 软件升级方法、软件升级系统以及客户端 |
CN101699399A (zh) * | 2009-11-03 | 2010-04-28 | 中兴通讯股份有限公司 | 一种软件更新的系统和方法 |
CN102025778A (zh) * | 2010-11-25 | 2011-04-20 | 成都勤智数码科技有限公司 | 一种基于Shell的软件版本升级工作方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110741350A (zh) * | 2017-05-05 | 2020-01-31 | 皮沃塔尔软件公司 | 用于分布式计算系统的备份和还原架构 |
CN110741350B (zh) * | 2017-05-05 | 2023-12-22 | 皮沃塔尔软件公司 | 用于分布式计算系统的备份和还原架构 |
CN110333895A (zh) * | 2019-05-30 | 2019-10-15 | 中国电力科学研究院有限公司 | 一种面向电力调控云的自动化运维平台 |
CN110333895B (zh) * | 2019-05-30 | 2021-09-03 | 中国电力科学研究院有限公司 | 一种面向电力调控云的自动化运维平台 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9471474B2 (en) | Cloud deployment infrastructure validation engine | |
CN102035896B (zh) | 一种适用于软件系统的基于ttcn-3的分布式测试框架 | |
CN104298512B (zh) | 一种基于OSGi标准的功能组件式集成开发系统 | |
CN103646104A (zh) | 一种强实时故障诊断方法及系统 | |
CN104391777B (zh) | 基于Linux操作系统的云平台及其运行监控方法和装置 | |
CN105204991A (zh) | 一种物联设备测试方法及装置 | |
US10210291B2 (en) | Apparatus and method for analyzing power system | |
CN103092749A (zh) | 测试环境部署的方法及系统 | |
CN106909382B (zh) | 输出不同类型系统启动信息的方法及装置 | |
Jacques-Silva et al. | Towards autonomic fault recovery in system-s | |
Oriol et al. | Fault-tolerant fault tolerance for component-based automation systems | |
Gallina et al. | Benefits of security-informed safety-oriented process line engineering | |
CN101753360B (zh) | 应用系统启动的方法、并行管理系统和应用管理系统 | |
Belli | Dependability and Software Reuse--Coupling Them by an Industrial Standard | |
TW201407503A (zh) | 雲端平台工作排程方法及系統 | |
KR20150124653A (ko) | 프로세스 검증 기능이 구비된 전력 계통 감시 및 제어 시스템 | |
Na et al. | Extension and application based on robot testing framework | |
CN115757099A (zh) | 平台固件保护恢复功能自动测试方法和装置 | |
CN103617077A (zh) | 智能型云端化移转的方法与系统 | |
CN102831027B (zh) | 一种基于代理的面向服务软件系统的容错方法 | |
CN112506631A (zh) | 基于电力大数据模型任务调度方法、平台及存储介质 | |
CN113031969A (zh) | 设备部署巡检方法、装置、计算机设备及存储介质 | |
CN105512025A (zh) | 基于模拟消息的Fuzz引擎优化方法与系统 | |
You | Multi-channel data flow software fault detection for social internet of things with system assurance concerns | |
CN101719920A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130508 |