CN110018955B - 通过转换手动测试用例来生成自动化测试脚本 - Google Patents
通过转换手动测试用例来生成自动化测试脚本 Download PDFInfo
- Publication number
- CN110018955B CN110018955B CN201910015120.1A CN201910015120A CN110018955B CN 110018955 B CN110018955 B CN 110018955B CN 201910015120 A CN201910015120 A CN 201910015120A CN 110018955 B CN110018955 B CN 110018955B
- Authority
- CN
- China
- Prior art keywords
- test
- script
- scenario
- display page
- data
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开涉及通过转换手动测试用例来生成自动化测试脚本。公开了用于自动化测试脚本生成系统的方法、系统和装置,包括被编码在计算机存储介质上的计算机程序。在一个方面中,方法包括以下动作:接收上下文文件、测试场景、和通过用户界面被选择的所选自动化工具,上下文文件包括对象映射,对象映射包括与显示页的相应组件相互关联的对象,测试场景描述针对应用的测试用例,测试用例涉及与显示页上组件的预期交互;使与组件的预期交互同对象映射中的对应对象相互关联;通过人工智能(AI)模型来处理预期交互和对应对象;基于以上来确定脚本模板;应用脚本模板来生成用于所选自动化工具的自动化测试脚本;以及执行自动化测试脚本以测试显示页的功能。
Description
技术领域
本申请一般涉及生成自动化测试脚本。
背景技术
软件应用被设计用于适应大量事务,其中每个事务常常要求大数目的功能的执行。回归测试套件是测试用例的集合,其常常以脚本的形式被编写,被设计用于确保这些功能中的每一个在底层编程代码的修改之后保持准确和正确。这些套件的执行有助于确保在作为修改的结果的代码库的未改变区域中没有引入或者发现缺陷。此外,每一级测试(例如,单元测试、系统测试、以及验收测试)可以具有其自己的回归测试套件。现今,这些应用和/或其对应服务的提供商面临着以下问题:具有被手动执行的大型回归测试套件以及需要使这些测试套件自动化以在多个行业标准自动化工具中的任何一个内运行。一旦被自动化,这些测试用例就可以重复地和频繁地被执行,这增加了用于相应应用的测试覆盖的量。然而,为了使这些手动测试用例自动化,测试员必须记录测试场景或者创建特定于指定的自动化工具的脚本,这既耗时又费力。
发明内容
本公开的实施方式一般涉及自动化测试脚本生成系统。更具体地,实施方式涉及一种基于所接收到的测试场景和所选上下文文件来为所选自动化工具生成自动化测试脚本的系统。该系统使来自测试场景的信息和上下文文件相互关联,并且采用经训练的人工智能(AI)模型来将模板应用于关联的数据以生成自动化测试脚本。
在一般实施方式中,一种由一个或多个处理器执行的计算机实现的方法,该方法包括:接收上下文文件、测试场景、以及通过用户界面而被选择的所选自动化工具,上下文文件包括对象映射,该对象映射包括与针对应用的显示页的相应组件相互关联的对象,测试场景描述针对该应用的测试用例,该测试用例涉及与显示页上的至少一个组件的预期交互;使与该至少一个组件的预期交互同对象映射中的对应对象相互关联;通过人工智能(AI)模型来处理预期交互和对应对象,AI模型使用训练数据来进行训练,该训练数据包括由显示页的组件支持的多个过程和相应过程步骤;基于处理和所选自动化工具来确定脚本模板;基于处理将脚本模板应用于预期交互和关联对象来为所选自动化工具生成自动化测试脚本;以及执行自动化测试脚本以测试支持测试场景的显示页的一个或多个功能。
在另一一般实施方式中,一个或多个非暂时性计算机可读存储介质,该一个或多个非暂时性计算机可读存储介质被耦合至一个或多个处理器并且具有被存储在其上的指令,该指令在由一个或多个处理器执行时使得一个或多个处理器执行包括以下的操作:接收上下文文件、测试场景、以及通过用户界面而被选择的所选自动化工具,上下文文件包括对象映射,该对象映射包括与针对应用的显示页的相应组件相互关联的对象,测试场景描述针对应用的测试用例,该测试用例涉及与显示页上的至少一个组件的预期交互;使与该至少一个组件的预期交互同对象映射中的对应对象相互关联;通过人工智能(AI)模型来处理预期交互和对应对象,AI模型使用训练数据来进行训练,该训练数据包括由显示页的组件支持的多个过程和相应过程步骤;基于处理和所选自动化工具来确定脚本模板;基于处理将脚本模板应用于预期交互和关联对象来为所选自动化工具生成自动化测试脚本;以及执行自动化测试脚本以测试支持测试场景的显示页的一个或多个功能。
在又一一般实施方式中,一种系统,该系统包括:一个或多个处理器;以及计算机可读存储设备,该计算机可读存储设备被耦合至一个或多个处理器并且具有被存储在其上的指令,该指令在由一个或多个处理器执行时使得一个或多个处理器执行包括以下的操作:接收上下文文件、测试场景、以及通过用户界面而被选择的所选自动化工具,上下文文件包括对象映射,该对象映射包括与针对应用的显示页的相应组件相互关联的对象,测试场景描述针对应用的测试用例,该测试用例涉及与显示页上的至少一个组件的预期交互;使与该至少一个组件的预期交互同对象映射中的对应对象相互关联;通过人工智能(AI)模型来处理预期交互和对应对象,AI模型使用训练数据来进行训练,该训练数据包括由显示页的组件支持的多个过程和相应过程步骤;基于处理和所选自动化工具来确定脚本模板;基于处理将脚本模板应用于预期交互和关联对象来为所选自动化工具生成自动化测试脚本;以及执行自动化测试脚本以测试支持测试场景的显示页的一个或多个功能。
在与任何一般实施方式可进行组合的方面中,测试场景包括被用于预期交互的场景数据,并且其中自动化测试脚本通过将脚本模板应用于场景数据来生成。
在与任何先前方面可进行组合的另一方面中,进一步包括:通过自然语言处理技术来解析测试场景以确定预期交互。
与任一先前方面可进行组合的另一方面,测试场景被包括在以Gherkin编写的特征文件中。
在与任何先前方面可进行组合的另一方面中,上下文文件通过以下方式来生成:解析显示页以标识组件,以及在逻辑上将组件映射至相应对象。
在与任何先前方面可进行组合的另一方面中,自动化测试脚本利用用于预期交互的默认值来生成。
在与任何先前方面可进行组合的另一方面中,自动化测试脚本被生成以包括占位符数据,其中AI模型被重新训练以利用恰当脚本代码来替换占位符数据,并且其中通过处理自动化测试脚本(通过AI模型),占位符数据利用恰当脚本代码来替换。
在与任何先前方面可进行组合的另一方面中,所选自动化工具是以下中的一个:统一功能测试(UFT)、Tricentis ToscaTM、Worksoft CertifyTM、或者SeleniumTM。
在与任何先前方面可进行组合的另一方面中,AI模型是通过机器学习技术通过将关于过程的数据应用于算法来进行训练。
应当理解,根据本公开的方法可以包括本文所描述的方面和特征的任意组合。即,根据本公开的方法不限于本文具体地描述的方面和特征的组合,而是还可以包括所提供的方面和特征的任意组合。
本公开的一个或多个实施方式的细节在下文的附图和描述中进行阐述。本公开的其它特征和优点将从描述和附图中以及从权利要求中变得明显。
附图说明
图1描绘了用于生成自动化测试脚本的示例自动化测试脚本生成系统。
图2描绘了用于生成自动化测试脚本的示例AI模块。
图3示出了示例测试场景。
图4描绘了来自用于自动化测试脚本生成系统的示例UI(用户界面)的自动化测试脚本输出屏。
图5描绘了在测试脚本生成系统内所采用的用来生成自动化测试脚本的示例性过程的流程图。
图6示出了可以被用来实现在此描述的技术的计算设备和移动计算设备的示例。
具体实施方式
通常,测试用例(例如,测试场景)以自由流动语言的形式来进行描述,而没有任何明确定义的格式,并且以各方的自然语言或者约定语言(诸如,英语)来进行描述。因此,计算机程序很难将该信息转变为自动化测试脚本。此外,开发项目越来越多地使用以行为驱动开发(BDD)样式使用格式化语言(诸如,Gherkin)编写的测试场景。格式化语言允许指令在具有一定附加结构的情况下以传统书面语言(诸如,英语或者其它60多种语言中的一种)被编写为纯文本。这些格式化语言被设计为易于由非编程人员学习,但其结构足以允许对示例进行简洁描述以说明大多数现实世界领域中的业务规则。以这种方式,格式化语言可以被用来捕获要求并且限定测试场景。
通过示例,测试场景或者场景列表可以被包括在所谓的特征文件中,其中格式化语言(诸如,Gherkin)被用来以人类可读的方式编写场景。这种特征文件可以被用在针对自动化工具的自动化测试脚本的生成中。示例自动化工具包括:统一功能测试(UFT)、Tricentis ToscaTM、Worksoft CertifyTM、或者SeleniumTM。测试自动化工具提供可以被用来为每个测试场景提供支持软件结构(诸如,步骤定义)的框架。步骤定义用作骨架占位符,其中自动化代码块可以被实现。例如,给定场景中的每个步骤可以映射至步骤定义。自动化代码块针对每个步骤定义被实现并且当场景由测试框架运行时被执行。自动化代码块可以用各种编程语言(诸如,Ruby、C++、Java、Scala、Python等)来编写,基于系统要求来进行选择。一旦被生成,步骤定义和相应代码块就可以被称为自动化测试脚本。测试自动化工具为这些生成的脚本提供执行环境,这些生成的脚本可以被运行以进行验收和/或回归测试。
自动化测试脚本可以由开发者手动地实现或者自动地被生成。自动化测试脚本从测试场景的自动代码生成的困难之一在于,由于格式化语言(例如,Gherkin)的灵活性质,因此测试场景可以以许多不同的方式进行编写。例如,每个测试员可以用其自己的方式来描述测试的功能性或者功能。例如,“单击提交按钮”、“按下提交按钮”、或者“点击提交按钮”全都表示同一件事。另一问题在于,自动化测试脚本中的代码块可以是重复的,因此,自动化代码可能变得臃肿。附加地,可以被用在文件大部分内容中的自由形式的英语(或者任何其它语言)缺乏结构。例如,“登录到应用”和“输入用户名,输入密码,并且单击登录按钮”均表示相同的功能;只是一个是单个句子,而另一个是三个句子。然而,应该在这些示例中的每一个中生成相同的自动化代码块(脚本)。
鉴于前述内容,本公开的实施方式一般涉及基于用特定语言(诸如,英语)或者用格式化语言(诸如,Gherkin)以自由形式编写的测试场景来创建自动化测试脚本。系统基于自然语言处理技术来解析所提供的测试场景以利用任何相关数据来确定该场景的意图。例如,为了用用户名和密码登录到给定应用或者程序(诸如,网络应用),或者为了在网络应用中用某些信息集合来完成特定表格。系统使该意图与网络应用的所选页或者屏上的(多个)对象相互关联。一旦使意图和对象相互关联,系统就选择与指定自动化工具相对应的(多个)模板来生成用于所提供的场景的自动化测试脚本。一旦测试场景已经被转变为自动化测试脚本,测试场景就可以通过使用相应自动化测试脚本来频繁地进行测试并且被用在各种测试过程中。附加地,自动化测试脚本可能比手动版本更精确并且也可以被用于生成关于相应应用和/或测试的结果的报告。
图1描绘了用于生成自动化测试脚本的示例自动化测试脚本生成系统100。示例系统100包括一个或多个开发者110、应用代码库120、特征文件存储库122、上下文生成模块130、上下文存储库132、用户界面(UI)140、AI模块150、执行引擎(EE)160、以及报告引擎170。在所描绘的示例中,示例自动化测试脚本生成系统100可以被部署至任何专用计算机系统。示例系统可以使用任何合适数量和类型的计算设备的一个或多个计算设备来提供。这种计算设备的配置包括共享、虚拟、管理/专用、集群/网格、基于云的资源、和/或其任意组合。系统100通过UI 140提供对开发者110的访问,其可以通过网络(未被示出)进行访问。在所描绘的系统100中,开发者110可以分析对应用或者系统的要求,并且然后通过应用计算机科学和数学分析的理论和原理来设计、开发和测试软件。
在自动化测试脚本生成系统100内采用上下文生成模块130来生成用于应用代码库(诸如,应用代码库120)的UI内的每个页或者屏的上下文文件。应用代码库120表示包括UI的任何应用或者程序,诸如基于网络的应用或者企业工具。每个UI经由相应UI的各种屏和/或页来接受输入和提供输出。例如,网页可以在服务器或者虚拟服务器上被生成并且经由网络进行传送。网页可以由用户设备接收,并且由例如网络浏览器程序查看。
对于给定UI,上下文生成模块130基于针对每个页或者屏的上下文来解析和构建上下文框架。上下文生成模块130将该框架用作一种密钥以在逻辑上将每个页上的各种功能映射至执行规定动作的相应对象。这些对象被分组到对象映射中。针对每个页的上下文文件被生成。上下文文件包含针对相应页的所确定的对象映射。通过得到该对象上下文并且将所生成的对象映射存储在页级别,自动化测试脚本生成系统100可以通过使用针对对象的逻辑名称来缩小搜索范围来更快速地访问相关信息。例如,上下文文件根据页标识符和应用标识符在上下文存储库132中建立索引。上下文存储库132可以是在企业数据库服务器或者虚拟服务器上被实现的关系数据库(诸如,Oracle或者DB2)。
UI 140为用户(诸如,开发者110)提供对自动化测试脚本生成系统100的访问,并且更具体地是对由AI模块150提供的功能性的访问。UI 140包括一系列屏,这些屏可以被接收在用户设备上并且例如使用网络浏览器程序来查看。页可以在服务器或者虚拟服务器上被生成并且经由网络被传送。UI 140允许用户向AI模块150提供测试场景(例如,测试用例)。在一些实施方式中,测试场景被包括在用Gherkin编写的特征文件中。特征文件可以选自特征文件存储库,诸如,特征文件存储库122。特征文件存储器122可以是在企业数据库服务器或者虚拟服务器上被实现的关系数据库,诸如,Oracle或者DB2。在一些实施方式中,特征文件可以在本地被存储在用户的设备上或者被存储在通过网络可访问的一些其它位置处。用户从上下文存储库132中选择(多个)上下文文件来设置与测试场景有关的恰当上下文(例如,(多个)页和应用)。附加地,用户可以指定自动化工具,应该为该自动化工具生成(多个)自动化测试脚本。在图4的描述中对UI 140进行了更加详细的讨论。
AI模块150从所提供的测试场景和上下文文件中生成(多个)自动化测试脚本。AI模块150通过采用自然语言处理(NLP)技术来从每个测试场景提取预期交互(意图)和相关测试数据。意图与所提供的上下文文件中的(多个)恰当测试对象相互关联。例如,如果测试场景叙述“单击提交按钮”,则AI模块150解析自然语言并且得出上下文为“提交按钮”,AI模块150然后将该上下文映射至所提交的上下文文件的对象映射内的提交按钮对象。用于所选自动化工具的模板连同(多个)关联对象一起被应用于所提取的意图和数据以生成所产生的自动化测试脚本。在图2的描述中对AI模块150进行了更加详细的描述。
自动化测试脚本可以被推送到执行引擎160。执行引擎160包括自动脚本服务器,该自动脚本服务器运行在自动化测试脚本生成系统100内所采用的自动化工具/平台(诸如,统一功能测试(UFT)、Tricentis ToscaTM、Worksoft CertifyTM、或者SeleniumTM)。这种自动化工具被用来向利益相关者提供关于正被测试的软件产品或者服务(诸如,应用代码库120)的质量的信息。执行引擎160可以被部署在服务器或者虚拟服务器上。
报告引擎170向开发者110提供对报告特征的分析和访问。执行引擎160可以将执行所生成的自动化测试脚本得到的结果存留在报告数据库中。报告引擎170从被存储在报告数据库中的信息生成报告,该报告可以由开发者110审阅。这些报告提供关于系统在自动化测试脚本的执行期间的性能的细节并且可以包括处理时间、响应时间、以及所显示的任何警告消息。还可以生成统计报告,该统计报告总结系统的健康状况以及所选择的任何重要数据点。
图2描绘了用于生成自动化测试脚本的示例AI模块200。AI模块200大体上类似于图1的AI模块150。AI模块200包括NLP模块210、关联模块220、脚本生成模块230、AI模型232、以及模板存储库234。如上文关于图1所描述的,AI模块200基于测试场景的确定的意图和来自上下文文件的关联测试对象来生成自动化测试脚本以在特定工具中运行。
在所描绘的示例中,例如,AI模块200从UI(诸如,图1的UI 140)接收测试场景和上下文文件。NLP模块210接收输入并且解析测试场景。NLP可以被描述为计算机程序或者软件理解口头或者书面人类语言的能力。NLP使得AI程序(诸如,NLP模块210)可以通过分解相应句法来接收对话或者文本输入,以确定该输入的含义和/或确定恰当动作。NLP模块210可以采用NLP应用程序接口(API),诸如,Apache OpenNLPTM。
作为示例,NLP模块210读取来自所接收的测试场景的行或者行的集合,其可以被包含在特征文件中。NLP模块210确定(多个)句子的各种对象,这些对象被用来为测试场景中的指令提供上下文。基于该信息,NLP模块210确定针对每个所标识的对象的场景的意图。例如,场景可能读取“登录,输入用户名,输入密码,单击提交,进入导航。”NLP模块210提取用于该场景的各种意图(例如,“单击”、“登录”、以及“输入”)。一旦已经标识出意图,就可以通过关联模块220基于AI模型230使该意图与上下文文件中的(多个)对象相互关联。自定义动作也可以被训练到NLP模块210中以进行复杂描述。NLP模块210还为每个确定的意图标识任何相关联的数据,例如,用户名和密码。诸如文本解析、编译器、以及名称查找器等技术可以被用来标识测试场景内的自定义数据的提及,因为数据特定的词语可以在句子的任何部分中被提及。
关联模块220获取所标识的意图和任何相关联的数据,并且使该信息与上下文文件内的对象相互关联。关联模块220首先基于NPL处理生成用于意图的名称。该名称基于在测试场景中被提供的上下文,并且被称为逻辑名称。关联模块220搜索上下文文件中的对象映射以确定最佳匹配对象。例如,关于销售各种产品的网络应用的测试场景可以具有电影商店部段。测试场景(例如,登录到电影商店)可以将站点的该部段称为“DVD电影商店”。NLP模块210可以确定针对该场景的意图为“进入DVD电影商店”,其中“DVD电影商店”是被分配给对象的逻辑名称。关联模块220获取所分配的逻辑名称并且从上下文文件中搜索对象映射以查找具有与该逻辑名称相匹配或者是与该逻辑名称最接近的匹配的标识符的对象。该匹配基于确定的意图、对象的NLP、以及上下文文件中的任何对应数据(例如,标识符和/或相关联的参数)来确定。关联模块220使意图(例如,登录、输入、单击)与来自上下文文件的匹配的对象相互关联。对于电影商店示例,关联模块220可以返回与将用户带到站点的DVD电影商店部段的按钮或者链接相对应的对象,然后使该对象与场景的意图或者动作(例如,单击电影商店链接)相互关联。
脚本生成模块230基于来自所提供的场景的确定的意图和相关联的数据以及来自所提供的上下文文件的(多个)关联对象来生成自动化测试脚本。例如,确定的意图可以是基础级(单击、输入)或者业务处理级(登录、填写表格)。登录可能要求一系列步骤,诸如,1)输入用户名,2)输入密码,以及3)单击登录。另一示例可以是创建采购订单,这可能需要用多个步骤来填写表格。
为了生成文件,脚本生成模块230采用AI模型232。AI模型232通过一系列机器学习技术来进行训练,这些机器学习技术被应用于使用这些基础级和业务级步骤的算法。机器学习使模型构建自动化并且允许在没有明确编程的情况下发现见解。使用自动化和迭代算法,可以训练模型以找出数据内的高阶交互和模式。
为特定应用或者程序(诸如,图1的应用代码库120)训练AI模型232,以应用完成该应用内的各种任务或者过程所需要的(多个)动作。例如,AI模型232被训练为理解采购订单的含义、登录的含义、以及在特定应用或者程序内执行每一项的方式。在一些实施方式中,所提供的上下文文件被用来确定要采用的恰当AI模型,以构建所产生的自动化测试脚本。
脚本生成模块230从模板存储库234中选择(多个)脚本模板。模板存储库234可以是在企业数据库服务器或者虚拟服务器上被实现的关系数据库,诸如Oracle或者DB2。在一些实施方式中,脚本模板是用于自动化的标准化形式,其可以被用在关键词驱动框架、数据驱动框架和/或混合自动化框架中。在一些实施方式中,脚本模板是由自动化工具(诸如,Tricentis ToscaTM)定义的标准或者专有模板。脚本模板基于正在为其生成自动化测试脚本的自动化工具(例如,UFT、Tricentis ToscaTM、Worksoft CertifyTM、或者SeleniumTM)来选择。基于AI模型,脚本生成模块230确定执行正被测试的UI的相应页中的关联对象的确定的意图的(多个)动作。脚本生成模块230通过将所选模板应用于针对意图和关联对象的确定的动作、从所提供的测试场景读取的数据、以及来自测试场景(例如,特征文件)的步骤定义来生成自动化脚本。数据也可以从配置或者属性文件中被读取。除非在测试场景中提供了特定信息,否则该数据可以被用作默认数据。在一些实例中,动作可能不要求任何附加数据。例如,当仅仅跟随链接或者单击UI内的特定页的按钮时。
在一些示例中,AI模型232可能不能够确定针对确定的意图和(多个)关联对象要采取的动作。相应地,AI模型232可以在所生成的测试脚本中针对该(多个)特定动作使用占位符。AI模块232然后可以被重新训练以正确地确定该(多个)动作。一旦AI模型232已经被重新训练,占位符就可以由恰当代码和数据替换。一旦被生成,自动化测试脚本就被提供至执行引擎160,如在图1中所描述的。
图3示出了示例性测试场景。所描绘的示例是特征文件,并且场景是使用Gherkin来捕获的。与YAML或者Python一样,Gherkin是一种使用缩进来定义结构的面向行的语言。行尾结束符号使语句终止(称为步骤)并且可以使用空格或者制表符来用于缩进。Gherkin中的大多数行都是以特殊关键词开始的。在Gherkin中使用的主要关键词有:特征;场景;给定;当、然后、和、但(步骤);背景;场景概述;以及示例。Gherkin解析器将输入划分成特征、场景、以及步骤。附加地,Gherkin支持多种语言,诸如,英语和法语,这允许所捕获的场景使用来自所选语言的本地化关键词。在图3中所描绘的示例反映了在特定供应商的网站上申请信用卡的示例场景。
图4描绘了来自用于自动化测试脚本生成系统100的示例UI的自动化测试脚本输出屏400。输出屏400包括图形形式元素,该图形形式元素包括执行引擎选择接口402(例如,项目符号列表)、应用代码库选择接口404(例如,下拉菜单)、上下文文件选择接口406(例如,下拉菜单)、特征文件源(FFS)选择接口408(例如,项目符号列表)、加载按钮410、生成按钮420、下载按钮422、保存按钮424、推送按钮426、所选特征文件区域430、以及生成的脚本区域432。
执行引擎选择接口402提供由自动化测试脚本生成系统100支持的自动化工具列表(诸如,UFT、Tricentis ToscaTM、Worksoft CertifyTM、或者SeleniumTM),并且使得用户能够选择为其生成自动化测试脚本的特定自动化工具。如果用户选择生成按钮220,则自动化测试脚本生成系统100使用所选自动化工具来确定一旦已经确定了意图和对象关联后该应用哪个模板。
应用代码库选择接口404提供用户可以从其中选择的代码库列表。代码库列表中填充有代码库,其中,已经解析了相应UI的页面并且由自动化测试脚本生成系统100生成了上下文文件。所选数据库被用来填充上下文文件选择接口406。
上下文文件选择接口406提供上下文文件列表。上下文文件列表从基于所选应用代码库查询的上下文存储库132来进行填充。如果用户选择生成按钮220,则自动化测试脚本生成系统100使用所选上下文文件来确定对象映射以关联至从所提供的测试场景(在所选特征文件中)确定出的意图。
特征文件源选择接口408提供从其中搜索特征文件的源位置列表,并且使得用户能够选择要搜索的特定位置。如果用户决定加载特征文件,则用户选择(例如,单击)加载按钮410。在一些实施方式中,当用户选择加载按钮410时,选择窗口或者列表框(未被示出)表现为填充有用于所选代码库并且来自所选位置的特征文件的叠加层。当用户从选择窗口选择特征文件时,特征文件(其包含(多个)测试场景)被加载并且显示在所选特征文件区域430中。
如果用户决定使用所选特征文件和上下文文件来生成用于所选自动化工具的自动化脚本,则用户选择生成按钮420。当用户选择生成按钮420时,向自动化测试脚本生成系统100提供所选信息(例如,自动化工具、特征文件、以及上下文文件)。自动化测试脚本生成系统100使用该信息来生成如上文在图1和图2中所描述的自动化测试脚本(同样参见下文针对图5的描述)。所生成的测试脚本被加载并且显示在所选生成脚本区域432中。
一旦自动化测试脚本已经被加载到所选生成脚本区域432中,用户就可以与下载按钮422、保存按钮424、以及/或者推送按钮426进行交互。在一些实施方式中,这些按钮可能被禁用(例如,被灰化),直到所选生成脚本区域432被填充为止。如果用户决定下载所生成的测试脚本,则用户选择下载按钮422。在一些实施方式中,当用户选择下载按钮422时,选择窗口表现为叠加层,其具有来自访问测试脚本输出屏400的用户设备的文件系统的位置。当用户选择该文件系统中的位置时,测试脚本被下载至所选位置。如果用户决定保存所生成的测试脚本,则用户选择保存按钮424。当用户选择保存按钮424时,所生成的测试脚本被保存至被用来访问测试脚本输出屏400的用户配置文件。所保存的测试脚本可以在不同屏(未被示出)上被访问。如果用户决定将所生成的测试脚本推送到执行引擎160,则用户选择推送按钮426。当用户选择推送按钮426时,所生成的测试脚本被上传至执行引擎160,其在此处如上文参照图1所描述的那样被执行。
图5描绘了在测试脚本生成系统(诸如,测试脚本生成系统100)内所采用的用来生成自动化测试脚本的示例过程(500)的流程图。上下文生成模块解析应用代码库的页或者屏并且生成(502)用于每一页的上下文文件。上下文文件被存留(504)在上下文存储库中。每个上下文文件包括用于在相应页/屏中发现的对象(例如,元素)的对象映射。测试脚本生成系统通过被应用于算法关联模块的一系列机器学习技术来训练(506)用于应用代码库的AI模型。AI模块从UI接收(508)可以被包括在特征文件内的所选上下文文件、所选自动化工具、以及测试场景。NLP模块解析测试场景以确定(510)用于相应测试用例的意图和相关联的数据。关联模块使确定的意图与来自所选上下文文件中的对象映射的(多个)对象相互关联(512)。脚本生成模块基于所选自动化工具从模板存储库中选择(514)脚本模板。脚本生成模块基于所选模板、确定的意图、相关联的数据、以及(多个)关联对象来生成(516)自动化测试脚本。AI模块将所生成的脚本推送到(518)执行引擎。执行引擎基于当前系统设置来运行(520)所生成的自动化测试脚本,并且该过程结束。
图6示出了可以被用来实现在此描述的技术的计算设备600和移动计算设备650的示例。计算设备600旨在代表各种形式的数字计算机,诸如,膝上型电脑、台式机、工作站、个人数码助理、服务器、刀片服务器、大型主机、以及其它恰当计算机。移动计算设备650旨在代表各种形式的移动设备,诸如,个人数码助理、蜂窝电话、智能电话、以及其它相似计算设备。附加地,计算设备600或者650可以包括通用串行总线(USB)闪存驱动器。USB闪存驱动器可以存储操作系统和其它应用。USB闪存驱动器可以包括输入/输出组件,诸如,无线发射器或者可以被插入到另一计算设备中的USB端口中的USB连接器。在此所示出的组件、其连接和关系、以及其功能都仅仅意在是示例,并且不意在具有限制性。
计算设备600包括处理器602、存储器604、存储设备606、连接至存储器604和多个高速扩展端口610的高速接口608、以及连接至低速扩展端口614和存储设备606的低速接口612。处理器602、存储器604、存储设备606、高速接口608、高速扩展端口610、以及低速接口612中的每一个使用各种总线来互相连接,并且可以被安装在公共母板上或者视情况而定按其它方式进行安装。处理器602可以处理用于在计算设备600内执行的指令,包括被存储在存储器604中或者存储设备606上的指令,以将用于GUI的图形信息显示在外部输入/输出设备(诸如,被耦合至高速接口608的显示器616)上。在其它实施方式中,视情况而定,多个处理器和/或多条总线可以连同多个存储器和多种类型的存储器一起来使用。同样,可以连接多个计算设备,其中,每个设备提供所需操作的部分(例如,作为服务器库、一组刀片服务器、或者多处理器系统)。
存储器604在计算设备600内存储信息。在一些实施方式中,存储器604是易失性存储器单元或者多个易失性存储器单元。在一些实施方式中,存储器604是非易失性存储器单元或者多个非易失性存储器单元。存储器604还可以是另一种形式的计算机可读介质,诸如,磁盘或者光盘。
存储设备606能够提供用于计算设备600的大容量存储。在一些实施方式中,存储设备606可以是或者包含计算机可读介质,诸如,软盘设备、硬盘设备、光盘设备、或者磁带设备、闪速存储器或者其它相似固态存储器设备、或者设备的阵列(包括存储区域网络中的设备或者其它配置)。指令可以被存储在信息载体中。指令在由一个或多个处理设备(例如,处理器602)执行时执行一个或多个方法,诸如,上文所描述的那些方法。指令也可以由诸如计算机或者机器可读介质(例如,存储器604、存储设备606、或者处理器602上的存储器)等一个或多个存储设备存储。
高速接口608管理用于计算设备600的带宽密集型操作,而低速接口612管理较低的带宽密集型操作。这种功能分配仅仅是示例。在一些实施方式中,高速接口608被耦合至存储器604、显示器616(例如,通过图形处理器或者加速器)、以及高速扩展端口610(其可以接受各种扩展卡)。在该实施方式中,低速接口612被耦合至存储设备606和低速扩展端口614。低速扩展端口614(其可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网))可以被耦合至一个或多个输入/输出设备。这种输入/输出设备可以包括扫描仪630、打印设备634、或者键盘或鼠标636。输入/输出设备还可以通过网络适配器被耦合至低速扩展端口614。例如,这种网络输入/输出设备可以包括交换机或者路由器632。
计算设备600可以以多种不同形式来实现,如在图6中所示出的。例如,计算设备600可以被实现为标准服务器620、或者在一组这种服务器中被多次实现。另外,计算设备600可以在诸如膝上型计算机622等个人计算机中被实现。计算设备600还可以被实现为机架式服务器系统624的一部分。备选地,来自计算设备600的组件可以与移动设备(诸如,移动计算设备650)中的其它组件进行组合。这些设备中的每一个可以包含计算设备600和移动计算设备650中的一个或多个,并且整个系统可以由彼此通信的多个计算设备组成。
移动计算设备650包括处理器652、存储器664、输入/输出设备(诸如,显示器654)、通信接口666、以及收发器668,以及其它组件。移动计算设备650还可以设置有存储设备(诸如,微型驱动器或者其它设备)以提供附加存储。处理器652、存储器664、显示器654、通信接口666、以及收发器668中的每一个使用各种总线来互相连接,并且几个组件可以被安装在公共母板上或者视情况而定按其它方式进行安装。
处理器652可以执行移动计算设备650内的指令,包括被存储在存储器664中的指令。处理器652可以被实现为包括单独和多个模拟和数字处理器的多个芯片的芯片集。例如,处理器652可以是复杂指令集计算机(CISC)处理器、精简指令集计算机(RISC)处理器、或者最小指令集计算机(MISC)处理器。例如,处理器652可以提供用于移动计算设备650的其它组件的协调,诸如,用户界面的控制、由移动计算设备650运行的应用、以及由移动计算设备650的无线通信。
处理器652可以通过控制接口658和被耦合至显示器654的显示接口656与用户通信。例如,显示器654可以是薄膜晶体管液晶显示(TFT)显示器或者有机发光二极管(OLED)显示器、或者其它恰当的显示技术。显示接口656可以包括用于驱动显示器654以向用户呈现图形和其它信息的恰当电路。控制接口658可以从用户接收命令并且将其转化以供提交至处理器652。另外,外部接口662可以提供与处理器652的通信,以便支持移动计算设备650与其它设备的近场通信。例如,外部接口662可以在一些实施方式中提供有线通信,或者在其它实施方式中提供无线通信,并且还可以使用多个接口。
存储器664在移动计算设备650内存储信息。存储器664可以被实现为以下一个或多个:计算机可读介质或者多种计算机可读介质、易失性存储器单元或者多个易失性存储器单元、或者非易失性存储器单元或者多个非易失性存储器单元。扩展存储器674也可以被提供并且通过扩展接口672被连接至移动计算设备650,例如,扩展接口672可以包括单列直插式内存模块(SIMM)卡接口。扩展存储器674可以提供用于移动计算设备650的额外存储空间,或者也可以存储用于移动计算设备650的应用或者其它信息。具体地,扩展存储器674可以包括用来执行或者补充上文所描述的过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器674可以被提供作为用于移动计算设备650的安全模块,并且可以用允许安全使用移动计算设备650的指令进行编程。另外,可以连同附加信息一起经由SIMM卡来提供安全应用,诸如,按照不可破解的方式在SIMM卡上放置标识信息。
例如,存储器可以包括闪速存储器和/或非易失性随机存取存储器(NVRAM),如下文所讨论的。在一些实施方式中,指令被存储在信息载体中。指令在由一个或多个处理设备(例如,处理器652)执行时执行一个或多个方法,诸如,上文所描述的那些方法。指令还可以由诸如一个或多个计算机或者机器可读介质(例如,存储器664、扩展存储器674、或者处理器652上的存储器)等一个或多个存储设备存储。在一些实施方式中,例如,指令可以通过收发器668或者外部接口662以传播信号被接收。
移动计算设备650可以通过通信接口666无线地通信,通信接口666在必要时可以包括数字信号处理电路。通信接口666可以在各种模式或者协议下提供通信,诸如,全球移动通信系统(GSM)语音通话、短消息服务(SMS)、增强型消息传送服务(EMS)、或者多媒体消息传送服务(MMS)消息传送、码分多址(CDMA)、时分多址(TDMA)、个人数字蜂窝(PDC)、宽带码分多址(WCDMA)、CDMA2000、或者通用分组无线电服务(GPRS)等。例如,这种通信可以通过使用无线电频率的收发器668来发生。另外,短距离通信可以使用诸如蓝牙、Wi-Fi、或者其它这种收发器来发生。另外,全球定位系统(GPS)接收器模块670可以向移动计算设备650提供附加导航和位置相关无线数据,在移动计算设备650上运行的应用视情况而定可以使用该附加导航和位置相关无线数据。
移动计算设备650还可以使用音频编解码器660可听地进行通信,音频编解码器660可以接收来自用户的语音信息并且将其转化为可用的数字信息。音频编解码器660同样可以生成针对用户的可听声音,诸如,通过扬声器(例如,在移动计算设备650的听筒中)。这种声音可以包括来自语音电话呼叫的声音,可以包括录制的声音(例如,语音消息、音乐文件等),并且还可以包括由在移动计算设备650上操作的应用生成的声音。
移动计算设备650可以以多种不同形式来实现,如在附图中所示出的。例如,移动计算设备650可以被实现为蜂窝电话680。移动计算设备650还可以被实现为智能电话、个人数码助理、或者其它相似移动设备的部分。
在此描述的系统和技术的各种实施方式可以在数字电子电路、集成电路、专门设计的专用集成电路(ASIC)、计算机硬件、固件、软件、和/或其组合中被实现。这些各种实施方式可以包括在一个或多个计算机程序中的实施方式,该一个或多个计算机程序在可编程系统上可执行和/或可解释,可编程系统包括至少一个可编程处理器(其可以是专用的或者是通用的),至少一个可编程处理器被耦合用来从存储系统、至少一个输入设备、以及至少一个输出设备接收数据和指令并且向其传送数据和指令。
这些计算机程序(也被称为程序、软件、软件应用或者代码)包括用于可编程处理器的机器指令,并且可以用高级程序化和/或面向对象的程序语言、和/或用汇编语言/机器语言来实现。如本文所使用的,术语“机器可读介质”和“计算机可读介质”指的是被用来向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(PLD)),包括接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是被用来向可编程处理器提供机器指令和/或数据的任何信号。
为了提供与用户的交互,在此描述的系统和技术可以在计算机上被实现,该计算机具有用于向用户显示信息的显示设备(例如,阴极射线管(CRT)或者液晶显示(LCD)监视器)以及用户可以用来向计算机提供输入的键盘和定点设备(例如,鼠标或者追踪球)。其它种类的设备也可以被用来提供与用户的交互;例如,被提供给用户的反馈可以是任何形式的感觉反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);以及来自用户的输入可以以任何形式被接收,包括声音输入、语音输入、或者触觉输入。
在此描述的系统和技术可以在计算系统中被实现,该计算系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,具有图形用户界面或者网络浏览器的客户端计算机,用户可以通过该客户端计算机与在此描述的系统和技术的实施方式进行交互),或者这些后端组件、中间件组件或者前端组件的任意组合。系统的组件可以通过数字数据通信的任何形式或者介质(例如,通信网络)来互相连接。通信网络的示例包括局域网(LAN)、广域网(WAN)、以及因特网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离并且典型地通过通信网络进行交互。客户端和服务器的关系是凭借在相应计算机上运行的并且彼此具有客户端-服务器关系的计算机程序来产生。
尽管上文已经详细地描述了一些实施方式,但其它修改也是可能的。例如,尽管客户端应用被描述为访问(多个)代理,但在其它实施方式中,(多个)代理可以由一个或多个处理器所实现的其它应用(诸如,在一个或多个服务器上执行的应用)采用。另外,附图中所描绘的逻辑流不要求所示出的特定顺序、或者相继顺序来实现期望结果。另外,可以提供其它动作,或者可以从所描述的流中消除一些动作,并且其它组件可以被添加至所描述的系统或者从其上被移除。相应地,其它实施方式也在以下权利要求的范围内。
Claims (20)
1.一种由一个或多个处理器执行的计算机实现的方法,所述方法包括:
接收上下文文件、测试场景、以及通过用户界面而被选择的所选自动化工具,所述上下文文件包括对象映射,所述对象映射包括与针对应用的显示页的相应组件相互关联的对象,所述测试场景描述针对所述应用的测试用例,所述测试用例涉及与所述显示页上的所述组件中至少一个组件的预期交互;
使与所述至少一个组件的所述预期交互同所述对象映射中的对应对象相互关联;
通过人工智能(AI)模型来处理所述预期交互和所述对应对象,所述AI模型使用训练数据来进行训练,所述训练数据包括由所述显示页的所述组件所支持的多个过程和相应过程步骤;
基于所述处理和所述所选自动化工具来确定脚本模板;
基于所述处理将所述脚本模板应用于所述预期交互和所关联的所述对象,来为所述所选自动化工具生成自动化测试脚本;以及
执行所述自动化测试脚本以测试支持所述测试场景的所述显示页的一个或多个功能。
2.根据权利要求1所述的方法,其中所述测试场景包括被用于所述预期交互的场景数据,并且其中所述自动化测试脚本是通过将所述脚本模板应用于所述场景数据来生成的。
3.根据权利要求1所述的方法,进一步包括:
通过自然语言处理技术来解析所述测试场景以确定所述预期交互。
4.根据权利要求1所述的方法,其中所述测试场景被包括在以Gherkin编写的特征文件中。
5.根据权利要求1所述的方法,其中所述上下文文件通过以下来生成:
解析所述显示页以标识所述组件,以及
在逻辑上将所述组件映射至相应对象。
6.根据权利要求1所述的方法,其中所述自动化测试脚本利用针对所述预期交互的默认值来生成。
7.根据权利要求1所述的方法,其中所述自动化测试脚本被生成为包括占位符数据,其中所述AI模型被重新训练以利用恰当脚本代码来替换所述占位符数据,并且其中通过以所述AI模型来处理所述自动化测试脚本,利用所述恰当脚本代码来替换所述占位符数据。
8.根据权利要求1所述的方法,其中所述所选自动化工具是以下中的一个:统一功能测试(UFT)、Tricentis ToscaTM、Worksoft CertifyTM、或者SeleniumTM。
9.根据权利要求1所述的方法,其中所述AI模型通过机器学习技术通过将关于所述过程的数据应用于算法来进行训练。
10.一个或多个非暂时性计算机可读存储介质,所述一个或多个非暂时性计算机可读存储介质被耦合至一个或多个处理器并且具有被存储在其上的指令,所述指令在由所述一个或多个处理器执行时使得所述一个或多个处理器执行包括以下的操作:
接收上下文文件、测试场景、以及通过用户界面而被选择的所选自动化工具,所述上下文文件包括对象映射,所述对象映射包括与针对应用的显示页的相应组件相互关联的对象,所述测试场景描述针对所述应用的测试用例,所述测试用例涉及与所述显示页上的所述组件中至少一个组件的预期交互;
使与所述至少一个组件的所述预期交互同所述对象映射中的对应对象相互关联;
通过人工智能(AI)模型来处理所述预期交互和所述对应对象,所述AI模型使用训练数据来进行训练,所述训练数据包括由所述显示页的所述组件所支持的多个过程和相应过程步骤;
基于所述处理和所述所选自动化工具来确定脚本模板;
基于所述处理将所述脚本模板应用于所述预期交互和所关联的所述对象,来为所述所选自动化工具生成自动化测试脚本;以及
执行所述自动化测试脚本以测试支持所述测试场景的所述显示页的一个或多个功能。
11.根据权利要求10所述的一个或多个非暂时性计算机可读存储介质,其中所述测试场景包括被用于所述预期交互的场景数据,并且其中所述自动化测试脚本是通过将所述脚本模板应用于所述场景数据来生成的。
12.根据权利要求10所述的一个或多个非暂时性计算机可读存储介质,其中所述操作进一步包括:
通过自然语言处理技术来解析所述测试场景以确定所述预期交互。
13.根据权利要求10所述的一个或多个非暂时性计算机可读存储介质,其中所述测试场景被包括在以Gherkin编写的特征文件中。
14.根据权利要求10所述的一个或多个非暂时性计算机可读存储介质,其中所述上下文文件通过以下来生成:
解析所述显示页以标识所述组件,以及
在逻辑上将所述组件映射至相应对象。
15.一种系统,所述系统包括:
一个或多个处理器;以及
计算机可读存储设备,所述计算机可读存储设备被耦合至一个或多个处理器并且具有被存储在其上的指令,所述指令在由所述一个或多个处理器执行时使得所述一个或多个处理器执行包括以下的操作:
接收上下文文件、测试场景、以及通过用户界面而被选择的所选自动化工具,所述上下文文件包括对象映射,所述对象映射包括与针对应用的显示页的相应组件相互关联的对象,所述测试场景描述针对所述应用的测试用例,所述测试用例涉及与所述显示页上的所述组件中至少一个组件的预期交互;
使与所述至少一个组件的所述预期交互同所述对象映射中的对应对象相互关联;
通过人工智能(AI)模型来处理所述预期交互和所述对应对象,所述AI模型使用训练数据来进行训练,所述训练数据包括由所述显示页的所述组件支持的多个过程和相应过程步骤;
基于所述处理和所述所选自动化工具来确定脚本模板;
基于所述处理将所述脚本模板应用于所述预期交互和所关联的所述对象,来为所述所选自动化工具生成自动化测试脚本;以及
执行所述自动化测试脚本以测试支持所述测试场景的所述显示页的一个或多个功能。
16.根据权利要求15所述的系统,其中所述自动化测试脚本利用针对所述预期交互的默认值来生成。
17.根据权利要求15所述的系统,其中所述自动化测试脚本被生成为包括占位符数据,其中所述AI模型被重新训练以利用恰当脚本代码来替换所述占位符数据,并且其中通过以所述AI模型来处理所述自动化测试脚本,利用所述恰当脚本代码来替换所述占位符数据。
18.根据权利要求15所述的系统,其中所述所选自动化工具是以下中的一个:统一功能测试(UFT)、Tricentis ToscaTM、Worksoft CertifyTM、或者SeleniumTM。
19.根据权利要求15所述的系统,其中所述AI模型通过机器学习技术通过将关于所述过程的数据应用于算法来进行训练。
20.根据权利要求15所述的系统,其中所述测试场景包括被用于所述预期交互的场景数据,并且其中所述自动化测试脚本是通过将所述脚本模板应用于所述场景数据来生成的。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/867,293 | 2018-01-10 | ||
US15/867,293 US10642721B2 (en) | 2018-01-10 | 2018-01-10 | Generation of automated testing scripts by converting manual test cases |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110018955A CN110018955A (zh) | 2019-07-16 |
CN110018955B true CN110018955B (zh) | 2022-06-03 |
Family
ID=64959239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910015120.1A Active CN110018955B (zh) | 2018-01-10 | 2019-01-08 | 通过转换手动测试用例来生成自动化测试脚本 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10642721B2 (zh) |
EP (1) | EP3511836A1 (zh) |
CN (1) | CN110018955B (zh) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10860530B2 (en) * | 2017-03-14 | 2020-12-08 | Wipro Limited | Method and system for migrating automation assets in an enterprise system |
US10073763B1 (en) | 2017-12-27 | 2018-09-11 | Accenture Global Solutions Limited | Touchless testing platform |
US11086765B2 (en) * | 2018-02-02 | 2021-08-10 | Jpmorgan Chase Bank, N.A. | Test reuse exchange and automation system and method |
EP3547143B1 (en) * | 2018-03-27 | 2022-06-01 | Siemens Aktiengesellschaft | System and method for model-based and behaviour-driven testing |
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 |
US11182273B1 (en) * | 2018-08-24 | 2021-11-23 | Intuit, Inc. | Application testing using automatically generated test cases |
US10691584B2 (en) * | 2018-09-28 | 2020-06-23 | Sap Se | Behavior driven development integration with test tool |
US20200104247A1 (en) * | 2018-09-29 | 2020-04-02 | Wipro Limited | Method and system for uninterrupted automated testing of end-user application |
CN110362492A (zh) * | 2019-07-18 | 2019-10-22 | 腾讯科技(深圳)有限公司 | 人工智能算法测试方法、装置、服务器、终端及存储介质 |
CN110456766B (zh) * | 2019-07-30 | 2021-03-23 | 北京经纬恒润科技股份有限公司 | 一种生成分析用例的方法及装置 |
US11256608B2 (en) * | 2019-08-06 | 2022-02-22 | Red Hat, Inc. | Generating test plans for testing computer products based on product usage data |
CN110515811A (zh) * | 2019-08-09 | 2019-11-29 | 中国信息通信研究院 | 终端人工智能性能基准测试方法及装置 |
CN110908894B (zh) * | 2019-10-11 | 2022-04-05 | 苏宁云计算有限公司 | 一种基于vuex的可视化报表工具自动化测试方法及装置 |
US10983904B1 (en) * | 2019-11-06 | 2021-04-20 | Accenture Global Solutions Limited | Test automation for data processing |
CN112925698B (zh) * | 2019-11-20 | 2023-11-28 | 大唐移动通信设备有限公司 | 一种测试脚本生成方法和集成开发环境 |
CN111314122A (zh) * | 2020-02-04 | 2020-06-19 | 中国银联股份有限公司 | 一种自动化运维方法及装置 |
CN111400193B (zh) * | 2020-04-10 | 2024-02-23 | 广东美的暖通设备有限公司 | 测试用例生成方法、装置、设备及存储介质 |
EP3905051A1 (en) | 2020-04-16 | 2021-11-03 | Tata Consultancy Services Limited | Method and system for automated generation of test scenarios and automation scripts |
CN111651365B (zh) * | 2020-07-01 | 2024-04-19 | 中国银行股份有限公司 | 接口自动化测试方法及装置 |
CN111897664A (zh) * | 2020-08-03 | 2020-11-06 | 中关村科学城城市大脑股份有限公司 | 应用于城市大脑的ai算法和ai模型的调配系统及方法 |
CN112115043B (zh) * | 2020-08-12 | 2021-10-08 | 浙江大学 | 一种基于图像的端上智能化页面质量巡检方法 |
CN112100359A (zh) * | 2020-10-14 | 2020-12-18 | 北京嘀嘀无限科技发展有限公司 | 测试用例查找方法、装置、设备及存储介质 |
CN112445711A (zh) * | 2020-12-07 | 2021-03-05 | 视若飞信息科技(上海)有限公司 | 一种基于Web网页可视化拖拽生成模拟测试场景的测试方法 |
CN112685318A (zh) * | 2021-01-07 | 2021-04-20 | 广州三星通信技术研究有限公司 | 产生测试脚本的方法和系统 |
CN112732589A (zh) * | 2021-02-19 | 2021-04-30 | 京东数科海益信息科技有限公司 | 控件测试方法、装置、设备及存储介质 |
US20220269586A1 (en) * | 2021-02-24 | 2022-08-25 | Applause App Quality, Inc. | Systems and methods for automating test and validity |
TWI811663B (zh) * | 2021-04-14 | 2023-08-11 | 國立臺灣大學 | 軟體測試報告產生方法及裝置 |
US11687441B2 (en) * | 2021-07-08 | 2023-06-27 | Bank Of America Corporation | Intelligent dynamic web service testing apparatus in a continuous integration and delivery environment |
CN113672520A (zh) * | 2021-09-08 | 2021-11-19 | 京东科技控股股份有限公司 | 测试案例的生成方法、装置、电子设备及存储介质 |
CN116701811B (zh) * | 2023-08-02 | 2024-02-27 | 腾讯科技(深圳)有限公司 | 一种网页处理方法、装置、设备及计算机可读存储介质 |
CN116909533B (zh) * | 2023-09-13 | 2024-01-26 | 北京安锐卓越信息技术股份有限公司 | 计算机程序语句编辑方法、装置、存储介质及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101212362A (zh) * | 2006-12-26 | 2008-07-02 | 中兴通讯股份有限公司 | 一种融合多类型测试工具的自动化测试装置及方法 |
US9021440B1 (en) * | 2014-08-11 | 2015-04-28 | Pmc-Sierra Us, Inc. | System and method for automated test script generation |
CN106371994A (zh) * | 2016-09-04 | 2017-02-01 | 南京理工大学 | 基于自然语言处理的动态移动app测试方法 |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7007251B2 (en) | 2003-11-12 | 2006-02-28 | International Business Machines Corporation | Database mining system and method for coverage analysis of functional verification of integrated circuit designs |
US7673292B2 (en) * | 2005-01-11 | 2010-03-02 | International Business Machines Corporation | Auto conversion of tests between different functional testing tools |
US8464188B1 (en) * | 2005-08-23 | 2013-06-11 | The Mathworks, Inc. | Multi-rate hierarchical state diagrams |
US7676077B2 (en) | 2005-11-18 | 2010-03-09 | Kla-Tencor Technologies Corp. | Methods and systems for utilizing design data in combination with inspection data |
US9189254B2 (en) * | 2009-10-02 | 2015-11-17 | Massachusetts Institute Of Technology | Translating text to, merging, and optimizing graphical user interface tasks |
US8825447B2 (en) | 2011-01-28 | 2014-09-02 | Accenture Global Services Limited | Automatic correlation accelerator |
US9047414B1 (en) * | 2011-03-15 | 2015-06-02 | Symantec Corporation | Method and apparatus for generating automated test case scripts from natural language test cases |
CA2773930C (en) | 2011-04-12 | 2017-03-07 | Accenture Global Services Limited | Prioritization and assignment manager for an integrated testing platform |
US9032360B1 (en) | 2011-05-08 | 2015-05-12 | Panaya Ltd. | Selecting a test scenario template based on similarity of testing profiles belonging to different organizations |
US20130074051A1 (en) | 2011-09-20 | 2013-03-21 | National Ict Australia Limited | Tracking and analysis of usage of a software product |
US9038026B2 (en) * | 2011-10-17 | 2015-05-19 | International Business Machines Corporation | System and method for automating test automation |
US9003135B2 (en) | 2013-01-15 | 2015-04-07 | International Business Machines Corporation | Efficient allocation and reclamation of thin-provisioned storage |
US20140380280A1 (en) | 2013-06-25 | 2014-12-25 | International Business Machines Corporation | Debugging tool with predictive fault location |
US9519477B2 (en) | 2013-09-16 | 2016-12-13 | International Business Machines Corporation | Automatic pre-detection of potential coding issues and recommendation for resolution actions |
DE102013224378A1 (de) | 2013-09-18 | 2015-03-19 | Rohde & Schwarz Gmbh & Co. Kg | Automatisierte Auswertung von Testprotokollen im Telekommunikationsbereich |
US20150227452A1 (en) * | 2014-02-12 | 2015-08-13 | Wipro Limited | System and method for testing software applications |
US9355016B2 (en) | 2014-03-05 | 2016-05-31 | Microsoft Technology Licensing, Llc | Automated regression testing for software applications |
US9471470B2 (en) | 2014-06-25 | 2016-10-18 | Hcl Technologies Ltd | Automatically recommending test suite from historical data based on randomized evolutionary techniques |
US10318882B2 (en) * | 2014-09-11 | 2019-06-11 | Amazon Technologies, Inc. | Optimized training of linear machine learning models |
US11100420B2 (en) * | 2014-06-30 | 2021-08-24 | Amazon Technologies, Inc. | Input processing for machine learning |
US10452992B2 (en) * | 2014-06-30 | 2019-10-22 | Amazon Technologies, Inc. | Interactive interfaces for machine learning model evaluations |
US9348739B2 (en) | 2014-07-10 | 2016-05-24 | International Business Machines Corporation | Extraction of problem diagnostic knowledge from test cases |
US20160077956A1 (en) | 2014-09-11 | 2016-03-17 | Wipro Limited | System and method for automating testing of software |
US9864674B2 (en) * | 2015-01-23 | 2018-01-09 | Accenture Global Services Limited | Test case generation system |
US20170004064A1 (en) * | 2015-06-30 | 2017-01-05 | Sap Se | Actions test automation |
US10176426B2 (en) | 2015-07-07 | 2019-01-08 | International Business Machines Corporation | Predictive model scoring to optimize test case order in real time |
US9720813B2 (en) | 2015-08-13 | 2017-08-01 | Ca, Inc. | Method and apparatus for recommending regression tests |
US20170212829A1 (en) | 2016-01-21 | 2017-07-27 | American Software Safety Reliability Company | Deep Learning Source Code Analyzer and Repairer |
US10289535B2 (en) | 2016-05-31 | 2019-05-14 | Accenture Global Solutions Limited | Software testing integration |
US10108535B2 (en) * | 2016-07-08 | 2018-10-23 | Accenture Global Solutions Limited | Web application test script generation to test software functionality |
US10122866B2 (en) | 2016-09-02 | 2018-11-06 | Ricoh Company, Ltd. | Automated test suite mechanism |
US10114738B2 (en) * | 2017-03-16 | 2018-10-30 | Wipro Limited | Method and system for automatic generation of test script |
US10884906B2 (en) * | 2017-06-23 | 2021-01-05 | Ge Aviation Systems Llc | Generating scripts that facilitate execution of tasks within different run-time environments that utilize different languages and syntax |
US10528458B2 (en) | 2017-08-31 | 2020-01-07 | Micro Focus Llc | Continuous integration and continuous deployment system failure analysis and resolution |
US10073763B1 (en) | 2017-12-27 | 2018-09-11 | Accenture Global Solutions Limited | Touchless testing platform |
-
2018
- 2018-01-10 US US15/867,293 patent/US10642721B2/en active Active
-
2019
- 2019-01-03 EP EP19150223.6A patent/EP3511836A1/en not_active Ceased
- 2019-01-08 CN CN201910015120.1A patent/CN110018955B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101212362A (zh) * | 2006-12-26 | 2008-07-02 | 中兴通讯股份有限公司 | 一种融合多类型测试工具的自动化测试装置及方法 |
US9021440B1 (en) * | 2014-08-11 | 2015-04-28 | Pmc-Sierra Us, Inc. | System and method for automated test script generation |
CN106371994A (zh) * | 2016-09-04 | 2017-02-01 | 南京理工大学 | 基于自然语言处理的动态移动app测试方法 |
Non-Patent Citations (1)
Title |
---|
A Test Automation Solution on GUI Functional Test;ZHU Xiaochun;《IEEE》;20080713;第1413-1418页 * |
Also Published As
Publication number | Publication date |
---|---|
US20190213116A1 (en) | 2019-07-11 |
EP3511836A1 (en) | 2019-07-17 |
US10642721B2 (en) | 2020-05-05 |
CN110018955A (zh) | 2019-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110018955B (zh) | 通过转换手动测试用例来生成自动化测试脚本 | |
US10430323B2 (en) | Touchless testing platform | |
US11487539B2 (en) | Systems and methods for automating and monitoring software development operations | |
US8706771B2 (en) | Systems and methods for analyzing and transforming an application from a source installation to a target installation | |
US10229042B2 (en) | Detection of meaningful changes in content | |
US10769057B2 (en) | Identifying potential errors in code using machine learning | |
EP3438813A1 (en) | Component management platform | |
US11327874B1 (en) | System, method, and computer program for orchestrating automatic software testing | |
WO2019117982A1 (en) | Open source software testing | |
CN110990274A (zh) | 一种生成测试案例的数据处理方法、装置及系统 | |
US20160026558A1 (en) | Method and system for managing virtual services to optimize operational efficiency of software testing | |
CN113448869B (zh) | 测试用例生成的方法、装置、电子设备及计算机可读介质 | |
CN117632710A (zh) | 测试代码的生成方法、装置、设备及存储介质 | |
CN112988578A (zh) | 一种自动化测试方法和装置 | |
CN112416333A (zh) | 软件模型训练方法、装置、系统、设备和存储介质 | |
CN113157572B (zh) | 一种测试案例生成方法、系统、电子设备及存储介质 | |
CN113032256A (zh) | 自动化测试方法、装置、计算机系统和可读存储介质 | |
CN111949259A (zh) | 风险决策配置方法、系统、电子设备及存储介质 | |
US20080066005A1 (en) | Systems and Methods of Interfacing with Enterprise Resource Planning Systems | |
CN115857900B (zh) | 代码自动生成方法、装置、电子设备及存储介质 | |
US20230394327A1 (en) | Generating datasets for scenario-based training and testing of machine learning systems | |
CN116303091A (zh) | 一种数据库断言的测试方法及装置 | |
CN114168474A (zh) | 自动化测试案例生成方法、装置、设备、介质和程序产品 | |
CN114691527A (zh) | 单元测试案例生成方法、装置、设备、介质和程序产品 | |
CN115629983A (zh) | 测试用例集生成方法、装置、设备、介质 |
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 |