一种基于云端自动化测试环境管理方法及系统与流程

文档序号:37602453发布日期:2024-04-18 12:46阅读:13来源:国知局
一种基于云端自动化测试环境管理方法及系统与流程

本发明云端自动化,具体为一种基于云端自动化测试环境管理方法及系统。


背景技术:

1、随着软件开发进程的快速演进,特别是在敏捷开发和devops文化的推动下,对于更高效、灵活的测试环境管理方法的需求日益增长。

2、云计算以其高度的弹性、可扩展性和按需服务模式,为软件测试提供了一个理想的平台。它允许快速部署和调整测试环境,适应不同规模和复杂性的测试需求。云平台能够提供各种计算资源,包括cpu、内存、存储和网络资源,这些资源可以根据需求动态调整,从而优化成本和性能。软件测试自动化是提高软件开发周期效率和质量的关键。它减少了人工测试的需要,允许持续集成/持续部署(ci/cd)实践的实施,确保了软件质量和快速迭代。自动化测试包括多种类型,如单元测试、集成测试和性能测试,对于确保软件在各种环境下的可靠性和稳定性至关重要。

3、微服务架构通过将应用程序分解为一组小型、松耦合的服务来提高灵活性和可维护性。然而,这种架构也带来了测试上的挑战,因为需要独立地测试每个微服务单元并确保它们在集成时能够正常工作。在云环境中测试微服务需要有效的服务发现、负载均衡和网络配置。

4、在传统的测试环境管理中,手动配置和维护测试环境常常耗时耗力,且容易出错。尤其是在云环境和微服务架构下,这种管理方式难以满足快速部署和灵活配置的需求。此外,缺乏有效的性能监控和资源优化机制也是传统方法的短板。

5、本发明通过整合云计算和自动化测试技术,提供了一种全新的测试环境管理方法。它能够自动化部署和配置容器化的测试环境,支持微服务单元的独立和集成测试,并通过集成ci/cd工具实现测试流程的自动化。此外,本发明还包括了性能监控和日志分析功能,以及基于监控数据的智能资源调整机制,从而确保测试环境的高效运行和资源的最优利用。


技术实现思路

1、鉴于上述存在的问题,提出了本发明。

2、因此,本发明解决的技术问题是:如何在云计算环境中高效、灵活且自动化地管理软件测试环境。

3、为解决上述技术问题,本发明提供如下技术方案:一种基于云端自动化测试环境管理方法,包括:在云计算平台上自动部署包含测试所需依赖的容器化测试环境;

4、将待测试应用拆分为独立的微服务单元,并为每个单元实施独立测试;

5、通过ci/cd工具自动触发针对每个微服务的测试流程;

6、对容器和微服务的性能进行监控以及日志收集与分析;

7、根据性能监控结果自动调整微服务实例数量,并实施服务部署策略。

8、作为本发明所述的基于云端自动化测试环境管理方法的一种优选方案,其中:所述容器化测试环境包括,

9、当需要创建新的测试环境时,自动执行容器化环境的部署脚本,脚本基于预先定义的dockerfile构建包含所有必要依赖和配置的容器镜像;

10、当容器镜像构建完成时,将镜像上传到云平台的容器仓库中,使其在各测试环境中随时进行拉取和部署;

11、当有测试任务触发时,则通过ci/cd工具自动拉取对应的容器镜像,并在云计算平台的指定环境中启动容器实例进行测试;

12、当容器实例启动后,则自动配置环境变量和依赖服务,确保测试环境与预期设置一致,并能够立即用于测试;

13、当测试任务完成或更新时,则自动停止并销毁相关容器实例,释放资源,并根据需要更新或重新部署容器镜像。

14、作为本发明所述的基于云端自动化测试环境管理方法的一种优选方案,其中:将待测试应用拆分为独立的所述微服务单元包括,

15、当应用的功能模块被识别为可独立运行和测试的单元时,则将其拆分为单独的微服务单元,并为每个单元定义api接口和服务契约;

16、当微服务单元被定义后,则针对每个单元编写自动化测试脚本,覆盖其关键功能和交互界面;

17、当自动化测试脚本准备就绪时,则将其集成到ci/cd流程中,使其在微服务代码更新时自动执行这些测试;

18、当单元测试在ci/cd流程中被触发时,则在独立的、隔离的测试环境中运行这些测试,确保测试结果的准确性和微服务之间的独立性;

19、当单元测试完成后,则收集测试结果和性能数据,以评估每个微服务的功能性和稳定性,并为后续优化提供依据。

20、作为本发明所述的基于云端自动化测试环境管理方法的一种优选方案,其中:所述通过ci/cd工具自动触发针对每个微服务的测试流程包括,当源代码仓库中的微服务代码发生更新时,则自动触发ci/cd工具中配置的测试流程,这包括从代码仓库拉取最新代码、执行构建过程以及运行自动化测试脚本;

21、当自动化测试脚本开始执行时,则在隔离的测试环境中部署相应的微服务实例;

22、当自动化测试执行完成时,则收集测试结果和性能指标,并生成测试报告;

23、当测试发现错误时,则将错误报告和相关日志发送给开发团队,及时修复,并根据需要重新触发测试流程;

24、当所有测试通过且满足预设的质量标准时,则自动将代码变更合并到主分支或标记为可部署状态,为后续的发布步骤做准备。

25、作为本发明所述的基于云端自动化测试环境管理方法的一种优选方案,其中:所述对容器和微服务的性能进行监控包括,在云环境中配置监控工具,实时跟踪微服务和容器的性能指标;

26、部署日志收集系统,自动从所有容器和微服务中收集、存储、索引日志信息;

27、实施智能报警机制,当监控到的性能指标超出预设阈值或日志中出现预定义的错误模式时,则自动触发报警系统,并通过集成的通知方式发送警报;

28、当性能指标处于正常范围内且日志中无关键错误或异常行为时,则不触发报警;

29、使用日志分析工具,对收集的日志进行分析,以便快速定位和解决性能问题或系统异常;

30、将收集的性能数据以图形化的方式展示,提供系统性能的直观视图和深入分析。

31、作为本发明所述的基于云端自动化测试环境管理方法的一种优选方案,其中:所述对收集的日志进行分析包括,从日志中提取性能指标的时间序列数据,对数据进行清洗,处理缺失值和异常点;

32、应用arima模型对处理后的时间序列数进行建模;

33、其中,是自回归项的阶数它允许我们将过去个时间点的值用作预测变量;表示查分次数,用于使时间序列数据稳定;是移动平均项的阶数,它允许我们将过去个预测误差用作预测变量;使用历史数据来估计模型参数,并拟合arima模型;

34、利用拟合好的arima模型进行预测,生成未来一段时间的性能指标预测值;

35、计算时间点预测值和时间点实际观测值之间的差异,;

36、其中,是时间点的差异值;

37、设定一个阈值来判断异常,若超过阈值,则认为在时间点发生异常;

38、所述阈值通过历史差异数据的平均值加减两倍的标准层,公式为:

39、 ;

40、其中,表示历史差异数据的平均值,表示标准差。

41、作为本发明所述的基于云端自动化测试环境管理方法的一种优选方案,其中:所述根据性能监控结果自动调整微服务实例数量包括,

42、确定cpu使用率、内存使用率、磁盘i/o使用率和网络带宽使用率为监控指标;

43、实时收集每个微服务实例的性能数据,判断是否达到自动扩展阈值和自动缩减阈值;

44、当任一所述监控指标超过上限阈值时,表示当前的资源已不足以满足性能需求,则增加微服务实例数量;

45、当任一所述监控指标超过下限阈值,表示当前的资源使用不足,则减少微服务实例数量,优化资源使用;

46、设定自动调整实例数量的决策算法,来计算调整后的实例数量,公式表示为:

47、;

48、其中,表示调整后的实例数量,表示当前的实例数量,表示调整敏感度系数,表示当前的综合性能指标,表示目标性能指标;

49、根据计算出的新实例数量,动态地增加或减少微服务实例;

50、调整服务部署策略,包括网络配置、负载均衡和资源分配,以适应新的实例数量并优化整体性能。

51、一种基于云端自动化测试环境管理系统,其特征在于:包括,

52、自动化部署模块:在云计算平台上自动部署包含测试所需依赖的容器化测试环境;

53、微服务分离:将待测试应用拆分为独立的微服务单元,并为每个单元实施独立测试;

54、ci/cd集成模块:通过ci/cd工具自动触发针对每个微服务的测试流程;

55、性能监控模块:对容器和微服务的性能进行监控以及日志收集与分析;

56、自动优化:模块根据性能监控结果自动调整微服务实例数量,并实施服务部署策略。

57、一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述的方法的步骤。

58、一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法的步骤。

59、本发明的有益效果:显著提升测试流程的自动化程度和效率。通过自动化部署和配置容器化测试环境,它减少了人工配置的需要,加速了软件开发和测试周期。特别适用于微服务架构的应用,本发明支持独立的服务单元测试和集成测试,确保了高度的测试准确性和可靠性。结合实时性能监控和日志分析,它使得问题诊断更为迅速和准确。通过动态调整资源使用,优化了成本效率,同时提高了测试环境的灵活性和可扩展性。为现代软件开发提供了一种高效、经济且可靠的测试环境管理解决方案。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1