CN104539487B - 一种基于云平台的系统测试及可靠性评估方法 - Google Patents
一种基于云平台的系统测试及可靠性评估方法 Download PDFInfo
- Publication number
- CN104539487B CN104539487B CN201510027112.0A CN201510027112A CN104539487B CN 104539487 B CN104539487 B CN 104539487B CN 201510027112 A CN201510027112 A CN 201510027112A CN 104539487 B CN104539487 B CN 104539487B
- Authority
- CN
- China
- Prior art keywords
- test
- deployment
- monitoring
- server
- platform
- 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.)
- Expired - Fee Related
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种基于云平台的系统测试及可靠性评估方法,该方法包括:在云计算系统测试平台上,应用编译通过后生成一个可执行程序包,该可执行程序包中包含可执行的二进制程序,还包括程序运行时所需要的文件,并发送到FTP服务器上,根据云计算系统测试平台发出的请求消息,申请测试协同服务器,构建和部署相应的测试环境,构建完成后,请求执行测试脚本,直至测试完成,所述请求消息包括应用名称、发布需求的ID、生成的可执行程序包地址。本发明加强对大规模云平台测试服务器的统一管理和监控,提高发现问题的及时性和处理效率,增加出现问题后的自我恢复能力。
Description
技术领域
本发明涉及软件测试,特别涉及一种基于云平台的系统测试及可靠性评估方法。
背景技术
软件测试已经日益成为一种不可忽视的技术。能否借助该技术以及如何借助它规范测试流程,提高特定测试活动的效率,是一个需要研究的重要问题。使用机器自动进行测试执行和测试结果判断,是在测试中部分使用了程序或是机器的能力,目的在于减少资源消耗、扩大测试范围和充分利用机器与程序的能力。目前,软件测试的研究领域主要集中在软件测试流程的自动化管理以及动态测试的自动化(如单元测试、功能测试以及性能测试方面)。测试人员更加专注于新的测试模块的建立和开发,从而提高测试覆盖率;更便于测试资产的数字化管理,在整个测试生命周期内可以复用测试资产。但是在云平台的复杂环境下,自动测试相对脆弱,维护比较困难。严重制约了测试效率的提升。
因此,针对相关技术中所存在的上述问题,目前尚未提出有效的解决方案。
发明内容
为解决上述现有技术所存在的问题,本发明提出了一种基于云平台的系统测试及可靠性评估方法,包括:
在云计算系统测试平台上,应用编译通过后生成一个可执行程序包,该可执行程序包中包含可执行的二进制程序,还包括程序运行时所需要的文件,并发送到FTP服务器上,根据云计算系统测试平台发出的请求消息,申请测试协同服务器,构建和部署相应的测试环境,构建完成后,请求执行测试脚本,直至测试完成,所述请求消息包括应用名称、发布需求的ID、生成的可执行程序包地址。
优选地,所述构建和部署相应的测试环境,进一步包括:
在运行测试脚本之前,首先部署服务器,即在所申请的测试协同服务器上构建测试环境,首先要获取应用可执行程序包的FTP地址,然后申请测试协同服务器,并登录该服务器,获取可执行程序包和最新的配置文件,该配置文件存储了测试协同服务器所需的配置项,将配置项注入所述可执行程序包,在测试协同服务器下自动获取应用的分支或可执行程序包,获取最新的配置文件,完成自动化部署和重启;
测试协同服务器中的监控程序通过HTTP请求来完成自动化测试协同服务器的监控和管理,以SQL语句来完成更新可执行程序包地址操作,测试环境由监控程序根据云计算系统测试平台发布情况来部署;监控程序定时更新部署脚本。
优选地,用户在自己的计算机上通过浏览器访问该测试平台,进行申请测试协同服务器和部署环境的一系列操作,云平台收到命令后会在相应的测试协同服务器上部署环境,并返回部署状态等监控信息,用户通过浏览器监控和查看测试协同服务器的状态图;
云计算系统测试平台服务器上应用编译通过后会生成新的可执行程序包并发送到FTP服务器上,然后云计算系统测试平台会触发部署操作,平台服务器的部署控制器在相应的测试协同服务器传送和安装代理程序,代理程序收到部署环境的信号后,调用测试环境部署脚本进行测试环境部署,该脚本在每个执行过程运行到最后时,返回部署状态和相关消息,部署状态包括成功、失败或超时,通过代理程序的状态提取器将部署状态存储在缓存中;
平台服务器的环境监控程序获取部署状态,传达给调度中心,如果部署失败,监控程序通知部署控制器进行重置,其中该部署控制器包括一个应用部署信息查询列表,周期性进行刷新;部署测试环境时,首先按序对每一个测试环境生成部署线程,其次通过部署计划表查询依赖顺序,监听前置依赖的就绪状态,然后线程给所述代理程序下达部署命令,代理程序及时将部署状态和消息反馈到调度中心,更新部署计划列表中的测试环境部署状态,所述测试环境部署包括分发部署计划、生成临时部署计划、管理应用依赖关系、设置部署计划列表和配置部署计划;
测试环境的监控程序查看测试环境监控信息、设置环境监控参数、监控调度并且监控查询远程服务,其中所述监控调度包括测试环境监控程序在获取部署状态后传达给调度中心,如果部署失败,监控程序会通知部署控制器进行重置,在环境监控调度中,新建或修改环境的测试成功检查配置并确认保存时,监听服务立即被触发。
本发明相比现有技术,具有以下优点:
提出了基于云平台的系统测试方法,能够加强对大规模云平台测试协同服务器的统一管理和监控,提高发现测试协同服务器问题的及时性和处理效率,增加出现问题后的自我恢复能力,从而释放了大量的人力资源,大幅提升了工作效率。
附图说明
图1是根据本发明实施例的基于云平台的系统测试及可靠性评估方法的流程图。
具体实施方式
下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本发明。
本发明结合软件自动测试的需求和基于云平台的开发框架的原理及相关技术,在分析总结现有工作的基础上,给出面向云平台的系统测试平台的设计。
本发明的一方面提供了一种基于云平台的系统测试及可靠性评估方法。图1是根据本发明实施例的基于云平台的系统测试及可靠性评估方法流程图。
云计算系统测试平台管理整个开发过程中的各项活动。在该平台上,项目管理者创建项目并分配资源,开发人员提交代码、编译审计及打包,完成后会发消息提醒测试人员接手测试,测试后进行发布。云计算系统测试平台上,应用编译通过后生成一个新的可执行程序包,可执行程序包里面包含可执行的二进制程序,该程序和Windows的软件包中的.exe文件类似,是可执行的。程序包中还包括程序运行时所需要的文件,并发送到FTP服务器上,根据云计算系统测试平台发出的请求消息,这个消息包括应用名称、发布需求的ID、生成的可执行程序包地址等,会在测试环境申请测试协同服务器,构建和部署相应的测试环境,构建完成后,请求执行测试脚本,直至测试完成。
运行测试脚本之前,首先要部署服务器,即在测试协同服务器上构建测试环境。首先要获取应用可执行程序包的FTP地址,然后申请测试协同服务器,并登录该服务器,获取可执行程序包和最新的配置文件,该配置文件存储了测试协同服务器所需的配置项,将配置项注入可执行程序包。在测试协同服务器下自动获取应用的分支或可执行程序包,获取最新的配置文件,完成自动化部署和重启。
测试协同服务器中的监控程序通过HTTP请求来完成自动化测试协同服务器的管理,以SQL语句来完成更新可执行程序包地址等操作,自动化测试环境由监控程序根据云计算系统测试平台发布情况来部署;监控程序定时更新部署脚本。
面向云平台的自动化测试平台主要有2大功能,即部署测试环境和监控服务器。开发人员提交测试后,测试人员需要在大规模测试云集群上安装开发提供的可执行程序包,即部署测试环境,然后才能验证所提交代码的正确性。用户在自己的计算机上通过浏览器访问该测试平台,进行申请测试协同服务器和部署环境等一系列操作。云平台收到命令后会在相应的测试协同服务器上部署环境,并返回部署状态等监控信息,从而使用户通过浏览器就可以监控和查看测试协同服务器的状态图。
云计算系统测试平台服务器上应用编译通过后会生成一个新的可执行程序包并发送到FTP服务器上,然后云计算系统测试平台会触发部署操作。平台服务器的部署控制器在相应的测试协同服务器传送和安装代理程序。代理程序收到部署环境的信号,就会调用测试环境部署脚本进行测试环境部署。该脚本在每个执行过程运行到最后(成功或失败)时,返回部署状态和相关消息。部署状态(成功、失败或超时)会通过代理程序的状态提取器存储在缓存中。平台服务器的环境监控程序则会获取该状态,传达给调度中心。如果部署失败,监控程序会通知部署控制器进行重置。其中部署控制器是通过部署分发程序来分配部署工作,包括一个应用部署信息查询列表,会周期性进行刷新。
部署测试环境时,首先会有调度中心按序对每一个测试环境生成部署线程,其次通过部署计划表查询依赖顺序,监听前置依赖的就绪状态,然后线程会给代理程序下达部署命令,代理程序会及时将部署状态和消息反馈到调度中心,从而更新部署计划列表中的测试环境部署状态。测试环境部署过程包括分发部署计划、生成临时部署计划、管理应用依赖关系、设置部署计划列表和配置部署计划。
测试环境监控程序有查看测试环境监控信息、设置环境监控参数、监控调度和监控查询远程服务4个部分。监控调度是测试环境监控程序在获取部署状态后传达给调度中心,如果部署失败,监控程序会通知部署控制器进行重置的过程。在环境监控调度中,新建或修改环境的测试成功检查配置并确认保存时,监听服务立即被触发。
部署状态是指测试环境部署计划中的部署状态正处于“安装进行中”之后,“启动失败”、“启动成功”或“启动超时”之前的中间状态。触发以后,监听器会给代理程序发送测试成功命令。代理程序首先解析JSON,解析检查内容,逐个执行检查内容。然后,如果是进程检查,直接组装检查结果;如果是URL检查,请求URL并对返回内容进行校验;如果是服务检查,则直接执行检查命令启动服务检查程序,但要将监控系统中心发送过来的JSON参数追加在命令后面,由服务检查程序组装检查结果。这里假设是服务检查。
接下来,代理程序会周期性地调用服务检查。服务检查完毕,将检查结果存入测试数据库。监听器维护一个定时器,它会启动一个定时任务用于周期性提取存储在数据库中的测试环境检查结果数据,如果部署失败,会触发失败重新部署。
部署测试环境时可能需要构建几个应用,而应用之间存在一定的依赖关系,一旦一个应用构建不成功,就会影响到对它依赖的其他应用。本发明的方法采用的是并行构建,运用按层级关系构建应用的思想,避免了绝对的串行构建会影响测试环境部署效率的问题。首先根据应用的依赖关系建立有向图,检测该有向图中是否存在环,若不存在,则对该有向图进行拓扑排序,输出排序后的序列,将该序列转换为队列,然后将队列自动转换为层级,最后根据层级关系构建应用。每个应用构建完成后发送触发信息。总的构建时间为有向图中最长路径上每个应用的构建时间之和。每一组构建应用过程采用设定超时时间方式。
综上所述,本发明提出了一种基于云平台的系统测试方法,能够加强对大规模云平台测试协同服务器的统一管理和监控,提高发现测试协同服务器问题的及时性和处理效率,增加出现问题后的自我恢复能力,从而释放了大量的人力资源,大幅提升了工作效率。
显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储系统中由计算系统来执行。这样,本发明不限制于任何特定的硬件和软件结合。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
Claims (2)
1.一种基于云平台的系统测试及可靠性评估方法,其特征在于,包括:
在云计算系统测试平台上,应用编译通过后生成一个可执行程序包,该可执行程序包中包含可执行的二进制程序,还包括程序运行时所需要的文件,并发送到FTP服务器上,所述云计算系统测试平台包含部署测试环境和监控服务器两大功能,根据云计算系统测试平台发出的请求消息,申请测试协同服务器,构建和部署相应的测试环境,构建完成后,请求执行测试脚本,直至测试完成,所述请求消息包括应用名称、发布需求的ID、生成的可执行程序包地址,
该方法进一步包括:
用户在自己的计算机上通过浏览器访问该测试平台,进行申请测试协同服务器和部署环境的一系列操作,云平台收到命令后会在相应的测试协同服务器上部署环境,并返回部署状态监控信息,用户通过浏览器监控和查看测试协同服务器的状态图;
云计算系统测试平台服务器上应用编译通过后会生成新的可执行程序包并发送到FTP服务器上,然后云计算系统测试平台会触发部署操作,平台服务器的部署控制器在相应的测试协同服务器传送和安装代理程序,代理程序收到部署环境的信号后,调用测试环境部署脚本进行测试环境部署,该脚本在每个执行过程运行到最后时,返回部署状态和相关消息,部署状态包括成功、失败或超时,通过代理程序的状态提取器将部署状态存储在缓存中;
平台服务器的环境监控程序获取部署状态,传达给调度中心,如果部署失败,监控程序通知部署控制器进行重置,其中该部署控制器包括一个应用部署信息查询列表,周期性进行刷新;部署测试环境时,首先按序对每一个测试环境生成部署线程,其次通过部署计划表查询依赖顺序,监听前置依赖的就绪状态,然后线程给所述代理程序下达部署命令,代理程序及时将部署状态和消息反馈到调度中心,更新部署计划列表中的测试环境部署状态,所述测试环境部署包括分发部署计划、生成临时部署计划、管理应用依赖关系、设置部署计划列表和配置部署计划;
测试环境的监控程序查看测试环境监控信息、设置环境监控参数、监控调度并且监控查询远程服务,其中所述监控调度包括测试环境监控程序在获取部署状态后传达给调度中心,如果部署失败,监控程序会通知部署控制器进行重置,在环境监控调度中,新建或修改环境的测试成功检查配置并确认保存时,监听服务立即被触发;
所述部署状态是指测试环境部署计划中的部署状态正处于安装进行中之后,启动失败、启动成功或启动超时之前的中间状态;触发以后,监听器会给代理程序发送测试成功命令;代理程序首先解析JSON,解析检查内容,逐个执行检查内容;然后,如果是进程检查,直接组装检查结果;如果是URL检查,请求URL并对返回内容进行校验;如果是服务检查,则直接执行检查命令启动服务检查程序,但要将监控系统中心发送过来的JSON参数追加在命令后面,由服务检查程序组装检查结果。
2.根据权利要求1所述的方法,其特征在于,所述构建和部署相应的测试环境,进一步包括:
在运行测试脚本之前,首先部署服务器,即在所申请的测试协同服务器上构建测试环境,首先要获取应用可执行程序包的FTP地址,然后申请测试协同服务器,并登录该服务器,获取可执行程序包和最新的配置文件,该配置文件存储了测试协同服务器所需的配置项,将配置项注入所述可执行程序包,在测试协同服务器下自动获取应用的分支或可执行程序包,获取最新的配置文件,完成自动化部署和重启;
测试协同服务器中的监控程序通过HTTP请求来完成自动化测试协同服务器的监控和管理,以SQL语句来完成更新可执行程序包地址操作,测试环境由监控程序根据云计算系统测试平台发布情况来部署;监控程序定时更新部署脚本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510027112.0A CN104539487B (zh) | 2015-01-20 | 2015-01-20 | 一种基于云平台的系统测试及可靠性评估方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510027112.0A CN104539487B (zh) | 2015-01-20 | 2015-01-20 | 一种基于云平台的系统测试及可靠性评估方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104539487A CN104539487A (zh) | 2015-04-22 |
CN104539487B true CN104539487B (zh) | 2018-04-17 |
Family
ID=52854956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510027112.0A Expired - Fee Related CN104539487B (zh) | 2015-01-20 | 2015-01-20 | 一种基于云平台的系统测试及可靠性评估方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104539487B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106933729A (zh) * | 2015-12-29 | 2017-07-07 | 苏宁云商集团股份有限公司 | 一种基于云平台的测试方法和系统 |
CN107291611A (zh) * | 2016-04-11 | 2017-10-24 | 中兴通讯股份有限公司 | 调用第三方测试工具的测试系统及方法 |
CN107544783B (zh) * | 2016-06-27 | 2020-11-24 | 腾讯科技(深圳)有限公司 | 一种数据更新方法、装置及系统 |
CN107885658B (zh) * | 2017-10-31 | 2019-06-21 | 平安科技(深圳)有限公司 | 测试前置实现方法、装置、终端设备及存储介质 |
CN107992409B (zh) * | 2017-11-21 | 2020-08-21 | 平安养老保险股份有限公司 | 测试用例生成方法、装置、计算机设备和存储介质 |
CN108959086B (zh) * | 2018-06-29 | 2023-02-03 | 北京金山数字娱乐科技有限公司 | 程序包测试部署方法、装置、系统、电子设备及存储介质 |
CN110430082B (zh) * | 2019-08-15 | 2021-06-15 | 浙江万朋教育科技股份有限公司 | 一种管理测试服务器与应用程序的方法 |
CN110765012A (zh) * | 2019-10-15 | 2020-02-07 | 北京信安世纪科技股份有限公司 | 一种自动化测试脚本生成及解析执行方法 |
CN110868340B (zh) * | 2019-11-27 | 2021-11-02 | 紫光华山科技有限公司 | 测试方法、装置、可重构测试仪及控制器 |
CN111008141A (zh) * | 2019-12-10 | 2020-04-14 | 紫光云(南京)数字技术有限公司 | 一种自动化增量部署测试环境方法 |
CN111722853B (zh) * | 2020-06-12 | 2024-08-27 | 苏州浪潮智能科技有限公司 | 一种安装脚本部署的方法和设备 |
CN112818003B (zh) * | 2021-01-14 | 2023-03-31 | 内蒙古蒙商消费金融股份有限公司 | 一种查询任务的执行风险预估方法及装置 |
CN113094261B (zh) * | 2021-03-23 | 2023-06-27 | 杭州电魂网络科技股份有限公司 | 自动更新测试环境的方法、系统、电子装置和存储介质 |
CN114157654B (zh) * | 2021-10-28 | 2024-03-19 | 杭州未名信科科技有限公司 | 一种集成电路协同设计系统和方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880542A (zh) * | 2011-07-14 | 2013-01-16 | 易云捷讯科技(北京)有限公司 | 云计算服务评测系统及评测方法 |
CN103019938A (zh) * | 2012-12-26 | 2013-04-03 | 北京搜狐新媒体信息技术有限公司 | 一种在本地测试云平台应用的方法及装置 |
CN103810023A (zh) * | 2014-03-06 | 2014-05-21 | 中国科学院信息工程研究所 | 一种云平台中分布式应用的智能部署方法及系统 |
-
2015
- 2015-01-20 CN CN201510027112.0A patent/CN104539487B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880542A (zh) * | 2011-07-14 | 2013-01-16 | 易云捷讯科技(北京)有限公司 | 云计算服务评测系统及评测方法 |
CN103019938A (zh) * | 2012-12-26 | 2013-04-03 | 北京搜狐新媒体信息技术有限公司 | 一种在本地测试云平台应用的方法及装置 |
CN103810023A (zh) * | 2014-03-06 | 2014-05-21 | 中国科学院信息工程研究所 | 一种云平台中分布式应用的智能部署方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104539487A (zh) | 2015-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104539487B (zh) | 一种基于云平台的系统测试及可靠性评估方法 | |
CN104536899B (zh) | 一种基于智能集群的软件部署及其维护方法 | |
Jhawar et al. | Fault tolerance and resilience in cloud computing environments | |
US10474563B1 (en) | System testing from production transactions | |
US10613853B2 (en) | Updating software components through online stores | |
TWI234977B (en) | Methods and apparatus for dependency-based impact simulation and vulnerability analysis | |
US10817267B2 (en) | State machine representation of a development environment deployment process | |
Di et al. | GloudSim: Google trace based cloud simulator with virtual machines | |
CN109344065A (zh) | 远程调试方法、调试服务器及目标机 | |
US11269997B2 (en) | Automated dynamic security testing | |
CN105357067A (zh) | 一种云平台的测试方法及系统 | |
Lin et al. | Tracing function dependencies across clouds | |
CN112463561B (zh) | 一种故障定位方法、装置、设备及存储介质 | |
US20170161026A1 (en) | Deployment of development environments | |
Camarasu-Pop et al. | Simulating application workflows and services deployed on the european grid infrastructure | |
CN114338684A (zh) | 一种能源管理系统及方法 | |
Ceccarelli et al. | A testing service for lifelong validation of dynamic SOA | |
Khan et al. | Comparing pacemaker with OpenSAF for availability management in the cloud | |
Hill et al. | Unit testing non-functional concerns of component-based distributed systems | |
Schmieders et al. | Architectural runtime models for privacy checks of cloud applications | |
CN114238091A (zh) | 一种常驻型交互式服务集群测试方法及系统 | |
Reile et al. | Bunk8s: Enabling Easy Integration Testing of Microservices in Kubernetes | |
US20170161030A1 (en) | Framework for flexible logging of development environment deployment | |
CN115543491A (zh) | 微服务处理方法和装置 | |
CN105893226A (zh) | 服务监测系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180417 Termination date: 20220120 |
|
CF01 | Termination of patent right due to non-payment of annual fee |