CN110249300B - 内置于数据集成工作流编辑器中的测试用例生成器 - Google Patents

内置于数据集成工作流编辑器中的测试用例生成器 Download PDF

Info

Publication number
CN110249300B
CN110249300B CN201780068544.3A CN201780068544A CN110249300B CN 110249300 B CN110249300 B CN 110249300B CN 201780068544 A CN201780068544 A CN 201780068544A CN 110249300 B CN110249300 B CN 110249300B
Authority
CN
China
Prior art keywords
data
conversion module
test case
test
integration workflow
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.)
Active
Application number
CN201780068544.3A
Other languages
English (en)
Other versions
CN110249300A (zh
Inventor
米歇尔·纪尧姆·马里斯·海特
夏兰·戴恩斯
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.)
Talend Inc
Original Assignee
Talend Inc
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 Talend Inc filed Critical Talend Inc
Publication of CN110249300A publication Critical patent/CN110249300A/zh
Application granted granted Critical
Publication of CN110249300B publication Critical patent/CN110249300B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本文所提出的实施方案提供用于为作为提取、传输和加载(ETL)项目的较大数据集成工作流的一部分的转换模块生成测试用例的技术。根据本公开生成的测试用例可独立于生成所述测试用例的应用程序并且独立于所述数据集成工作流中参考的数据源和目的地来执行。为实现此独立性,所述测试用例可包括模拟与所述数据集成工作流中的所述转换模块交互的数据源和目的地的代码。此外,所述测试用例可以是基于单元测试框架的单元测试,并且可与选定软件框架兼容。

Description

内置于数据集成工作流编辑器中的测试用例生成器
技术领域
本公开大体上涉及为数据集成工作流的元素生成单元测试。更具体地,本公开提供使数据集成工作流程编辑器生成代码以在用户选定软件框架内测试用户选定程序模块的技术。
背景技术
用于采集并存储数据的技术在近几十年来已得到极大地改进。特别地,数据收集速率、数据访问速度和数据存储能力已全部显著提高。此外,计算机处理器速度也已提高了若干数量级,并且大量计算资源已变得可通过云轻松地获得。因此,几十年前不切实际的大规模数据分析现在成为可能。
许多现代企业、大学、政府和其他实体收集数据以用于会计、研究、情报、营销、库存、质量控制、交易和其他目的。已创造出术语“大数据”来指代这种实体可能拥有的大量(例如,太字节的)数据。这种大数据可进行统计分析以确定趋势并且可用于创建有用的预测模型(例如,机器学习模型)。实体可使用此类分析和模型来为决策制定提供信息,以及来识别趋势、问题和潜在的机会。
通常,实体拥有的大数据分布在许多不同的数据存储中。继而,不同的数据存储可包含以不同格式存储的不同类型的数据。因此,可能不得不将数据从不同位置进行提取、重新格式化、组合并加载到单个数据存储库中,使得可执行统计分析并且可创建预测模型。此过程通常被称为提取、转换(transform)和加载(ETL)。
附图说明
图1示出根据一个实施方案的可用于应用本公开的技术的示例性计算环境。
图2示出根据一个实施方案的计算系统的更详细视图。
图3示出根据一个实施方案的如在显示器上显示的数据集成工作流的图形模型。
图4是根据一个实施方案的示出用于为数据集成工作流的转换模块创建测试用例的方法的流程图。
图5是根据一个实施方案的示出用于为数据集成工作流的转换模块执行测试用例的方法的流程图。
图6示出根据一个实施方案的为测试用例生成代码的示例性数据集成系统。
具体实施方式
本文所公开的实施方案描述用于为数据转换工作流的组件生成单元测试用例的技术。数据集成工作流编辑器将所述数据转换工作流的图形模型显示给用户。所述用户选择所述图形模型的表示所述数据转换工作流内的转换模块的至少一个图标。所述用户选择为所述转换模块创建测试用例的选项。所述用户还要求所述测试用例与指定软件框架兼容。所述数据集成工作流编辑器标识所述数据转换工作流中通向所述转换模块的输入路径和来自所述转换模块的输出路径。代码生成器为所述转换模块创建测试用例。所述测试用例可使用所述软件框架来执行。
当被执行时,所述测试用例使用(例如,由用户提供的)测试输入数据来执行所述转换模块。然后,所述测试用例将来自所述转换模块的实际输出数据与(例如,由用户提供的)目标输出数据进行比较。如果所述实际输出数据匹配所述目标输出数据,则所述测试用例指示所述测试成功。否则,所述测试用例指示所述测试失败,并且可任选地提供关于所述失败的额外细节。
为了有效地管理用于ETL的软件,可使用持续集成。术语“持续集成”指代软件开发实践,其中团队中的计算机程序员频繁地集成他们的工作并通过自动化构建验证每个集成,使得可及时检测到集成错误。
用于ETL项目的数据集成工作流可指定输入数据的源、处理输入数据的(例如,编程代码的)模块和发送模块输出的目的地、以及源、模块和目的地之间的关系。术语“数据转换模块”指代数据集成工作流的从一个或多个输入源接收输入数据、对输入数据执行至少一个操作以产生输出数据并且将所述输出数据发送到目的地的组件。
致力于ETL项目的软件开发团队中的程序员可能随时间推移而改变。通常,团队成员可能不得不修改现有数据集成工作流中不熟悉的组件。这些不熟悉的组件的正确结构或操作可能并不明显。在此类情况下,团队成员可能无意中将错误引入这些组件的计算机代码中。在ETL项目在生产中交付不正确结果之前,这些错误中的一些可能无法被检测到。单元测试允许开发人员测试预期行为或已知的错误状态,但对单元测试进行手动编码可能是耗时且复杂的。
本文所述的实施方案提供在无需手动编码的情况下为转换模块生成测试用例的技术。所述测试用例可独立于生成它的应用来执行。所述测试用例可在无需访问将输入提供给所述数据集成工作流中的所述转换模块的数据源的情况下来执行。此外,所述测试用例可在无需访问从所述数据集成工作流中的所述转换模块接收输出的目的地的情况下来执行。由于这些原因,所述测试用例具有高度可移植性,并且独立于与所述数据集成工作流中引用的数据源和目的地。
测试用例可准确地模拟多种数据源和结构,从而使开发人员能够在无需出于测试目的而设置或维持实际数据库系统的情况向下实际上针对虚拟或模拟输入数据集来测试转换模块。开发人员可针对测试用例(例如,通过点击按钮或选择选项以在每次转换模块改变时自动地运行测试用例)来核实转换模块的每个变化。
所述测试用例还可与所述数据集成工作流的版本相关联。如果所述转换模块的预期功能在以后的版本中改变,则开发人员可通过观察到所述测试用例与先前版本相关联而确定所述测试用例已过时。
图1示出根据一个实施方案的可用于应用本公开的技术的示例性计算环境100。计算系统108、数据存储104和数据存储106连接到网络102。数据集成工作流编辑器110在显示器118上显示数据集成工作流112的图形模型。
用户选择图形模型中的至少一个图标,并要求为由选定图标表示的转换模块创建使用单元测试框架114的测试用例。数据集成工作流编辑器110确定数据集成工作流112中的转换模块被配置为从数据存储104接收输入并将输出发送到数据存储106。然后,数据集成工作流编辑器110生成测试用例116。
测试用例116在运行时对测试输入执行转换模块。测试用例116可从数据存储104之外的源接收测试输入,但以模仿数据存储104的方式将测试输入提供给转换模块。因此,在执行测试用例116时不必访问数据存储104。类似地,测试用例116可以模仿数据存储106的方式从转换模块接收输出。因此,在执行测试用例116时不必访问数据存储106。
测试用例116使用单元测试框架114并且可在由用户指定的软件框架中执行。单元测试框架114(例如像Junit)可与编程序语言(例如像Java)相关联。软件框架可以是ApacheHadoop或某个其他框架。测试用例116可使用软件框架来执行,即使数据集成工作流编辑器110没有运行的情况下也是如此。此外,测试用例116可移植到可使用单元测试框架114和软件框架的其他计算系统。换句话说,测试用例116不依赖于数据集成工作流编辑器110。
用户还可指定,在每次转换模块改变时使用指定测试输入和指定目标输出来自动地执行测试用例。以此方式使用测试用例允许软件开发人员验证在作出改变之后转换模块仍然适当地起作用。
图2示出根据一个实施方案的计算系统108的更详细视图。计算系统108、数据存储104和数据存储106连接到网络102。数据集成工作流编辑器110包括图形用户界面(GUI)202、代码生成器204和数据集成工作流112的图形模型206。图形模型206包括图标208。数据集成工作流编辑器110在显示器118上的GUI 202中显示数据集成工作流112的图形模型206。
用户可选择图形模型206中的图标208中的一者或多者,以指定数据集成工作流112的转换模块210以用于测试。数据集成工作流编辑器110确定转换模块210被配置为从数据存储104接收输入并将输出发送到数据存储106。然后,代码生成器204使用单元测试框架114生成测试用例116。
测试用例116在运行时对测试输入执行转换模块210。测试用例116可从数据存储104之外的源接收测试输入,但以模仿数据存储104的方式将测试输入提供给转换模块。因此,在执行测试用例116时不必访问数据存储104。类似地,测试用例116可以模仿数据存储106的方式从转换模块接收输出。因此,在执行测试用例116时不必访问数据存储106。
测试用例116使用单元测试框架114并且可在由用户指定的软件框架中执行。单元测试框架114可与编程序语言相关联(例如像Junit,其与Java相关联)。例如,软件框架可以是Apache Hadoop或Spark框架。测试用例116可使用软件框架来执行,即使数据集成工作流编辑器110不在运行的情况下也是如此。此外,测试用例116可移植到可使用单元测试框架114和软件框架的其他计算系统。换句话说,测试用例116不依赖于数据集成工作流编辑器110。
图3示出根据一个实施方案的如在显示器302上显示的数据集成工作流的图形模型300。图标304表示转换模块。图标306和图标310表示转换模块在数据集成工作流中接收输入的数据源。例如,图标306可表示数据库,而图标310可表示平面文件。图标314表示转换模块提供输出的数据源。
箭头312在图形模型300中被显示为向用户指示,由图标304表示的转换模块从由图标310表示的数据源接收输入。类似地,箭头308在图形模型300中被显示为向用户指示,由图标304表示的转换模块还从由图标306表示的数据源接收输入。箭头316在图形模型300中被显示为向用户指示,由图标304表示的转换模块将输出提供给由图标314表示的数据源。
用户可使用光标318选择图标304。一旦选定图标304,就可出现下拉窗口,以提供创建测试用例的选项。用户可选择选项,并且为测试用例提供额外细节,诸如与测试相关联的数据集成工作流的版本和用于测试用例的软件框架。基于来自用户的这些输入,代码生成器使用单元测试框架为转换模块创建测试用例。
测试用例中所包括的代码被设计为从由图标306和图标310表示的数据存储库之外的源接收测试输入数据。然而,当执行测试用例时,代码以仍允许转换模块正常地执行的方式将测试输入数据提供给正在测试的转换模块。例如,如果转换模块被设计为以特定格式或特定数据结构接收输入,则测试用例包括可以所述格式或数据结构提供测试输入数据的代码。类似地,如果转换模块以特定格式或数据结构将输出提供给由图标314表示的数据存储库,则测试用例包括以所述格式或数据结构无缝地接收输出的代码。测试用例还包括将来自转换模块的输出与目标输出进行比较的代码。
图4是根据一个实施方案的示出用于为数据集成工作流的转换模块创建测试用例的方法400的流程图。在步骤402处,数据集成工作流编辑器在图形用户界面中显示数据集成工作流的图形模型。
在步骤404处,数据集成工作流编辑器标识用户在图形模型中选定的转换模块。图形模型中的一个或多个图标可表示转换模块。
在步骤406处,数据集成工作流编辑器标识通向数据集成工作流中的转换模块的输入路径。输入路径可由朝向表示图形模型中的转换模块的图标指向的箭头表示。在步骤408处,数据集成工作流编辑器确定是否存在通向转换模块的额外输入路径,并且针对每个附加输入路径重复步骤406。
在步骤410处,数据集成工作流编辑器标识来自数据集成工作流中的转换模块的输出路径。输出路径可由远离表示图形模型中的转换模块的图标指向的箭头表示。在步骤412处,数据集成工作流编辑器确定是否存在来自转换模块的额外输出路径,并且针对每个附加输出路径重复步骤410。
在步骤414处,数据集成工作流编辑器标识用户选定的软件框架。在步骤416处,代码生成器生成为选定转换模块定义测试用例的代码。测试用例包括从用户指定的数据源而不是连接到数据集成工作流中的输入路径的实际数据源接收步骤406-408中所标识的每个输入路径的测试输入数据的代码。测试用例还包括用于在测试用例执行转换模块时以模仿实际数据源的方式将测试输入数据提供给转换模块的代码。
此外,测试用例包括接收步骤410-412中所标识的每个输出路径的目标输出数据的代码。测试用例还包括当作为测试过程的一部分测试用例执行转换模块时从每个输出路径的转换模块接收实际输出数据的代码。测试用例包括将目标输出数据与每个路径的实际输出数据进行比较的代码。如果在目标输出数据与实际输出数据之间存在差异,则测试用例指示转换模块未通过测试的至少一部分。
图5是根据一个实施方案的示出用于为数据集成工作流的转换模块执行测试用例的方法500的流程图。测试用例可以是采用单元测试框架的单元测试,并且与软件框架兼容。
在步骤502处,测试用例接收用于转换模块的测试输入数据。测试输入数据可以平面文件或某个其他格式来接收。在步骤504处,测试用例接收目标输出数据。如同测试输入数据一样,目标输入数据可以平面文件或某个其他格式来接收。目标输出数据指示当使用测试输入数据作为输入执行转换模块时转换模块应输出的内容。
在步骤506处,测试用例模拟第一数据源以将测试输入数据提供给转换模块(测试用例作为测试过程的一部分正在执行)。在数据集成工作流内,转换模块被配置为从第一数据源接收输入。然而,当转换模块由测试用例执行时,测试用例并不允许转换模块访问第一数据源。相反地,测试用例通过以在将测试输入数据提供给转换模块的情况下第一数据源将采取的相同的方式与转换模块交互来模拟第一数据源。这允许测试用例独立于第一数据源。
在步骤508处,测试用例模拟第二数据源以从转换模块接收实际输出数据。在数据集成工作流内,转换模块被配置为将输入发送给第一数据源。然而,当转换模块由测试用例执行时,测试用例并不允许转换模块访问第二数据源。相反地,测试用例通过以在从转换模块接收实际输出数据的情况下第二数据源将采取的相同的方式与转换模块交互来模拟第二数据源。这允许测试用例独立于第二数据源。
在步骤510处,测试用例将实际输出数据与目标输出数据进行比较。在步骤512处,测试用例基于所述比较提供测试结果。如果实际输出数据匹配输出数据,则测试结果指示转换模块通过测试。否则,测试结果指示转换模块未通过测试。对测试是通过还是失败的指示可与测试相关联并且进行储存。
在步骤514处,创建测试用例的数据集成工作流编辑器确定自上次执行测试用例以来转换模块是否已改变。如果转换模块已改变,则重复步骤502-512。否则,方法500终止。在一个实施方案中,步骤514是任选的。用户可在数据集成工作流编辑器中选择要求在每次转换模块改变时执行测试用例的选项。
图6示出根据一个实施方案的为测试用例生成代码的示例性数据集成系统600。如图所示,数据集成系统600包括中央处理单元(CPU)602、允许将各种I/O装置614(例如,键盘、显示器、鼠标装置、笔输入件等)连接到数据集成系统600的一个或多个输入/输出(I/O)装置接口604、网络接口606、存储器608、存储装置610和互连件612。
CPU 602可检索并执行存储在存储器608中的编程指令。类似地,CPU 602可检索并储存驻留在存储器608中的应用程序数据。互连件612在CPU 602、I/O装置接口604、网络接口606、存储器608和存储装置610之间传输编程指令和应用程序数据。CPU 602可表示单个CPU、多个CPU、具有多个处理核的单个CPU等。另外,存储器606表示随机存取存储器。此外,存储装置610可以是磁盘驱动器。虽然被示为单个单元,但存储装置610可以是固定式存储装置和/或可移动存储装置的组合,所述固定式存储装置和/或可移动存储装置诸如固定式磁盘驱动器、可移动存储卡或光学存储装置、网络附加存储装置(NAS),或存储区域网(SAN)。
如图所示,存储器608包括数据集成工作流编辑器110。数据集成工作流编辑器110显示数据集成工作流112的图形模型。用户可选择图形模型中的表示数据集成工作流112内的转换模块的一个或多个图标。用户还可要求数据集成工作流编辑器110生成为转换模块定义单元测试的代码。作为响应,数据集成工作流编辑器110基于单元测试框架114创建测试用例116。
已出于说明目的呈现了本发明的各种实施方案的描述,但所述描述并不意图是详尽的或限于所公开的实施方案。在不脱离所述实施方案的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员来说是显而易见的。选取本文中所用的术语来最好地解释本发明实施方案的原理、对在市场中所见技术的实际应用或技术改进,或使本领域其他普通技术人员能够理解本文所公开的实施方案。
在随附附件中提供为数据转换工作流的组件生成单元测试用例的额外实例。
虽然前述内容涉及本公开的各实施方案,但在不脱离本公开的基本范围的情况下可设想本公开的其他和另外的实施方案,并且本公开的范围由所附权利要求确定。

Claims (12)

1.一种用于为数据集成工作流的转换模块生成测试用例的方法,所述方法包括:
接收请求以为所述数据集成工作流的转换模块创建与软件框架兼容的测试用例;
由数据集成工作流编辑器标识所述数据集成工作流中从第一数据源到所述转换模块的输入路径;
由所述数据集成工作流编辑器标识所述数据集成工作流中从所述转换模块到第二数据源的输出路径;
通过使用所述数据集成工作流编辑器的代码生成器生成为所述转换模块定义所述测试用例的代码;
通过以下方式在所述软件框架中执行所述测试用例:
在无需访问所述第一数据源的情况下,将输入数据从所述测试用例的模拟输入数据源发送到所述转换模块;以及
在无需访问所述第二数据源的情况下,在所述测试用例的模拟输出数据源处接收来自所述转换模块的输出数据;
确定所述转换模块已改变,以生成改变的模块;以及
在所述软件框架中重新执行所述测试用例,其中重新执行所述测试用例验证所述改变的模块的功能。
2.如权利要求1所述的方法,其还包括:
在图形用户界面(GUI)中显示所述数据集成工作流的图形模型,其中所述图形模型的至少一个图标表示所述转换模块;以及
经由所述图形用户界面接收所述请求,其中用户通过选择所述至少一个图标来表示所述转换模块。
3.如权利要求1所述的方法,其还包括:
接收用于所述测试用例的测试输入数据;
接收用于所述测试用例的目标输出数据;以及
通过以下事项执行所述测试用例:
使用所述测试输入数据来执行所述转换模块,
从所述转换模块接收实际输出数据,以及
将所述实际输出数据与所述目标输出数据进行比较。
4.如权利要求3所述的方法,其还包括:
基于所述实际输出数据与所述目标输出数据的所述比较来确定所述转换模块是通过还是未通过由所述测试用例、所述测试输入数据和所述目标输出数据定义的测试;以及
存储对所述确定的指示。
5.如权利要求3所述的方法,其中执行所述测试用例包括:模拟所述第一数据源以将所述测试输入数据提供给所述转换模块。
6.如权利要求1所述的方法,其中所述测试用例与所述数据集成工作流的版本相关联。
7.一种用于为数据集成工作流的转换模块生成测试用例的系统,其包括:
一个或多个处理器;以及
存储器,所述存储器存储当在所述一个或多个处理器执行时执行操作的一个或多个应用程序,所述操作包括:
接收请求以为所述数据集成工作流的转换模块创建与软件框架兼容的测试用例,
由数据集成工作流编辑器标识所述数据集成工作流中从第一数据源到所述转换模块的输入路径,
由所述数据集成工作流编辑器标识所述数据集成工作流中从所述转换模块到第二数据源的输出路径,
通过使用所述数据集成工作流编辑器的代码生成器生成为所述转换模块定义所述测试用例的代码;
通过以下方式在所述软件框架中执行所述测试用例:
在无需访问所述第一数据源的情况下,将输入数据从所述测试用例的模拟输入数据源发送到所述转换模块;以及
在无需访问所述第二数据源的情况下,在所述测试用例的模拟输出数据源处接收来自所述转换模块的输出数据;
确定所述转换模块已改变,以生成改变的模块;以及
在所述软件框架中重新执行所述测试用例,其中重新执行所述测试用例验证所述改变的模块的功能。
8.如权利要求7所述的系统,其中所述操作还包括:
在图形用户界面(GUI)中显示所述数据集成工作流的图形模型,其中所述图形模型的至少一个图标表示所述转换模块;以及
经由所述图形用户界面接收所述请求,其中用户通过选择所述至少一个图标来表示所述转换模块。
9.如权利要求7所述的系统,其中所述操作还包括:
接收用于所述测试用例的测试输入数据;
接收用于所述测试用例的目标输出数据;以及
通过以下事项执行所述测试用例:
使用所述测试输入数据来执行所述转换模块,
从所述转换模块接收实际输出数据,以及
将所述实际输出数据与所述目标输出数据进行比较。
10.如权利要求9所述的系统,其中所述操作还包括:
基于所述实际输出数据与所述目标输出数据的所述比较来确定所述转换模块是通过还是未通过由所述测试用例、所述测试输入数据和所述目标输出数据定义的测试;以及
存储对所述确定的指示。
11.如权利要求9所述的系统,其中执行所述测试用例包括:
模拟所述第一数据源以将所述测试输入数据提供给所述转换模块。
12.一种计算机可读介质,其包含指令,所述指令在由一个或多个处理器执行时执行用于为数据集成工作流的转换模块生成测试用例的操作,所述操作包括:
接收请求以为所述数据集成工作流的转换模块创建与软件框架兼容的测试用例;
由数据集成工作流编辑器标识所述数据集成工作流中从第一数据源到所述转换模块的输入路径;
由所述数据集成工作流编辑器标识所述数据集成工作流中从所述转换模块到第二数据源的输出路径;以及
通过使用所述数据集成工作流编辑器的代码生成器生成为所述转换模块定义所述测试用例的代码;
通过以下方式在所述软件框架中执行所述测试用例:
在无需访问所述第一数据源的情况下,将输入数据从所述测试用例的模拟输入数据源发送到所述转换模块;以及
在无需访问所述第二数据源的情况下,在所述测试用例的模拟输出数据源处接收来自所述转换模块的输出数据;
确定所述转换模块已改变,以生成改变的模块;以及
在所述软件框架中重新执行所述测试用例,其中重新执行所述测试用例验证所述改变的模块的功能。
CN201780068544.3A 2016-09-15 2017-09-08 内置于数据集成工作流编辑器中的测试用例生成器 Active CN110249300B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201662395179P 2016-09-15 2016-09-15
US62/395,179 2016-09-15
US201662402880P 2016-09-30 2016-09-30
US62/402,880 2016-09-30
US15/386,930 US10642720B2 (en) 2016-09-15 2016-12-21 Test case generator built into data-integration workflow editor
US15/386,930 2016-12-21
PCT/US2017/050784 WO2018052813A1 (en) 2016-09-15 2017-09-08 Test case generator built into data-integration workflow editor

Publications (2)

Publication Number Publication Date
CN110249300A CN110249300A (zh) 2019-09-17
CN110249300B true CN110249300B (zh) 2023-07-14

Family

ID=61559954

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780068544.3A Active CN110249300B (zh) 2016-09-15 2017-09-08 内置于数据集成工作流编辑器中的测试用例生成器

Country Status (9)

Country Link
US (1) US10642720B2 (zh)
EP (1) EP3513284A1 (zh)
JP (1) JP6835972B2 (zh)
CN (1) CN110249300B (zh)
AU (1) AU2017327823B2 (zh)
BR (1) BR112019004964B1 (zh)
CA (1) CA3036812A1 (zh)
MX (1) MX2019002956A (zh)
WO (1) WO2018052813A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10963369B2 (en) * 2018-04-18 2021-03-30 Ashkan Ziaee Software as a service platform utilizing novel means and methods for analysis, improvement, generation, and delivery of interactive UI/UX using adaptive testing, adaptive tester selection, and persistent tester pools with verified demographic data and ongoing behavioral data collection
CN111143187A (zh) * 2018-11-02 2020-05-12 易保网络技术(上海)有限公司 用于应用程序接口api测试的方法和设备
US11106569B1 (en) * 2019-05-23 2021-08-31 Iqvia Inc. Requirements to test system and method
US11550704B2 (en) * 2019-05-29 2023-01-10 James Arthur Canter Methods, systems and computer program products for automated software testing
US20210191845A1 (en) * 2019-12-23 2021-06-24 Ab Initio Technology Llc Unit testing of components of dataflow graphs
US20210326244A1 (en) * 2020-04-21 2021-10-21 UiPath, Inc. Test automation for robotic process automation
US11797432B2 (en) 2020-04-21 2023-10-24 UiPath, Inc. Test automation for robotic process automation
US11748239B1 (en) * 2020-05-06 2023-09-05 Allstate Solutions Private Limited Data driven testing automation using machine learning
CN112416752B (zh) * 2020-11-02 2023-06-06 四川新网银行股份有限公司 一种基于数据仓库etl分层测试的方法
WO2023060598A1 (en) * 2021-10-15 2023-04-20 Intel Corporation A concept for generating code of test cases

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101933001A (zh) * 2008-01-31 2010-12-29 雅虎公司 在集群系统中执行软件性能测试作业
CN102004659A (zh) * 2009-08-31 2011-04-06 埃森哲环球服务有限公司 集成环境生成器

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7370296B2 (en) * 2004-05-25 2008-05-06 International Business Machines Corporation Modeling language and method for address translation design mechanisms in test generation
US7587636B2 (en) 2005-08-04 2009-09-08 Microsoft Corporation Unit test generalization
US20110088011A1 (en) * 2009-10-14 2011-04-14 Vermeg Sarl Automated Enterprise Software Development
US8397217B2 (en) * 2010-02-22 2013-03-12 International Business Machines Corporation Integrating templates into tests
US8473916B2 (en) * 2011-01-25 2013-06-25 Verizon Patent And Licensing Inc. Method and system for providing a testing framework
US8386419B2 (en) * 2011-05-12 2013-02-26 Narendar Yalamanchilli Data extraction and testing method and system
US8826084B1 (en) * 2011-09-07 2014-09-02 Innovative Defense Technologies, LLC Method and system for implementing automated test and retest procedures
US20130086558A1 (en) * 2011-09-29 2013-04-04 Microsoft Corporation Testing Program Code in Multiple Process Modes
US10223246B2 (en) 2012-07-30 2019-03-05 Infosys Limited System and method for functional test case generation of end-to-end business process models
GB2506122A (en) * 2012-09-20 2014-03-26 Ibm Integrating data transform test with data transform tool
US8984349B2 (en) * 2012-09-28 2015-03-17 Hcl Technologies Limited Method and system for automating the process of testing a device
US9047413B2 (en) * 2012-10-05 2015-06-02 Software Ag White-box testing systems and/or methods for use in connection with graphical user interfaces
US10073867B2 (en) * 2013-05-17 2018-09-11 Oracle International Corporation System and method for code generation from a directed acyclic graph using knowledge modules
US9659012B2 (en) * 2013-05-17 2017-05-23 Oracle International Corporation Debugging framework for distributed ETL process with multi-language support
US9298596B2 (en) * 2013-07-09 2016-03-29 International Business Machines Corporation Test framework for computing jobs
US9367434B2 (en) * 2013-10-02 2016-06-14 Accenture Global Services Limited Testing framework for policy-based workflows
US20150227452A1 (en) * 2014-02-12 2015-08-13 Wipro Limited System and method for testing software applications
US9734044B2 (en) * 2014-03-05 2017-08-15 International Business Machines Corporation Automatic test case generation
US9424290B2 (en) * 2014-03-11 2016-08-23 Wipro Limited System and method for data validation
US9710528B2 (en) * 2014-03-25 2017-07-18 Wipro Limited System and method for business intelligence data testing
US9626416B2 (en) * 2014-05-30 2017-04-18 International Business Machines Corporation Performance checking component for an ETL job
KR102356771B1 (ko) * 2014-09-08 2022-01-27 아브 이니티오 테크놀로지 엘엘시 데이터 구동 테스트 프레임워크
US20160162398A1 (en) * 2014-12-05 2016-06-09 Microsoft Technology Licensing, Llc Automated test generation and execution for testing a process to control a computer system
US10108536B2 (en) * 2014-12-10 2018-10-23 General Electric Company Integrated automated test case generation for safety-critical software
US9575853B2 (en) * 2014-12-12 2017-02-21 Intel Corporation Accelerated data recovery in a storage system
US9864674B2 (en) * 2015-01-23 2018-01-09 Accenture Global Services Limited Test case generation system
US10210075B2 (en) * 2015-05-08 2019-02-19 Mastercard International Incorporated Systems and methods for automating test scripts for applications that interface to payment networks
US10042903B2 (en) * 2015-09-02 2018-08-07 International Business Machines Corporation Automating extract, transform, and load job testing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101933001A (zh) * 2008-01-31 2010-12-29 雅虎公司 在集群系统中执行软件性能测试作业
CN102004659A (zh) * 2009-08-31 2011-04-06 埃森哲环球服务有限公司 集成环境生成器

Also Published As

Publication number Publication date
US20180074944A1 (en) 2018-03-15
AU2017327823B2 (en) 2021-03-11
CA3036812A1 (en) 2018-03-22
MX2019002956A (es) 2019-12-11
EP3513284A1 (en) 2019-07-24
BR112019004964B1 (pt) 2021-01-12
US10642720B2 (en) 2020-05-05
CN110249300A (zh) 2019-09-17
WO2018052813A1 (en) 2018-03-22
AU2017327823A1 (en) 2019-04-11
JP6835972B2 (ja) 2021-02-24
JP2019534523A (ja) 2019-11-28
BR112019004964A2 (pt) 2019-07-02

Similar Documents

Publication Publication Date Title
CN110249300B (zh) 内置于数据集成工作流编辑器中的测试用例生成器
KR102443654B1 (ko) 소스 코드에서 작동하는 소프트웨어 도구를 위한 기계 학습 모델 자동 생성
US10572360B2 (en) Functional behaviour test system and method
US7770151B2 (en) Automatic generation of solution deployment descriptors
US7526759B2 (en) Debugging prototyped system solutions in solution builder wizard environment
US7620885B2 (en) Automatic generation of documentation for component-based computing solution
US20110125448A1 (en) Three-dimensional application program framework structure and a method for implementing an application program based on the same, and an automatic testing system based on a three-dimensional application software framework and a method therefor
AU2017258963A1 (en) Simultaneous multi-platform testing
US20060230319A1 (en) Automated migration of software instructions
WO2015019074A1 (en) Automated application test system
EP1911040A2 (en) Measuring productivity and quality in model-based design
EP3333712A2 (en) Simultaneous multi-platform testing
Trubiani et al. Performance issues? Hey DevOps, mind the uncertainty
EP3314409A1 (en) Tracing dependencies between development artifacts in a software development project
US10394529B2 (en) Development platform of mobile native applications
Hauck et al. Deriving performance-relevant infrastructure properties through model-based experiments with Ginpex
US11805181B2 (en) Migration of software extensions
Fan NVIDIA Performance Testing for Emulation of the Grace CPU
Wang Architecture-level risk assessment tool based on UML specification
CN117971638A (zh) 应用的测试方法、装置、设备、程序产品以及介质
BHANU et al. A COMPREHENSIVE ARCHITECTURE FOR DYNAMIC EVOLUTION OF ONLINE TESTING OF AN EMBEDDED SYSTEM.
CHAPPELL INTRODUCING VISUAL STUDIO 2010

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant