基于集合枚举树和剪枝策略的分布式数据库测试方法技术

技术编号:37818838 阅读:10 留言:0更新日期:2023-06-09 09:51
本发明专利技术公开了一种基于集合枚举树和剪枝策略的分布式数据库测试方法,属一种高可用测试优化方法,方法包括S1.细化测试组件,根据分布式数据库的技术架构,列出并细化需要测试的数据库相关组件。S2.根据所述数据库相关组件生成树形的根测试场景,并由根测试场景开始生成子树节点,根据设定规则分别生成所有子树节点的测试场景。S3.通过述集合枚举树中的测试场景对测试场景进行测试验证。S4.统计测试测试结果。通过集合枚举树来结构化描述分布式数据库的高可用测试场景,将测试场景构建成一棵枚举树,通过不断生成子树测试场景,最后生成的整棵集合枚举树代表所有测试场景。的整棵集合枚举树代表所有测试场景。的整棵集合枚举树代表所有测试场景。

【技术实现步骤摘要】
基于集合枚举树和剪枝策略的分布式数据库测试方法


[0001]本专利技术涉及一种高可用测试优化方法,更具体的说,本专利技术主要涉及一种基于集合枚举树和剪枝策略的分布式数据库测试方法。

技术介绍

[0002]高可用(High Availability,即HA)的主要是目的是为保障业务连续性,即在客户的眼中,即使系统出现了某些故障,系统在短暂的恢复后仍能正常提供服务。分布式数据库高可用测试,即在业务运行在数据库的过程中,通过模拟数据库相关组件故障,观察业务连续性或者说在故障的情况下数据库是否能继续提供服务。在分布式数据库领域,会有各种技术手段来保障业务连续性,那么针对高可用的测试验证对于每一家数据库服务提供厂商来说都至关重要。对比单机版数据库,分布式数据库产品架构复杂且涉及到数据库内核组件更多,针对高可用测试的故障场景是呈现爆炸性的增加。如果采用常规的测试步骤,由于分布式数据库高可用测试设计也很复杂,很容易出现设计出重复测试场景、丢失测试场景等情况。因而有必要针对此类测试方法的优化设计进行研究。

技术实现思路

[0003]本专利技术的目的之一在于针对上述不足,提供一种基于集合枚举树和剪枝策略的分布式数据库测试方法,以期望解决现有技术中同类测试方法容易出现重复测试场景、丢失测试场景等技术问题。
[0004]为解决上述的技术问题,本专利技术采用以下技术方案:本专利技术所提供的一种基于集合枚举树和剪枝策略的分布式数据库高可用测试方法,其特征在于所述的方法包括如下步骤:步骤A、细化测试组件,根据分布式数据库的技术架构,列出并细化需要测试的数据库相关组件。
[0005]步骤B、根据所述数据库相关组件,生成树形的根测试场景,并由根测试场景开始生成子树节点,根据设定规则分别生成所有子树节点的测试场景;然后判断当前的子树节点的测试场景中是否存在未生成测试场景的子树节点;如判断结果为是,则重复步骤B;如判断结果为否,则默认当前所有子树节点的测试场景为全部测试场景,得到集合枚举树;步骤C、根据集合枚举树中的子树节点,依次生成对应的测试场景,然后判断当前生成的测试场景在集合枚举树中是否存在重复测试场景;如判断结果为是,则删除当前生成的测试场景;如判断结果为否,则进一步判断当前生成的测试场景是否违反数据约束;如判断结果为是,则删除当前生成的测试场景;如判断结果为否,则将当前生成的子树测试场景加入至所述集合枚举树中。
[0006]作为优选,进一步的技术方案是:所述的方法还包括步骤D、通过述集合枚举树中的测试场景对测试场景进行测试验证,并统计测试结果。
[0007]更进一步的技术方案是:所述步骤D中,在子树节点的测试场景生成后,与对应的
子树节点一同存储在列表中,通过集合枚举树的层次遍历所述列表,即可得到子树节点以及与之对应测试场景。
[0008]更进一步的技术方案是:所述设定规则由测试策略得到。
[0009]更进一步的技术方案是:所述步骤B中,继续由根测试场景开始生成子树节点,根据设定规则分别生成所有子树节点的测试场景,为继续生成当前的子树节点的测试场景的下一层的所有子树节点的测试场景。
[0010]更进一步的技术方案是:所述将当前生成的子树测试场景加入至所述集合枚举树中后,还进一步判断集合枚举树中的子树节点中是否存在未生成的子树测试场景;如判断结果为否,则步骤结束,得到剪枝后的集合枚举树;如判断结果为是,则继续生成对应的测试场景,然后判断当前生成的测试场景在集合枚举树中是否存在重复测试场景。如判断结果为是,则删除当前生成的测试场景;如判断结果为否,则进一步判断当前生成的测试场景是否违反数据约束;如判断结果为是,则删除当前生成的测试场景。如判断结果为否,则将当前生成的测试场景加入至所述集合枚举树中。
[0011]与现有技术相比,本专利技术的有益效果是:通过集合枚举树来结构化描述分布式数据库的高可用测试场景,将测试场景构建成一棵枚举树,通过不断生成子树测试场景,最后生成的整棵集合枚举树代表所有测试场景。
[0012]结合自身数据库组件特点,在构造整棵集合枚举树的过程中可以针对这棵集合枚举树中无效节点或者重复节点进行剪枝处理,从而达到优化测试场景目的。利用集合枚举树的树形结构来展示和构建分布式数据库高可用测试场景,不但能更加直观的统计测试场景,而且结合数据库产品自身架构可以对整个集合枚举树进行剪枝,更加方便优化无效测试场景和重复测试场景,同时基于集合枚举树的树形结构,测试场景自动化也更加直观和容易实现。
附图说明
[0013]图1为用于说明本专利技术一个实施例的测试方法流程图。
[0014]图2为用于说明本专利技术一个实施例中的测试场景生成流程图。
[0015]图3为用于说明本专利技术一个实施例中剪枝策略的流程图。
[0016]图4为用于说明本专利技术应用例的第一集合枚举树示意图。
[0017]图5为用于说明本专利技术应用例的第二集合枚举树示意图。
[0018]图6为用于说明本专利技术应用例的第三集合枚举树示意图。
实施方式
[0019]本专利技术如下的实施例中,针对现有技术的所存在的缺陷,提出了基于集合枚举树和剪枝策略的分布式数据库测试方法。利用集合枚举树来结构化展示和描述分布式数据库高可用测试场景,将测试场景构建成一棵枚举树,整棵枚举树代表所有测试场景。结合自身数据库组件特点,在构造集合枚举树的过程中针对这棵集合枚举树中无效节点或者重复节点进行剪枝处理,从而优化测试场景和去除重复测试场景。利用集合枚举树的树形结构来展示和构建分布式数据库高可用测试场景,不但能更加直观的统计测试场景,而且测试场
景自动化实现也更加容易。
[0020]在本专利技术的一个实施例中,测试流程图如图1所示,即方法包括:S1.细化测试组件,根据分布式数据库的技术架构,列出并细化需要测试的数据库相关组件。
[0021]S2.根据所述数据库相关组件,生成树形的根测试场景,并由根测试场景开始生成子树节点,根据设定规则分别生成所有子树节点的测试场景。
[0022]S3.通过集合枚举树中的测试场景对测试场景进行测试验证。
[0023]S4.统计测试结果。
[0024]在上述的方法中,本实施例主要优化方案在测试设计阶段,在测试设计阶段使用集合枚举树的方式进行测试用例设计,并在测试设计过程中,可以根据分布式数据库自身特点对集合枚举树的树形结构进行高效剪枝操作,剪掉无效或者重复的测试场景。即对比常规测试流程,本实施例优化地方主要在设计测试场景这一步,利用集合枚举树方案生成所有测试场景流程如图2所示。
[0025]在图2中,采用集合枚举树和剪枝策略的方法设计测试场景。其包含两个方面内容:第一,将构造测试场景的过程采用集合枚举树生成方式描述;第二,在集合枚举树不断生成节点或者子树过程中,根据数据库自身的特性采用剪枝策略去掉重复的测试场景或者不符合数据库约束的测试场景,从而达到在集合枚举树的节点生成过程中,不断优化不符合数据库的测试场景。当整棵集合枚举树生成,所有的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于集合枚举树和剪枝策略的分布式数据库测试方法,其特征在于所述的方法包括如下步骤:细化测试组件,根据分布式数据库的技术架构,列出并细化需要测试的数据库相关组件;根据所述数据库相关组件,生成树形的根测试场景,并由根测试场景开始生成子树节点,根据设定规则分别生成所有子树节点的测试场景;然后判断当前的子树节点的测试场景中是否存在未生成测试场景的子树节点;如判断结果为是,则继续由根测试场景开始生成子树节点,根据设定规则分别生成所有子树节点的测试场景,然后再判断当前的子树节点的测试场景是否存在未生成测试场景的子树节点;如判断结果为否,则默认当前所有子树节点的测试场景为全部测试场景,得到集合枚举树;根据集合枚举树中的子树节点,依次生成对应的测试场景,然后判断当前生成的测试场景在集合枚举树中是否存在重复测试场景;如判断结果为是,则删除当前生成的测试场景;如判断结果为否,则进一步判断当前生成的测试场景是否违反数据约束;如判断结果为是,则删除当前生成的测试场景;如判断结果为否,则将当前生成的子树测试场景加入至所述集合枚举树中。2.根据权利要求1所述的基于集合枚举树和剪枝策略的分布式数据库测试方法,其特征在于所述的方法还包括如下步骤:通过述集合枚举树中的测试场景对测试场景进行测试验证,并统计测试结果。3.根据权利要求2所述的基于集合枚举树...

【专利技术属性】
技术研发人员:周建华周建国莫昌鑫余渤杨永芳吴邦坤李建衡
申请(专利权)人:贵州易鲸捷信息技术有限公司
类型:发明
国别省市:

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

1