虚拟化平台的分布式系统自动化测试方法及系统技术方案

技术编号:12420708 阅读:132 留言:0更新日期:2015-12-02 15:52
本发明专利技术提供一种虚拟化平台的分布式系统自动化测试方法,包括:创建多台虚拟机;输出第一调用指令以调用虚拟化平台的管理接口,对每一虚拟机执行快照操作;根据用户需求对每一虚拟机执行对应的分布式系统的环境部署操作;运行指定的自动化测试用例,并记录测试结果;判断是否需循环执行自动化测试用例的测试;若是,表示循环测试未结束,输出第二调用指令以重新调用虚拟化平台的管理接口,对每一虚拟机执行恢复快照操作,返回利用预存网络配置脚本为每一所述虚拟机配置网络属性以配置好的网络属性为所述分布式系统的初始环境步骤;若否,表示循环测试结束,结束进程。本发明专利技术提升了实体机的资源利用率和研发效率,当出现故障时可迅速恢复初始环境。

【技术实现步骤摘要】

本专利技术属于分布式系统软件测试和管理
,涉及一种测试方法及系统,特别是涉及一种虚拟化平台的分布式系统自动化测试方法及系统
技术介绍
随着大数据时代的来临,越来越多的分布式系统应运而生。分布式系统比传统的单机系统通常来说会更加复杂,而测试分布式系统的功能也是一项巨大的工程。常见的测试方法有以下几种:第一种测试方法:该测试方法开发一个web程序,分布式系统的功能从web端测试。Web端的测试可以覆盖大部分的分布式存储系统的功能,但仅通过web去测试还是不能全部覆盖所有功能。比如当需要观察web所在服务器节点关机后分布式系统的表现时,通常会因为连不上web而无法获取分布式系统的状态。如果还是全人工操作web执行测试用例,效率会非常低下。第二种测试方法:该测试方法引入自动化测试框架(自动化测试框架是由一个或多个自动化测试基础模块、自动化测试管理模块、自动化测试统计模:块等组成的工具集合,比如Phoenix Framework, robot, STAF),编写测试用例程序,放入自动化测试框架执行。由于测试用例是自动执行的,比人工操作web的速度肯定快,只要测试用例程序正确,就不会出现人工操作时的误操作。显然这种方法较上一种方法效率高很多。但是,如果在循环反复的测试过程中,出现系统故障,或者程序不可修复的错误时,此时需要人工去将整个分布式存储系统清理干净,重新部署。所以从以上描述可以看出现有的测试方法中存在以下几种缺陷:1,需要人工测试,执行效率低下;2,如果在循环执行测试时,出现系统故障或者程序不可修复的错误时,需要人工清理分布式系统,并将其重新部署。因此,如何提供虚拟化平台的分布式系统自动化测试方法及系统,以解决现有技术中的由于人工测试导致执行效率低下,且如果在循环执行测试时,出现系统故障或者程序不可修复的错误时,需要人工清理分布式系统,并将其重新部署等种种缺陷,实已成为本领域从业者亟待解决的技术问题。
技术实现思路
鉴于以上所述现有技术的缺点,本专利技术的目的在于提供虚拟化平台的分布式系统自动化测试方法及系统,用于解决现有技术中由于人工测试导致执行效率低下,且如果在循环执行测试时,出现系统故障或者程序不可修复的错误时,需要人工清理分布式系统,并将其重新部署的问题。为实现上述目的及其他相关目的,本专利技术一方面提供一种虚拟化平台的分布式系统自动化测试方法,所述虚拟化平台上存储有自动化测试用例,所述虚拟化平台的分布式系统自动化测试方法包括以下步骤:在所述虚拟化平台中创建搭建所述分布式系统的多台虚拟机;输出第一调用指令以调用所述虚拟化平台中用于管理所述虚拟机的管理接口,对每一所述虚拟机执行快照操作;利用预存网络配置脚本为每一所述虚拟机配置网络属性以配置好的网络属性为所述分布式系统的初始环境;根据用户需求对每一所述虚拟机执行对应的分布式系统的环境部署操作;运行指定的自动化测试用例,并记录测试结果;判断是否需循环执行自动化测试用例的测试;若是,表示循环测试未结束,继续执行下一步骤;若否,表示循环测试结束,结束进程;输出第二调用指令以重新调用所述虚拟化平台的管理接口,对每一所述虚拟机执行恢复快照操作,返回利用预存网络配置脚本为每一所述虚拟机配置网络属性以配置好的网络属性为所述分布式系统的初始环境的步骤以继续执行自动化测试用例的测试。可选地,所述输出第二调用指令以重新调用所述虚拟化平台的管理接口,对每一所述虚拟机执行恢复快照操作,继续执行自动化测试用例的测试操作的步骤中执行恢复快照操作是指将每一所述虚拟机恢复至所述分布式系统的初始环境。可选地,所述自动化测试用例包括快照管理类测试用例、分布式系统功能测试用例、及配置测试用例。本专利技术另一方面还提供一种虚拟化平台的分布式系统自动化测试方法,所述虚拟化平台上存储有自动化测试用例,所述虚拟化平台上存储有自动化测试用例包括以下步骤:在所述虚拟化平台中创建搭建所述分布式系统的多台虚拟机;更新每一所述虚拟机中分布式系统软件的软件版本;输出第一调用指令以调用所述虚拟化平台中用于管理所述虚拟机的管理接口,对每一所述虚拟机执行快照操作;利用预存网络配置脚本为每一所述虚拟机配置网络属性以配置好的网络属性为所述分布式系统的初始环境;根据用户需求对每一所述虚拟机执行对应的分布式系统的环境部署操作;运行指定的自动化测试用例,并记录测试结果;判断是否继续执行自动化测试用例的测试;若是,表示循环测试未结束,继续执行下一步骤;若否,表示循环测试结束,结束进程;输出第二调用指令以重新调用所述虚拟化平台的管理接口,对每一所述虚拟机执行恢复快照操作,返回利用预存网络配置脚本为每一所述虚拟机配置网络属性以配置好的网络属性为所述分布式系统的初始环境的步骤以继续执行自动化测试用例的测试。可选地,所述虚拟化平台的分布式系统自动化测试方法还包括判断每一所述虚拟机中分布式系统软件的软件版本是否需要更新,若是,则执行更新每一所述虚拟机中分布式系统软件的软件版本的步骤;若否,则执行输出第一调用指令以调用所述虚拟化平台中用于管理所述虚拟机的管理接口,对每一所述虚拟机执行快照操作的步骤。可选地,判断是否继续执行自动化测试用例的测试的判断依据为判断是否存储在所述分布式系统上的所有自动化测试用例都成功通过测试和/或判断所述分布式系统是否出现系统故障。本专利技术又一方面还提供一种虚拟化平台的分布式系统自动化测试系统,所述虚拟化平台上存储有自动化测试用例,=所述虚拟化平台的分布式系统自动化测试系统包括:创建模块,用于在所述虚拟化平台中创建搭建所述分布式系统的多台虚拟机;第一控制模块,与所述创建模块连接,用于输出第一调用指令以调用所述虚拟化平台中用于管理所述虚拟机的管理接口,对每一所述虚拟机执行快照操作;配置模块,与所述第一控制模块连接,用于利用预存网络配置脚本为每一所述虚拟机配置网络属性以配置好的网络属性为所述分布式系统的初始环境;操作模块,与所述创建模块、第一控制模块、配置模块连接,用于根据用户需求对每一所述虚拟机执行对应的分布式系统的环境部署操作;运行模块,与所述操作模块连接,用于运行指定的自动化测试用例,并记录测试结果;判断模块,与所述运行模块连接,用于判断是否需循环执行自动化测试用例的测试;若是,表示循环测试未结束,调用用于输出第二调用指令以重新调用所述虚拟化平台的管理接口,对每一所述虚拟机执行恢复快照操作的第二控制模块,并继续调用用于利用预存网络配置脚本为每一所述虚拟机配置网络属性以配置好的网络属性为所述分布式系统的初始环境的配置模块;若否,表示循环测试结束,调用用于停止所述虚拟化平台的分布式系统自动化测试系统运行的终止模块。可选地,所述第一控制模块用于执行恢复快照操作具体是用于将每一所述虚拟机恢复至所述分布式系统的初始环境。本专利技术最后一方面提供一种电子设备,所述电子设备包括:虚拟化平台的分布式系统自动化测试系统。如上所述,本专利技术的虚拟化平台的分布式系统自动化测试方法及系统,具有以下有益效果:I)通过虚拟机代替实体机进行分布式系统的测试,一套虚拟化平台的实体机仅仅可以创建几十个虚拟机,为企业购买研发的实体机缩减了几十倍的经济成本,同时也提升了实体机的资源利用率。2)引入自动化测试框架,提升了测试的效率,更加快速本文档来自技高网
...

【技术保护点】
一种虚拟化平台的分布式系统自动化测试方法,所述虚拟化平台上存储有自动化测试用例,其特征在于,所述虚拟化平台的分布式系统自动化测试方法包括以下步骤:在所述虚拟化平台中创建搭建所述分布式系统的多台虚拟机;输出第一调用指令以调用所述虚拟化平台中用于管理所述虚拟机的管理接口,对每一所述虚拟机执行快照操作;利用预存网络配置脚本为每一所述虚拟机配置网络属性以配置好的网络属性为所述分布式系统的初始环境;根据用户需求对每一所述虚拟机执行对应的分布式系统的环境部署操作;运行指定的自动化测试用例,并记录测试结果;判断是否需循环执行自动化测试用例的测试;若是,表示循环测试未结束,继续执行下一步骤;若否,表示循环测试结束,结束进程;输出第二调用指令以重新调用所述虚拟化平台的管理接口,对每一所述虚拟机执行恢复快照操作,返回利用预存网络配置脚本为每一所述虚拟机配置网络属性以配置好的网络属性为所述分布式系统的初始环境的步骤以继续执行自动化测试用例的测试。

【技术特征摘要】

【专利技术属性】
技术研发人员:彭帝刘浪
申请(专利权)人:上海爱数软件有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1