用于将Spanner数据库填充在测试环境中的方法技术

技术编号:42117820 阅读:20 留言:0更新日期:2024-07-25 00:37
一种填充测试环境(106)以供生产数据库(102)的集成测试的方法。该生产数据库包括多个表,并且可以由有向无环图(DAG)(132)表示,其中该多个表中的每一个是由该DAG的相应节点表示的,并且该多个表的模式级约束(134)是由该DAG的边表示的。该方法可以涉及构建DAG(142);根据该DAG对该生产数据库的该多个表进行拓扑定序;根据该多个表的该模式级约束随机生成测试数据(146);以及根据该多个表的该拓扑定序将该随机生成的测试数据填充到该测试环境。

【技术实现步骤摘要】
【国外来华专利技术】


技术介绍

1、用于数据库(诸如生产数据库)的集成测试可测试数据库和与数据库交互的各种服务和应用之间的交互。这可能是确保数据库与一个或多个其他交互组件之间正确集成所必需的,并且可以针对交互组件的每个新版本执行。

2、通常,为了便于测试,将数据从生产数据库复制到单独的测试环境。然而,如果生产数据库存储大量的生产数据,则复制过程可能是浪费的,因为可能仅需要一小部分生产数据来测试集成。此外,如果正在测试新的服务或应用,则生产数据库可能尚未包括任何生产数据或足够的生产数据来进行测试,从而使复制过程完全不可能。另外,将生产数据引入测试环境会引发安全问题和隐私问题。


技术实现思路

1、本公开利用生产数据库的抽象层生成测试数据并且系统地将生成测试数据的指派划分为大致均等或均衡的部分,以彼此并行地生成并写入测试环境。

2、本公开的一个方面涉及一种填充测试环境以供测试包括多个表的生产数据库的方法,该方法涉及:由一个或多个处理器构建有向无环图(dag),其中多个表中的每一个是由dag的相应节点表示的并且多本文档来自技高网...

【技术保护点】

1.一种填充测试环境以供测试包括多个表的生产数据库的方法,所述方法包括:

2.如权利要求1所述的方法,其中,所述多个表的所述模式级约束包括外键和交错两者,并且其中,所述拓扑定序是基于所述外键和所述交错两者。

3.如权利要求1所述的方法,其中,所述测试数据是由一个或多个数据生成器生成的,每个数据生成器包括可满足性模理论(SMT)求解器,所述SMT求解器用于针对所述多个表中的给定表确定所述随机生成的数据是否满足所述给定表的数据类型和模式级约束。

4.如权利要求3所述的方法,其中,所述一个或多个数据生成器是并行操作的多个独立的平台无关的数据生成器。

<...

【技术特征摘要】
【国外来华专利技术】

1.一种填充测试环境以供测试包括多个表的生产数据库的方法,所述方法包括:

2.如权利要求1所述的方法,其中,所述多个表的所述模式级约束包括外键和交错两者,并且其中,所述拓扑定序是基于所述外键和所述交错两者。

3.如权利要求1所述的方法,其中,所述测试数据是由一个或多个数据生成器生成的,每个数据生成器包括可满足性模理论(smt)求解器,所述smt求解器用于针对所述多个表中的给定表确定所述随机生成的数据是否满足所述给定表的数据类型和模式级约束。

4.如权利要求3所述的方法,其中,所述一个或多个数据生成器是并行操作的多个独立的平台无关的数据生成器。

5.如权利要求4所述的方法,还包括:

6.如权利要求5所述的方法,其中,将所述表分割为多个键范围包括:

7.如权利要求5所述的方法,还包括:

8.如权利要求1所述的方法,还包括:

9.如权利要求8所述的方法,其中,所述一个或多个数据约束包括以下中的至少一个:数据集范围;数据集分布;以及唯一数据集元素的数量。

10.如权利要求1所述的方法,将所述随机生成的测试数据写入与所述测试环境的给定表相关联的变更池;以及

11.一种用于填充测试环境以供...

【专利技术属性】
技术研发人员:斯里纳特·巴德里纳特埃弗雷特·马斯郭丹浩卡洛斯·阿圭列斯
申请(专利权)人:谷歌有限责任公司
类型:发明
国别省市:

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

1