基于有限状态机的云计算软件测试方法技术

技术编号:8834192 阅读:186 留言:0更新日期:2013-06-22 20:26
本发明专利技术提供一种基于有限状态机的云计算软件测试方法,包括以下步骤:S1、在云计算系统中,将其领域对象的所有瞬时状态描述为一个有限状态机模型,并将该有限状态机的初始状态初始化;S2、根据所述有限状态机每个状态允许的操作,所述自动化测试工具分别创建其对应的逻辑分支;S3、根据所述有限状态机各个状态转移的顺序,所述自动化测试工具遍历并执行所述多个逻辑分支,且分别对所述多个逻辑分支进行测试;本发明专利技术通过有限状态机将云计算系统涉及的大量分散的领域对象的状态集中在一个整体中,并根据业务规则自动遍历所述云计算系统内可能的瞬时状态,保证了测试覆盖率,避免了关键业务的遗漏和疏忽,保障了云计算系统的质量。

【技术实现步骤摘要】

本专利技术涉及软件测试领域,特别涉及一种。
技术介绍
随着科技和信息化的发展,基于云计算的信息管理系统在企业、机关等单位的部署率和使用率不断增大,如何在保证效率和质量的前提下,开发出满足企业、机关等单位在相关特定领域的业务需求的云计算管理系统,成为相关软件开发单位必备的能力。开发一个基于云计算的信息管理系统面临的最主要的问题是维护大量云计算特定领域数据的状态和关系,并向用户提供在各状态间进行跳转的途径。例如一个虚拟机启动功能,实现的途径是先获取虚拟机状态,再执行判断虚拟机是否被允许启动的逻辑,最后更新虚拟机状态,类似的逻辑在一个基于云计算的信息管理系统中随处可见;随着系统规模的扩大,对领域数据状态的获取、处理和更新所需要的工作量呈现指数型增长的趋势,对大量相关逻辑代码的维护和对代码质量的保证也成为了开发过程中面临的最大难题。软件开发单位为了解决此难题,通常会在开发过程中引入单元测试或集成测试,针对操作领域数据的业务逻辑,编写验证其是否符合需求的测试用例和套件。但每个测试用例通常针对的是单一的业务逻辑,验证的是单步的数据状态迁移,而一个基于云计算的信息管理系统往往拥有数千个需要验证的业务逻辑和状态迁移,对这些分散的逻辑进行测试,避免遗漏,保证测试的有效性和覆盖率,同样是一个艰巨的任务。
技术实现思路
针对现有技术的不足,本专利技术提供一种,通过使用有限状态机对云计算领域的数据进行整体建模,来保证测试用例和套件能够全面的覆盖所有关键性业务逻辑。为实现以上目的,本专利技术通过以下技术方案予以实现:本专利技术提供一种,包括以下步骤:S1、在云计算系统中,将其领域对象的所有瞬时状态描述为一个有限状态机模型,并将该有限状态机的初始状态初始化;S2、根据所述有限状态机每个状态允许的操作,所述自动化测试工具分别创建其对应的逻辑分支;S3、根据所述有限状态机各个状态转移的顺序,所述自动化测试工具遍历并执行所述多个逻辑分支,且分别对所述多个逻辑分支进行测试。优选的,所述步骤SI进一步包括:所述有限状态机的每个状态均包含一个属性,用以表示该状态所允许的操作,所述有限状态机的不同状态所允许的操作不同。优选的,所述步骤SI进一步包括:所述自动化测试工具在测试开始前,将所述有限状态机的初始状态初始化。优选的,所述步骤S3进一步包括:所述自动化测试工具遍历所述多个逻辑分支,并分别依次或并行的执行所述多个逻辑分支,且所述自动化测试工具对所述多个逻辑分支进行测试;所述有限状态机每个状态允许的操作其对应的逻辑分支相互独立。优选的,所述步骤S3进一步包括:所述自动化测试工具根据所述逻辑分支预设的业务模板,对所述逻辑分支进行单一的业务测试。优选的,所述步骤S3进一步包括:所述自动化测试工具遍历所述多个逻辑分支,并分别依次或并行的执行所述多个逻辑分支,所述自动化测试工具将所述多个逻辑分支执行过的操作记录在存储系统中。优选的,所述步骤S3进一步包括:当所述自动化测试工具对所述逻辑分支测试未通过时,所述自动化测试工具报告错误并清理资源,且退出该逻辑分支。优选的,所述步骤S3进一步包括:在执行所述逻辑分支时,所述自动化测试工具通过查询所述存储系统以判断所述逻辑分支对应的操作是否已经被执行过且通过已测试,若是,则结束该逻辑分支并销毁;若不是,则继续执行该逻辑分支。优选的,所述步骤S3进一步包括:当所述有限状态机的当前状态所允许的操作与其前面的状态所允许的操作相同时,所述自动化测试工具结束并销毁所述有限状态机当前状态所允许操作对应的逻辑分支。本专利技术通过提供一种,与现有技术中针对各个业务逻辑或子逻辑进行单独测试的测试方法相比,通过有限状态机将云计算系统涉及的大量分散的领域对象的状态集中在一个整体中,并根据业务规则自动遍历所述云计算系统内所有可能的瞬时状态,保证了测试覆盖率,具有逻辑清晰,实现简单和保障严密的特点;且本专利技术允许每名开发人员在编写测试用例或套件时,只需要考虑系统当前的状态,而不必时刻统揽全局,避免了关键业务的遗漏和疏忽,从而较彻底地保障了云计算信息管理系统的质量。另外,对于需要管理大量领域对象的非云计算信息管理系统,本专利技术同样可以用来解决类似的问题,确保系统的质量。附图说明图1为本专利技术一实施例的流程图。具体实施例方式下面对于本专利技术所提出的一种,结合附图和实施例详细说明。实施例1:如图1所示,本专利技术提供一种,包括以下步骤:S1、在云计算系统中,将其领域对象的所有瞬时状态描述为一个有限状态机模型,并将该有限状态机的初始状态初始化;S2、根据所述有限状态机每个状态允许的操作,所述自动化测试工具分别创建其对应的逻辑分支;S3、根据所述有限状态机各个状态转移的顺序,所述自动化测试工具遍历并执行所述多个逻辑分支,且分别对所述多个逻辑分支进行测试。优选的,所述步骤SI进一步包括:所述有限状态机的每个状态均包含一个属性,用以表示该状态所允许的操作,所述有限状态机的不同状态所允许的操作不同。优选的,所述步骤SI进一步包括:所述自动化测试工具在测试开始前,将所述有限状态机的初始状态初始化。优选的,所述步骤S3进一步包括:所述自动化测试工具遍历所述多个逻辑分支,并分别依次或并行的执行所述多个逻辑分支,且所述自动化测试工具对所述多个逻辑分支进行测试;所述有限状态机每个状态允许的操作其对应的逻辑分支相互独立。优选的,所述步骤S3进一步包括:所述自动化测试工具根据所述逻辑分支预设的业务模板,对所述逻辑分支进行单一的业务测试。优选的,所述步骤S3进一步包括:所述自动化测试工具遍历所述多个逻辑分支,并分别依次或并行的执行所述多个逻辑分支,所述自动化测试工具将所述多个逻辑分支执行过的操作记录在存储系统中。优选的,所述步骤S3进一步包括:当所述自动化测试工具对所述逻辑分支测试未通过时,所述自动化测试工具报告错误并清理资源,且退出该逻辑分支。优选的,所述步骤S3进一步包括:在执行所述逻辑分支时,所述自动化测试工具通过查询所述存储系统以判断所述逻辑分支对应的操作是否已经被执行过且通过已测试,若是,则结束该逻辑分支并销毁;若不是,则继续执行该逻辑分支。优选的,所述步骤S3进一步包括:当所述有限状态机的当前状态所允许的操作与其前面的状态所允许的操作相同时,所述自动化测试工具结束并销毁所述有限状态机当前状态所允许操作对应的逻辑分支。实施例2:该实施例以一个用于虚拟机管理的简单云计算系统为例,其主要包含的领域对象有用户、虚拟机管理平台、虚拟机池和虚拟机等,各类对象均具有多种状态,各类对象之间均具有多种相互关系;本专利技术将所有领域对象视为一个有机结合的整体,并将其每一个瞬时状态都描述为一个有限状态机的状态。这个状态有一个属性表示此状态允许接受的操作;在此有限状态机的不同状态下,其所允许的操作是不同的。基于本专利技术实现的自动化测试工具会在测试开始时自动初始化这个有限状态机的初始状态。在初始状态下,系统中只存在着一个用作默认管理员的用户对象,其他对象均不存在,此时依照业务需求,系统的操作者可以进行的操作有添加用户、编辑用户和添加虚拟机管理平台三种操作,则此初始状态允许接受的操作亦有以上三种,自动化测试工具在获知此情况后,将自动创建三个逻辑分支,并依次或并行地执行各个逻辑分支。所述自动化测试工具执行各个逻本文档来自技高网...

【技术保护点】
一种基于有限状态机的云计算软件测试方法,其特征在于,包括以下步骤:S1、在云计算系统中,将其领域对象的所有瞬时状态描述为一个有限状态机模型,并将该有限状态机的初始状态初始化;S2、根据所述有限状态机每个状态允许的操作,所述自动化测试工具分别创建其对应的逻辑分支;S3、根据所述有限状态机各个状态转移的顺序,所述自动化测试工具遍历并执行所述多个逻辑分支,且分别对所述多个逻辑分支进行测试。

【技术特征摘要】
1.一种基于有限状态机的云计算软件测试方法,其特征在于,包括以下步骤: 51、在云计算系统中,将其领域对象的所有瞬时状态描述为一个有限状态机模型,并将该有限状态机的初始状态初始化; 52、根据所述有限状态机每个状态允许的操作,所述自动化测试工具分别创建其对应的逻辑分支; 53、根据所述有限状态机各个状态转移的顺序,所述自动化测试工具遍历并执行所述多个逻辑分支,且分别对所述多个逻辑分支进行测试。2.如权利要求1所述的方法,其特征在于,所述步骤SI进一步包括: 所述有限状态机的每个状态均包含一个属性,用以表示该状态所允许的操作,所述有限状态机的不同状态所允许的操作不同。3.如权利要求2所述的方法,其特征在于,所述步骤SI进一步包括:所述自动化测试工具在测试开始前,将所述有限状态机的初始状态初始化。4.如权利要求3所述的方法,其特征在于,所述步骤S3进一步包括: 所述自动化测试工具遍历所述多个逻辑分支,并分别依次或并行的执行所述多个逻辑分支,且所述自动化测试工具对所述多个逻辑分支进行测试; 所述有限状态机每个状态允许的操作其对应的逻辑分支相互独立。5.如...

【专利技术属性】
技术研发人员:莫日根
申请(专利权)人:汉柏科技有限公司
类型:发明
国别省市:

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

1