CN104380663A - 基于规则的自动化测试数据生成 - Google Patents

基于规则的自动化测试数据生成 Download PDF

Info

Publication number
CN104380663A
CN104380663A CN201280074365.8A CN201280074365A CN104380663A CN 104380663 A CN104380663 A CN 104380663A CN 201280074365 A CN201280074365 A CN 201280074365A CN 104380663 A CN104380663 A CN 104380663A
Authority
CN
China
Prior art keywords
data
rule
database
engine
test
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201280074365.8A
Other languages
English (en)
Inventor
B.郭
Q.马
Y.阮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN104380663A publication Critical patent/CN104380663A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本文公开的示例实施例涉及基于规则的数据填充系统,其包括:规则分派器引擎,用于自动将数据生成规则绑定到数据库。该系统还可以包括:数据生成器引擎,用于基于规则来生成用于数据库的测试数据。

Description

基于规则的自动化测试数据生成
背景技术
性能测试对于软件的质量保证来说是必要的。可靠的性能测试很大程度上取决于合适的测试数据。软件开发商和制造商受到以下挑战:提供用于测试软件数据库的测试数据,其中这样的测试数据与客户的数据对准。作为结果,在测试期间错过与软件性能相关的许多缺陷,并且这些缺陷随后在软件被部署之后被客户报告,因为性能测试数据未合适地与客户的真实数据对准。
附图说明
图1描绘了其中可以实现各种实施例的环境。
图2A和2B描绘了根据示例的基于规则的数据填充系统。
图3A-3B描绘了利用用于实现基于规则的数据填充方法的指令编码的计算机可读存储介质和处理器的示例实现。
图4描绘了基于规则的数据填充系统的另一示例。
图5是描绘图2A-2B和图4的系统的示例实现的框图。
图6是用于基于规则的数据填充的方法的示例实现的流程图。
图7是用于基于规则的数据填充的方法的另一示例实现的流程图。
具体实施方式
介绍:下文描述的各种实施例被开发来提供用于例如在性能测试阶段期间测试数据库的基于规则的数据填充系统。对于填充性能测试数据来说存在许多挑战。例如,在数据库中可能存在数百个表,这使得分析针对每个表的数据约束以及手动生成被模式化到每个表的数据是费力的。因此,将期望实现这样的测试工具,该测试工具自动生成针对数据库表的特定结构调整的测试数据。在软件程序中定义了若干数据关系,并且这些关系可能未被反映在数据库约束中。因此,可能需要性能测试数据和软件商业逻辑知识来确定要填充数据库以用于测试目的的性能测试数据的类型。因此,可能需要一平台来使得软件架构师能够提供这样的输入并且使得性能调优架构师能够提供这样的输入以配置测试工具以便生成相关性能测试数据,软件架构师具有软件商业逻辑的知识,性能调优架构师具有测试设计知识。此外,数据库中的一些数据结构可能太具体(即,针对具体商业需要而调整)或者太复杂,从而使得难以开发支持这样的数据结构以保证它们的完整性的数据填充工具。因此,还将期望开发对于对具有变化复杂度的不同数据库的不同软件的性能测试来说可重用(即,通用)的数据测试工具。所描述的实施例提供用于解决以上挑战和需要的测试工具。所描述的实施例通过提供鲁棒的测试工具来减少在测试期间逃脱检测且随后被客户发现的性能缺陷的数量。
示例实现包括:提供用于数据库的数据生成规则。数据生成规则包括数据约束(例如,实体关系图(ERD))。此外,可以针对数据库表和列指定数据规模。在一个实施例中,创建描述要生成的测试数据的规则实例,其中,规则实例包括数据库规则实例、表规则实例和列规则实例。该实现还包括:自动将数据生成规则绑定到数据库。例如,数据生成规则被绑定到数据库的列和表。该实现还包括:基于数据生成规则来生成测试数据。例如,测试数据可以被输出为结构化查询语言(SQL)脚本文件、电子表格文件、测试文件、标准测试员数据格式(STDF)文件、或可以用于在性能测试期间将生成的数据注入到软件中的其他脚本文件格式。
以下描述被分解成节。被标记为“环境”的第一节描述了其中可以实现各种实施例的网络环境的示例。被标记为“部件”的第二节描述了用于实现各种实施例的物理和逻辑部件的示例。被标记为“操作”的第三节描述了实现各种实施例所采取的步骤。
环境:图1描绘了其中可以实现各种实施例的环境100。环境100被示出为包括基于规则的数据填充系统102、数据储存器104、服务器设备106和客户端设备108。下文参照图2A-2B、3A-3B、4和5描述的基于规则的数据填充系统102总体地代表被配置为基于供应的数据生成规则生成测试数据的编程和硬件的任何组合。数据储存器104总体地代表被配置为存储数据以供基于规则的数据填充系统102使用的任何设备或设备的组合。这样的数据可以包括数据库信息114、数据模式、数据生成规则、数据样式和趋向以及历史测试数据。
在图1的示例中,数据生成规则代表数据约束,该数据约束包括在数据储存器104中供应和/或记录或者在一个或多个服务器设备106与一个或多个客户端设备108之间传送的ERD。服务器设备106总体地代表被配置为对从客户端设备108接收的网络请求进行响应的任何计算设备。给定服务器设备106可以包括web服务器、应用服务器、文件服务器或数据库服务器。客户端设备108总体地代表被配置有用于传送这样的请求且接收和处理对应响应的浏览器或其他应用的任何计算设备。链路110总体地代表经由电信链路、红外链路、射频链路或提供电子通信的任何其他连接器或系统的线缆、无线、光纤或远程连接中的一个或多个。链路110可以至少部分地包括内联网、互联网或这二者的组合。链路110还可以包括居间代理、路由器、交换机、负载平衡器等等。图4描绘了一个或多个用户(例如,软件架构师和性能调优架构师)与系统102交互以配置该系统用于数据生成的示例实现。为了说明,软件架构师和性能调优架构师可以经由一个或多个客户端设备108和/或来自服务器设备106(例如,数据库服务器)的请求向系统102提供配置输入(例如,数据生成规则)。客户端设备108可以包括例如笔记本计算机、台式计算机、膝上型计算机、手持计算设备、移动电话或智能电话、板或平板计算设备、便携式阅读设备或任何其他处理设备。图5描绘了自动将数据生成规则(经由规则分派器引擎202)绑定到数据库的表的示例。例如,规则分派器引擎202可以被配置为自动将数据生成规则402绑定到表502的一个或多个列,如图5中所示。
部件:图2A-5描绘了用于实现各种实施例的物理和逻辑部件的示例。图2A描绘了基于规则的数据填充系统102,其包括规则分派器引擎202和数据生成器引擎204。图2A还描绘了耦合到数据储存器104的基于规则的数据填充系统102。数据储存器104可以包括数据库信息114。
规则分派器引擎202总体地代表被配置为自动将数据生成规则绑定到数据库的编程和硬件的任何组合。数据生成规则可以被自动绑定到数据库表和数据库列。数据生成规则描述要生成以用于测试数据库的数据的类型和范围。数据生成规则可以包括规则模板和数据约束,诸如ERD和在对应于数据库的软件程序中定义的逻辑(例如,在软件程序中定义的商业逻辑)。数据生成规则可以是从现有数据(例如,存储在数据储存器104中)、历史测试数据、数据样式和趋向或它们的组合创建的。可替代地或附加地,数据生成规则可以是用户定义的(例如,被软件架构师和/或性能调优架构师提供作为输入)。用户定义的规则可以包括数据库级规则、表级规则、列级规则或它们的任何组合。数据库级规则描述数据库的表之间的比率,并可以包括例如产业值类型、编码信息、数据库最大大小和商业规则。表级规则描述相同表的列的关系,并可以包括例如表最大大小、表关系和表依赖性。列级规则描述每个列的数据格式,并可以包括例如数据样式、列关系和列依赖性。
除了自动绑定数据生成规则之外,规则分派器引擎202还可以自动绑定数据库规则,其中数据库规则包括基本规则和先进规则。基本规则是来自数据库实例的数据库约束,并可以包括例如大小、类型、空值、受限值、可用值、主键、外键、唯一键、索引值和样本数据。先进规则包括例如数据趋向、数据频率、历史数据、数据属性、数据范围和数据样式。
以下样本代码示出根据实施例可以如何定义规则,且被描述如下:
在以上示例中,定义了两个规则(即,规则“0000001”和“00000002”)。被命名为“records count”的第一规则被定义为具有数值数据类型的表级规则。第一规则也被定义为不具有任何要求的参数。被命名为“string pattern”的第二值被定义为具有串数据类型且没有参数的列级规则。应当注意的是,以上样本规则定义说明了针对仅两个规则定义的基本规则。然而,可以针对多个规则开发更复杂的规则定义。因此,范围从简单规则到复杂规则的多个规则可以被创建和存储以自动绑定到数据库以便生成测试数据。图5图示了如规则分派器引擎202所执行的自动将规则绑定到数据库的列的示例。
参照图5,示出了自动将规则绑定到数据库的一个列的示例。图5包括规则分派器引擎202、数据库表502(即,表T_USER)和一组数据生成规则402。表502包括多个列,该多个列包括USER_ID、FK_ROLE_ID和描述(DESCRIPTION)。规则402可以包括多个规则。例如,规则402可以包括随机串、最大大小、串格式、唯一ID、要求物(即,必填字段)以及现有值的趋向。因此,规则402可以定义要生成以用于测试数据库的数据的范围和类型。在实施例中,通过列名称、类型和数据格式将规则402映射到若干队列。规则分派器引擎202可以通过使用过滤策略(例如,规则限界历史、用户输入或数据趋向)来向列分派规则。在图5中示出的示例中,规则402被自动绑定到表502的列USER_ID。因此,规则402控制相同列以确定要由数据生成器引擎204生成的测试数据。例如,每个规则402控制USER_ID列的数据格式。在示例实施例中,如果在列的限界规则之间存在任何冲突,则跟随具有较高优先级的规则。通过自动将规则绑定到数据库,可以避免将规则绑定到列所需要的手动努力。例如,在包含数百个表的企业软件中,数千个表列被自动绑定到规则以控制用于测试的数据填充,由此减小手动工作负担。
参照回到图2A,基于规则的数据填充系统102还包括数据生成器引擎204,其基于规则生成用于数据库的测试数据。因此,数据生成器引擎204根据限界规则生成测试数据。在示例实施例中,测试数据被输出作为SQL脚本文件、电子表格文件、STDF文件、其他脚本文件格式,或被存储(例如,在测试数据库或数据储存器104中)。
图2B描绘了基于规则的数据填充系统102,其包括图形用户界面(GUI)引擎206、存储引擎208、模式解析器引擎210和数据库连接器引擎212。在图2B的示例中,GUI引擎206总体地代表被配置为从用户接收配置输入的编程和硬件的任何组合。配置输入可以包括数据生成规则,诸如规则实例、规则模板和数据约束。在示例实施例中,GUI引擎206可操作来配置和监视对基于规则的数据填充系统102的执行。例如,软件架构师可以通过GUI 206定义描述在软件程序中定义的商业逻辑的数据库的逻辑数据约束。此外,性能调优架构师可以通过GUI 206来将数据生成规则配置为指定表的数据规模。另外,经由GUI 206,性能测试员可以执行或运行基于规则的数据填充系统102以生成测试数据并可以监视数据填充过程。换言之,GUI 206提供与基于规则的数据填充系统102的用户交互。
存储引擎208总体地代表被配置为存储与基于规则的数据填充系统102相关的数据的编程和硬件的任何组合。例如,存储引擎208可以存储系统数据,该系统数据包括数据库模式、数据生成规则模板以及数据生成规则实例。此外,存储引擎208可以存储由系统102的任何引擎生成的数据。
模式解析器引擎210总体地表示被配置为将来自数据库的数据约束解析为数据生成器引擎204可使用的统一格式的编程和硬件的任何组合。在实施例中,模式解析器引擎210从现有数据或从数据趋向创建数据生成规则。例如,模式解析器引擎210可以耦合到数据库模式以检索存储在其中的数据库约束。数据库约束可以包括定义数据库的结构的ERD。数据库约束可以随后被解析以由数据生成器引擎204使用来生成测试数据。可替代地或附加地,模式解析器引擎210可以从所存储的数据(例如,来自数据储存器104)、从随时间观察到的数据趋向和数据样式或它们的组合创建数据生成规则。
数据库连接器引擎212总体地代表被配置为检索与数据库有关的信息、检索测试数据和操纵测试数据的编程和硬件的任何组合。在实施例中,数据库连接器引擎212耦合到数据库模式以获取数据库信息(例如,包括ERD的数据库约束),且耦合到测试数据数据库以检索生成的测试数据并操纵该测试数据。图2B的基于规则的数据填充系统102也可以包括数据储存器104以存储数据库信息,其中数据库信息包括数据库模式和数据生成规则。应当注意的是,数据库模式和测试数据这二者都可以存储在数据储存器104中,或者可以分离地存储在相应的数据库(例如,数据库模式数据库和测试数据数据库)中。
在前面的讨论中,图2A的引擎202-204和图2B的引擎206-212被描述为硬件和编程的组合。这样的部件可以用多种方式实现。参见图3A和3B,编程可以是存储在有形、非暂态计算机可读存储介质302上的处理器可执行指令,并且硬件可以包括用于执行那些指令的处理器304。处理器304例如可以包括一个或多个处理器。这样的多个处理器可以集成在单个设备中或者跨设备分布。计算机可读存储介质302可以比方说存储当由处理器304执行时实现图2A-2A的系统102的程序指令。介质302可以与处理器304集成在相同设备中,或者其可以是分离的但对于该设备和处理器304来说是可访问的。
在一个示例中,程序指令可以是当被安装时可由处理器304执行以实现系统102的安装封装的一部分。在该情况中,介质302可以是便携式介质,诸如CD、DVD或闪速驱动器,或者由服务器维持的存储器,可以从该服务器下载和安装该安装封装。在另一示例中,程序指令可以是已经安装的一个或多个应用的一部分。这里,介质302可以包括集成存储器,诸如硬盘驱动器、固态驱动器等等。
在图3A中,存储在介质302中的可执行程序指令被表示为当由处理器304执行时实现图2A的基于规则的数据填充系统102的规则分派指令312和数据生成指令314。规则分派指令312代表当被执行时充当规则分派器引擎202的程序指令。数据生成指令314代表当被执行时实现数据生成器引擎204的程序指令。
在图3B中,存储在介质302中的可执行程序指令被表示为当由处理器304执行时实现图2B的基于规则的数据填充系统102的配置指令316、存储指令318、模式解析指令320和数据库连接指令322。配置指令316代表当被执行时充当GUI引擎206的程序指令。存储指令318代表当被执行时实现存储引擎208的程序指令。模式解析指令320代表当被执行时实现模式解析器引擎210的程序指令。数据库连接指令322代表当被执行时实现数据库连接器引擎212的程序指令。
参照图4,示出了图2A-2B的基于规则的数据填充系统102的示例实现。图4包括用于配置系统102的GUI 206、规则分派器202、数据生成器204、模式解析器210和贮存库208。使用GUI 206,软件架构师和性能调优架构师可以配置系统102。此外,性能测试员(未示出)也可以监视系统102的运行和/或执行系统102以生成测试数据。
为了说明,软件架构师可以通过GUI 206来定义数据库的逻辑数据约束。逻辑数据约束描述应用的程序(即,软件)中定义的使用或实现数据库的商业逻辑。例如,软件架构师可以分析程序中定义的数据关系以经由GUI 206向系统102提供逻辑约束作为数据输入。逻辑数据约束可以包括规则402(即,数据生成规则)和ERD规则404。类似地,性能调优架构师可以使用GUI 206来配置规则402。例如,性能调优架构师可以指定数据库中的表的数据规模。作为另一示例,性能调优架构师可以选择要用测试数据填充的数据库中的特定表并设置测试数据规模。因此,可以由具有数据库的商业逻辑知识的软件架构师和由具有测试设计知识的性能调优架构师将输入提供给系统102,以生成与客户的商业对准的测试数据。此外,可以将所提供的配置输入存储在例如系统的贮存库208中以重用。
图4还包括耦合到数据库模式储存器406的模式解析器210。模式解析器210可操作来将数据库的数据约束解析成GUI 206可使用且数据生成器204可使用的格式。例如,对GUI 206来说可用的经解析的数据约束可以由软件架构师、性能调优架构师、性能测试员或任何其他用户进一步配置。另外,经解析的数据约束可由数据生成器204使用以生成测试数据。数据约束可以是从数据库模式406提取的。数据约束可以包括ERD 404。此外,模式解析器210可操作来从现有数据趋向、历史数据、观察到的数据样式或它们的任何组合创建数据生成规则402。由模式解析器210、ERD 404和规则402解析的数据约束也存储在贮存库208中。
贮存库208用于存储用于系统102的数据。例如,贮存库208可以存储数据库模式、数据约束和数据生成规则。数据生成规则可以包括规则模板(例如,内建模板或供应的模板)和规则实例。因此,贮存库208可以存储与系统102有关或者由系统102的模块或引擎中的任一个生成的任何数据。贮存库208中的数据可以被提供到规则分派器202以用于自动绑定到数据库。
规则分派器202可操作来自动将数据生成规则绑定到数据库。例如,规则分派器202可以自动将数据生成规则绑定到数据库的一个或多个列、数据库的一个或多个表、或它们的任何组合。因此,可以根据限界规则来生成测试数据。此外,可以存储规则-列绑定或规则-表绑定(例如在贮存库208中)以被重用。
数据生成器204可操作来基于限界规则来生成测试数据。所生成的测试数据可以被输出作为SQL脚本文件、其他脚本文件格式、电子表格文件、文本文件或它们的任何组合。此外,所生成的测试数据可以存储在测试数据数据库208中。
操作:图6和7是实现基于规则的数据填充方法的实施例所采取的步骤的示例流程图。在讨论图6和7的过程中,参考图2A、2B和4的图以提供上下文示例。然而,实现并不限于那些示例。
以图6开始,描述了用于基于规则的数据填充的方法600的实施例的流程图。方法600可以在步骤610中开始并前进到步骤620,其中,提供用于数据库的数据生成规则,并且其中,数据生成规则包括数据约束。参考图2A、2B和4,GUI引擎208、数据储存器104或贮存库208可以负责实现步骤620。例如,GUI引擎208可以使用户(例如,软件架构师、性能调优架构师或性能测试员)能够提供数据生成规则。可替代地或者附加地,数据储存器104和/或贮存库208可以提供数据生成规则。
方法600还包括步骤630,其中将数据生成规则自动绑定到数据库。参照图2A和图4,规则分派器引擎202可以负责实现步骤630。例如,规则分派器引擎202可以自动将数据生成规则绑定到数据库。数据生成规则可以被自动绑定到数据库列、数据库表或它们的组合。
方法600可以前进到步骤640,其中基于数据生成规则生成测试数据。参照图2A和图5,数据生成器引擎204可以负责实现步骤640。例如,数据生成器引擎204可以基于限界数据生成规则来生成测试数据。因此,根据数据生成规则来生成测试数据。方法600然后可以前进到步骤650,其中该方法停止。
图7描绘了用于基于规则的数据填充的方法700的实施例的流程图。方法700可以在步骤710中开始并前进到步骤720,其中提供用于数据库的数据生成规则,其中数据生成规则包括数据约束。步骤720还可以包括:步骤722,其中指定用于数据库表和数据库列的数据规模;步骤724,其中指定数据库中的表关系;和步骤726,其中创建描述要生成的测试数据的规则实例。规则实例包括数据库规则实例、表规则实例和列规则实例。参照图2A-2B和图4,GUI引擎208、数据储存器104或贮存库208可以负责实现步骤720、722和724。例如,GUI 208可以接收用户配置输入,诸如数据生成规则。此外,数据生成规则可以存储在数据储存器104或贮存库208中并提供数据生成规则。规则分派器引擎202可以负责实现创建描述要生成的测试数据的规则实例的步骤726。例如,规则实例可以被创建,在贮存库208中的存储的数据库模式的内建规则模板。
方法700可以前进到步骤730,其中将数据生成规则自动绑定到数据库。步骤730还可以包括步骤732,其中将数据生成规则自动绑定到数据库表和数据库列。参照图2A和图4,规则分派器引擎202可以负责实现步骤730和732。
方法700可以前进到步骤740,其中基于数据生成规则来生成测试数据。参照图2A和图5,数据生成器引擎204可以负责实现步骤740。因此,根据限界数据生成规则来生成数据生成规则。
方法700可以前进到步骤750,其中输出测试数据作为SQL脚本文件、STDF文件、电子表格文件、文本文件或它们的任何组合。参照图2A和图4,数据生成器引擎204可以负责实现步骤750。例如,数据生成器引擎204可以将测试数据作为脚本文件、电子表格文件或文本文件存储在数据储存器104中或在图4的测试数据数据库408中。方法700然后可以前进到步骤760,其中方法700停止。
结论:图1-5描绘了各种实施例的架构、功能性和操作。具体地,图2-5描绘了各种物理和逻辑部件。至少部分地将各种部件定义为程序或编程。每个这样的部件、其部分或其各种组合可以整体或部分地代表包括用于实现任何指定逻辑功能的一个或多个可执行指令的代码的模块、区段或部分。每个部件或其各种组合可以代表用于实现指定逻辑功能的电路或多个互连电路。
可以用由诸如基于计算机/处理器的系统或ASIC(专用集成电路)之类的指令执行系统或可从计算机可读介质取得或获得逻辑且执行其中包含的指令的其他系统使用或者与之结合使用的任何计算机可读介质来实现实施例。“计算机可读介质”可以是可包含、存储或维持由指令执行系统使用或与之结合使用的指令和数据的集合的任何个体介质或不同介质。计算机可读介质可以包括许多物理、非暂态介质中的任何一个或多个,诸如例如电子、磁、光学、电磁或半导体器件。计算机可读介质的更具体示例包括但不限于便携式磁计算机盘,诸如软盘、硬盘驱动器、固态驱动器、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器、闪速驱动器以及便携式压缩盘。
尽管图6-7的流程图示出了特定的执行顺序,但是执行顺序可以与所描绘的执行顺序不同。例如,两个或更多个块或箭头的执行顺序可以相对于示出的顺序而被打乱。此外,相继示出的两个或更多个块可以被并发执行或者部分同时执行。所有这样的变型处于本发明的范围内。
已经参照前面的示例性实施例示出和描述了本发明。然而,应当理解,可以在不偏离所附权利要求中限定的本发明的精神和范围的情况下做出其他形式、细节和实施例。

Claims (20)

1. 一种基于规则的数据填充系统,所述系统包括:
规则分派器引擎,用于自动将数据生成规则绑定到数据库;以及
数据生成器引擎,用于基于该规则来生成用于所述数据库的测试数据。
2. 根据权利要求1所述的系统,还包括:
图形用户界面(GUI)引擎,用于从用户接收配置输入,其中所述配置输入包括所述数据生成规则,并且其中所述数据生成规则包括规则实例、规则模板和数据约束;
存储引擎,用于存储数据库信息,其中所述数据库信息包括数据库模式和所述数据生成规则;以及
模式解析器引擎,用于将来自所述数据库的数据约束解析成所述数据生成器引擎可使用的统一格式。
3. 根据权利要求2所述的系统,其中所述模式解析器引擎还用于从所存储的数据、历史测试数据或其组合创建数据生成规则。
4. 根据权利要求2所述的系统,其中所述数据约束包括所述数据库的对应于在与所述数据库有关的可执行程序中定义的逻辑的逻辑数据约束,并且其中所述数据约束包括实体关系图(ERD)。
5. 根据权利要求2所述的系统,还包括数据库连接器引擎,用于:
检索与所述数据库有关的信息;
检索所述测试数据;以及
操纵所述测试数据。
6. 根据权利要求1所述的系统,其中所述规则分派器引擎还用于自动绑定数据库规则,其中所述数据库规则包括基本规则和先进规则。
7. 根据权利要求6所述的系统,其中所述基本规则包括数据信息,所述数据信息包括数据大小、数据类型、空数据值、受限数据值、可用数据值、主键、外键、唯一键、索引、样本数据、数据格式或它们的任何组合。
8. 根据权利要求6所述的系统,其中所述先进规则包括数据趋向、数据频率、历史数据、数据属性、数据范围、数据样式或它们的任何组合。
9. 根据权利要求1所述的系统,其中所述规则分派器引擎还用于自动绑定用户定义的规则,其中所述用户定义的规则包括数据库级规则、表级规则、列级规则或它们的任何组合。
10. 根据权利要求9所述的系统,其中所述数据库级规则包括产业值类型、编码信息、数据库最大大小、商业规则或它们的任何组合。
11. 根据权利要求9所述的系统,其中所述表级规则包括表最大大小、表关系、表依赖性或它们的任何组合。
12. 根据权利要求9所述的系统,其中所述列级规则包括数据样式、列关系、列依赖性或它们的任何组合。
13. 一种包括指令的非暂态计算机可读介质,所述指令当被执行时实现用于测试数据库的基于规则的数据填充方法,所述方法包括:
提供用于生成用于所述数据库的测试数据的规则;
自动将所述规则绑定到所述数据库;以及
基于所绑定的规则来生成测试数据。
14. 根据权利要求13所述的非暂态计算机可读介质,其中所述规则包括数据约束,所述数据约束包括实体关系图(ERD)。
15. 根据权利要求13所述的非暂态计算机可读介质,其中自动将所述规则绑定到所述数据库包括将所述规则绑定到数据库表、数据库列或它们的组合。
16. 根据权利要求13所述的非暂态计算机可读介质,还包括输出所述测试数据作为结构化查询语言(SQL)脚本文件、电子表格文件、文本文件、标准测试员数据格式(STDF)文件、其他脚本文件格式或它们的任何组合。
17. 根据权利要求13所述的非暂态计算机可读介质,其中,提供规则包括:
指定数据库表和数据库列的数据规模;以及
指定所述数据库中的表关系。
18. 根据权利要求13所述的非暂态计算机可读介质,其中,提供规则包括创建描述要生成的测试数据的规则实例,其中,所述规则实例包括数据库规则实例、表规则实例以及列规则实例。
19. 一种用于测试数据库的基于规则的数据填充方法,所述方法包括:
提供用于所述数据库的数据生成规则,其中所述数据生成规则包括数据约束;
自动将所述数据生成规则绑定到所述数据库;以及
基于所述数据生成规则来生成测试数据。
20. 根据权利要求19所述的方法,还包括基于所述测试数据来创建脚本。
CN201280074365.8A 2012-06-29 2012-06-29 基于规则的自动化测试数据生成 Pending CN104380663A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/077903 WO2014000269A1 (en) 2012-06-29 2012-06-29 Rule-based automated test data generation

Publications (1)

Publication Number Publication Date
CN104380663A true CN104380663A (zh) 2015-02-25

Family

ID=49779291

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280074365.8A Pending CN104380663A (zh) 2012-06-29 2012-06-29 基于规则的自动化测试数据生成

Country Status (4)

Country Link
US (1) US20140006459A1 (zh)
EP (1) EP2868037A4 (zh)
CN (1) CN104380663A (zh)
WO (1) WO2014000269A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105512042A (zh) * 2015-12-22 2016-04-20 广东金赋信息科技有限公司 一种数据库的测试数据的自动生成方法、装置及测试系统
CN106557420A (zh) * 2015-09-28 2017-04-05 株式会社日立制作所 测试db数据生成方法及装置
CN106682023A (zh) * 2015-11-10 2017-05-17 杭州华为数字技术有限公司 生成数据集的方法和装置
CN107229617A (zh) * 2016-03-23 2017-10-03 北京京东尚科信息技术有限公司 一种对指定数据字段进行赋值的方法
CN107943694A (zh) * 2017-11-21 2018-04-20 中国农业银行股份有限公司 一种测试数据生成方法及装置
CN108388545A (zh) * 2018-01-26 2018-08-10 浪潮软件集团有限公司 一种文本输入框测试数据的生成方法及工具
CN111309734A (zh) * 2020-02-20 2020-06-19 第四范式(北京)技术有限公司 自动生成表数据的方法及系统
CN112632105A (zh) * 2020-01-17 2021-04-09 华东师范大学 大规模事务负载生成与数据库隔离级别正确性验证系统及方法
US11966371B1 (en) * 2021-09-16 2024-04-23 Wells Fargo Bank, N.A. Systems and methods for automated data dictionary generation and validation

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140149360A1 (en) * 2012-11-27 2014-05-29 Sap Ag Usage of Filters for Database-Level Implementation of Constraints
US9836389B2 (en) * 2013-02-17 2017-12-05 International Business Machines Corporation Test data generation utilizing analytics
US9274936B2 (en) 2013-05-29 2016-03-01 Sap Portals Israel Ltd Database code testing framework
JP6723989B2 (ja) * 2014-09-08 2020-07-15 アビニシオ テクノロジー エルエルシー データ駆動型検査用フレームワーク
US9558089B2 (en) 2014-11-12 2017-01-31 Intuit Inc. Testing insecure computing environments using random data sets generated from characterizations of real data sets
US10055297B1 (en) 2015-08-21 2018-08-21 Amdocs Development Limited System, method, and computer program for smart database inflation
US10031936B2 (en) 2015-10-13 2018-07-24 International Business Machines Corporation Database table data fabrication
US11249710B2 (en) * 2016-03-31 2022-02-15 Splunk Inc. Technology add-on control console
US11861423B1 (en) 2017-10-19 2024-01-02 Pure Storage, Inc. Accelerating artificial intelligence (‘AI’) workflows
US11455168B1 (en) * 2017-10-19 2022-09-27 Pure Storage, Inc. Batch building for deep learning training workloads
US10671434B1 (en) 2017-10-19 2020-06-02 Pure Storage, Inc. Storage based artificial intelligence infrastructure
US10360214B2 (en) 2017-10-19 2019-07-23 Pure Storage, Inc. Ensuring reproducibility in an artificial intelligence infrastructure
US11494692B1 (en) 2018-03-26 2022-11-08 Pure Storage, Inc. Hyperscale artificial intelligence and machine learning infrastructure
WO2019084781A1 (en) * 2017-10-31 2019-05-09 EMC IP Holding Company LLC Management of data using templates
US11086901B2 (en) 2018-01-31 2021-08-10 EMC IP Holding Company LLC Method and system for efficient data replication in big data environment
CN110209584A (zh) * 2019-06-03 2019-09-06 广东电网有限责任公司 一种测试数据自动生成方法和相关装置
CN112286783A (zh) * 2019-07-23 2021-01-29 北京中关村科金技术有限公司 生成数据库插入语句以及进行系统测试的方法、装置
CN111078545A (zh) * 2019-12-05 2020-04-28 贝壳技术有限公司 测试数据自动生成方法及系统
CN110928802A (zh) * 2019-12-24 2020-03-27 平安资产管理有限责任公司 基于自动生成用例的测试方法、装置、设备及存储介质
CN111190073B (zh) * 2019-12-31 2024-04-16 中国电力科学研究院有限公司 一种电网广域量测交互与搜索服务系统
CN112416770A (zh) * 2020-11-23 2021-02-26 平安普惠企业管理有限公司 测试数据的生成方法、装置、设备及存储介质
CN112465620B (zh) * 2020-12-30 2023-12-19 广东金赋科技股份有限公司 基于动态表单与规则引擎的终端填单业务联动方法及装置
CN113960453B (zh) * 2021-11-02 2023-12-01 上海御渡半导体科技有限公司 快速生成stdf数据的测试装置和测试方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7003560B1 (en) * 1999-11-03 2006-02-21 Accenture Llp Data warehouse computing system
US20080256111A1 (en) * 2007-04-16 2008-10-16 Uri Haham Data generator apparatus testing data dependent applications, verifying schemas and sizing systems
CN101576849A (zh) * 2008-05-09 2009-11-11 北京世纪拓远软件科技发展有限公司 测试数据的生成方法
CN102006616A (zh) * 2010-11-09 2011-04-06 中兴通讯股份有限公司 一种测试系统及测试方法
CN102043720A (zh) * 2011-01-18 2011-05-04 北京世纪高通科技有限公司 利用sql语句自动生成测试数据的方法和装置

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2066724C (en) * 1989-09-01 2000-12-05 Helge Knudsen Operating system and data base
US5873088A (en) * 1990-08-31 1999-02-16 Fujitsu Limited Derived data base processing system enabling one program to access a plurality of data basis
US5664173A (en) * 1995-11-27 1997-09-02 Microsoft Corporation Method and apparatus for generating database queries from a meta-query pattern
US5978940A (en) * 1997-08-20 1999-11-02 Mci Communications Corporation System method and article of manufacture for test operations
US6581052B1 (en) * 1998-05-14 2003-06-17 Microsoft Corporation Test generator for database management systems
US6591272B1 (en) * 1999-02-25 2003-07-08 Tricoron Networks, Inc. Method and apparatus to make and transmit objects from a database on a server computer to a client computer
US6701514B1 (en) * 2000-03-27 2004-03-02 Accenture Llp System, method, and article of manufacture for test maintenance in an automated scripting framework
US6907546B1 (en) * 2000-03-27 2005-06-14 Accenture Llp Language-driven interface for an automated testing framework
US7225107B2 (en) * 2001-05-24 2007-05-29 Test Advantage, Inc. Methods and apparatus for data analysis
US20040093559A1 (en) * 2001-05-25 2004-05-13 Ruth Amaru Web client for viewing and interrogating enterprise data semantically
US7062502B1 (en) * 2001-12-28 2006-06-13 Kesler John N Automated generation of dynamic data entry user interface for relational database management systems
US7716170B2 (en) * 2002-01-08 2010-05-11 Wafik Farag Holistic dynamic information management platform for end-users to interact with and share all information categories, including data, functions, and results, in collaborative secure venue
US7756804B2 (en) * 2002-05-10 2010-07-13 Oracle International Corporation Automated model building and evaluation for data mining system
GB0309528D0 (en) * 2003-04-25 2003-06-04 Beach Solutions Ltd Database population system
US20050004918A1 (en) * 2003-07-02 2005-01-06 International Business Machines Corporation Populating a database using inferred dependencies
US20060010426A1 (en) * 2004-07-09 2006-01-12 Smartware Technologies, Inc. System and method for generating optimized test cases using constraints based upon system requirements
US20060026506A1 (en) * 2004-08-02 2006-02-02 Microsoft Corporation Test display module for testing application logic independent of specific user interface platforms
CN100407663C (zh) * 2004-11-17 2008-07-30 中兴通讯股份有限公司 一种电信智能业务的通用测试系统及方法
US7475289B2 (en) * 2005-02-11 2009-01-06 Microsoft Corporation Test manager
US8166347B2 (en) * 2006-02-22 2012-04-24 Sap Ag Automatic testing for dynamic applications
US8086998B2 (en) * 2006-04-27 2011-12-27 International Business Machines Corporation transforming meta object facility specifications into relational data definition language structures and JAVA classes
WO2008018080A2 (en) * 2006-08-11 2008-02-14 Bizwheel Ltd. Smart integration engine and metadata-oriented architecture for automatic eii and business integration
US7933932B2 (en) * 2006-11-14 2011-04-26 Microsoft Corporation Statistics based database population
US8694880B2 (en) * 2007-09-25 2014-04-08 Oracle International Corporation Population update framework, systems and methods
US8612938B2 (en) * 2009-01-05 2013-12-17 Tata Consultancy Services Limited System and method for automatic generation of test data to satisfy modified condition decision coverage
US8386419B2 (en) * 2011-05-12 2013-02-26 Narendar Yalamanchilli Data extraction and testing method and system
CN102254035A (zh) * 2011-08-09 2011-11-23 广东电网公司电力科学研究院 关系数据库测试方法及测试系统
WO2013044141A2 (en) * 2011-09-22 2013-03-28 Capgemini U.S. Llc Process transformation and transitioning apparatuses, methods and systems
US9372827B2 (en) * 2011-09-30 2016-06-21 Commvault Systems, Inc. Migration of an existing computing system to new hardware
US8676772B2 (en) * 2011-12-09 2014-03-18 Telduráðgevin Sp/f Systems and methods for improving database performance
US9734214B2 (en) * 2012-06-28 2017-08-15 Entit Software Llc Metadata-based test data generation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7003560B1 (en) * 1999-11-03 2006-02-21 Accenture Llp Data warehouse computing system
US20080256111A1 (en) * 2007-04-16 2008-10-16 Uri Haham Data generator apparatus testing data dependent applications, verifying schemas and sizing systems
CN101576849A (zh) * 2008-05-09 2009-11-11 北京世纪拓远软件科技发展有限公司 测试数据的生成方法
CN102006616A (zh) * 2010-11-09 2011-04-06 中兴通讯股份有限公司 一种测试系统及测试方法
CN102043720A (zh) * 2011-01-18 2011-05-04 北京世纪高通科技有限公司 利用sql语句自动生成测试数据的方法和装置

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106557420A (zh) * 2015-09-28 2017-04-05 株式会社日立制作所 测试db数据生成方法及装置
CN106557420B (zh) * 2015-09-28 2019-06-14 株式会社日立制作所 测试db数据生成方法及装置
CN106682023A (zh) * 2015-11-10 2017-05-17 杭州华为数字技术有限公司 生成数据集的方法和装置
CN105512042B (zh) * 2015-12-22 2018-09-04 广东金赋科技股份有限公司 一种数据库的测试数据的自动生成方法、装置及测试系统
CN105512042A (zh) * 2015-12-22 2016-04-20 广东金赋信息科技有限公司 一种数据库的测试数据的自动生成方法、装置及测试系统
CN107229617A (zh) * 2016-03-23 2017-10-03 北京京东尚科信息技术有限公司 一种对指定数据字段进行赋值的方法
CN107943694A (zh) * 2017-11-21 2018-04-20 中国农业银行股份有限公司 一种测试数据生成方法及装置
CN107943694B (zh) * 2017-11-21 2021-01-05 中国农业银行股份有限公司 一种测试数据生成方法及装置
CN108388545A (zh) * 2018-01-26 2018-08-10 浪潮软件集团有限公司 一种文本输入框测试数据的生成方法及工具
CN112632105A (zh) * 2020-01-17 2021-04-09 华东师范大学 大规模事务负载生成与数据库隔离级别正确性验证系统及方法
CN112632105B (zh) * 2020-01-17 2021-09-10 华东师范大学 大规模事务负载生成与数据库隔离级别正确性验证系统及方法
CN111309734A (zh) * 2020-02-20 2020-06-19 第四范式(北京)技术有限公司 自动生成表数据的方法及系统
CN111309734B (zh) * 2020-02-20 2023-12-05 第四范式(北京)技术有限公司 自动生成表数据的方法及系统
US11966371B1 (en) * 2021-09-16 2024-04-23 Wells Fargo Bank, N.A. Systems and methods for automated data dictionary generation and validation

Also Published As

Publication number Publication date
EP2868037A4 (en) 2016-01-20
EP2868037A1 (en) 2015-05-06
US20140006459A1 (en) 2014-01-02
WO2014000269A1 (en) 2014-01-03

Similar Documents

Publication Publication Date Title
CN104380663A (zh) 基于规则的自动化测试数据生成
US9087041B2 (en) Enterprise test system platform and associated method for interoperable test data management, test development, test libraries and test workflow management and automation
US10353913B2 (en) Automating extract, transform, and load job testing
CN105324769B (zh) 用于产生用于自动数据库迁移的脚本集的解决方案
US10013339B2 (en) System and method for automating testing without scripting
CN102449598B (zh) 包设计和生成
EP2778929B1 (en) Test script generation system
US9721216B2 (en) Solution that automatically recommends design assets when making architectural design decisions for information services
CN109446218A (zh) Sql语句生成方法、装置及计算机可读存储介质
US10366112B2 (en) Compiling extract, transform, and load job test data cases
US20160019033A1 (en) Expressive generic model technology
CN109284106A (zh) 业务规则的发布管理方法、电子装置及可读存储介质
CN102298607A (zh) 数据集成的方案合约
CN107077362A (zh) 安装和更新软件系统
CN104102489A (zh) 一种第三方数据库app构建系统及构建方法
WO2011067216A1 (en) Flexible data archival using a model-driven approach
CN110990048A (zh) 一种监控Unity项目资源缺失的方法及系统
JP2019207687A (ja) データモデルのオブジェクトを使用したプロジェクト成果物の生成
US10296376B2 (en) Planning for manufacturing environments
CN110825395B (zh) 多插件分层部署系统、设备及介质
CN109032614A (zh) 一种物联网应用程序开发与维护的系统及方法
CN110309145A (zh) 一种数据表调整方法、数据表创建方法及装置
US11928627B2 (en) Workflow manager
US20150169433A1 (en) Automated Generation of Semantically Correct Test Data for Application Development
US20180284712A1 (en) Integrated services platform

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150225

WD01 Invention patent application deemed withdrawn after publication