通过转换手动测试用例来生成自动化测试脚本.pdf

上传人:v**** 文档编号:11665127 上传时间:2021-10-14 格式:PDF 页数:21 大小:908.58KB
收藏 版权申诉 举报 下载
通过转换手动测试用例来生成自动化测试脚本.pdf_第1页
第1页 / 共21页
通过转换手动测试用例来生成自动化测试脚本.pdf_第2页
第2页 / 共21页
通过转换手动测试用例来生成自动化测试脚本.pdf_第3页
第3页 / 共21页
文档描述:

《通过转换手动测试用例来生成自动化测试脚本.pdf》由会员分享,可在线阅读,更多相关《通过转换手动测试用例来生成自动化测试脚本.pdf(21页完成版)》请在专利查询网上搜索。

1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201910015120.1 (22)申请日 2019.01.08 (30)优先权数据 15/867,293 2018.01.10 US (71)申请人 埃森哲环球解决方案有限公司 地址 爱尔兰都柏林 (72)发明人 G库尔卡尼S拉玛林加姆 CR耶拿 (74)专利代理机构 北京市金杜律师事务所 11256 代理人 酆迅 (51)Int.Cl. G06F 11/36(2006.01) (54)发明名称 通过转换手动测试用例来生成自动化测试 脚本 (57)摘要 本公开涉及通过转换手动。

2、测试用例来生成 自动化测试脚本。 公开了用于自动化测试脚本生 成系统的方法、 系统和装置, 包括被编码在计算 机存储介质上的计算机程序。 在一个方面中, 方 法包括以下动作: 接收上下文文件、 测试场景、 和 通过用户界面被选择的所选自动化工具, 上下文 文件包括对象映射, 对象映射包括与显示页的相 应组件相互关联的对象, 测试场景描述针对应用 的测试用例, 测试用例涉及与显示页上组件的预 期交互; 使与组件的预期交互同对象映射中的对 应对象相互关联; 通过人工智能(AI)模型来处理 预期交互和对应对象; 基于以上来确定脚本模 板; 应用脚本模板来生成用于所选自动化工具的 自动化测试脚本; 以。

3、及执行自动化测试脚本以测 试显示页的功能。 权利要求书3页 说明书11页 附图6页 CN 110018955 A 2019.07.16 CN 110018955 A 1.一种由一个或多个处理器执行的计算机实现的方法, 所述方法包括: 接收上下文文件、 测试场景、 以及通过用户界面而被选择的所选自动化工具, 所述上下 文文件包括对象映射, 所述对象映射包括与针对应用的显示页的相应组件相互关联的对 象, 所述测试场景描述针对所述应用的测试用例, 所述测试用例涉及与所述显示页上的所 述组件中至少一个组件的预期交互; 使与所述至少一个组件的所述预期交互同所述对象映射中的对应对象相互关联; 通过人工智能。

4、(AI)模型来处理所述预期交互和所述对应对象, 所述AI模型使用训练数 据来进行训练, 所述训练数据包括由所述显示页的所述组件所支持的多个过程和相应过程 步骤; 基于所述处理和所述所选自动化工具来确定脚本模板; 基于所述处理将所述脚本模板应用于所述预期交互和所关联的所述对象, 来为所述所 选自动化工具生成自动化测试脚本; 以及 执行所述自动化测试脚本以测试支持所述测试场景的所述显示页的一个或多个功能。 2.根据权利要求1所述的方法, 其中所述测试场景包括被用于所述预期交互的场景数 据, 并且其中所述自动化测试脚本是通过将所述脚本模板应用于所述场景数据来生成的。 3.根据权利要求1所述的方法, 。

5、进一步包括: 通过自然语言处理技术来解析所述测试场景以确定所述预期交互。 4.根据权利要求1所述的方法, 其中所述测试场景被包括在以Gherkin编写的特征文件 中。 5.根据权利要求1所述的方法, 其中所述上下文文件通过以下来生成: 解析所述显示页以标识所述组件, 以及 在逻辑上将所述组件映射至相应对象。 6.根据权利要求1所述的方法, 其中所述自动化测试脚本利用针对所述预期交互的默 认值来生成。 7.根据权利要求1所述的方法, 其中所述自动化测试脚本被生成为包括占位符数据, 其 中所述AI模型被重新训练以利用恰当脚本代码来替换所述占位符数据, 并且其中通过处理 所述自动化测试脚本, 所述占。

6、位符数据利用所述恰当脚本代码来替换, 处理所述自动化测 试脚本通过所述AI模型来进行。 8.根据权利要求1所述的方法, 其中所述所选自动化工具是以下中的一个: 统一功能测 试(UFT)、 Tricentis ToscaTM、 Worksoft CertifyTM、 或者SeleniumTM。 9.根据权利要求1所述的方法, 其中所述AI模型通过机器学习技术通过将关于所述过 程的数据应用于算法来进行训练。 10.一个或多个非暂时性计算机可读存储介质, 所述一个或多个非暂时性计算机可读 存储介质被耦合至一个或多个处理器并且具有被存储在其上的指令, 所述指令在由所述一 个或多个处理器执行时使得所述一。

7、个或多个处理器执行包括以下的操作: 接收上下文文件、 测试场景、 以及通过用户界面而被选择的所选自动化工具, 所述上下 文文件包括对象映射, 所述对象映射包括与针对应用的显示页的相应组件相互关联的对 象, 所述测试场景描述针对所述应用的测试用例, 所述测试用例涉及与所述显示页上的所 述组件中至少一个组件的预期交互; 权利要求书 1/3 页 2 CN 110018955 A 2 使与所述至少一个组件的所述预期交互同所述对象映射中的对应对象相互关联; 通过人工智能(AI)模型来处理所述预期交互和所述对应对象, 所述AI模型使用训练数 据来进行训练, 所述训练数据包括由所述显示页的所述组件所支持的多。

8、个过程和相应过程 步骤; 基于所述处理和所述所选自动化工具来确定脚本模板; 基于所述处理将所述脚本模板应用于所述预期交互和所关联的所述对象, 来为所述所 选自动化工具生成自动化测试脚本; 以及 执行所述自动化测试脚本以测试支持所述测试场景的所述显示页的一个或多个功能。 11.根据权利要求10所述的一个或多个非暂时性计算机可读存储介质, 其中所述测试 场景包括被用于所述预期交互的场景数据, 并且其中所述自动化测试脚本是通过将所述脚 本模板应用于所述场景数据来生成的。 12.根据权利要求10所述的一个或多个非暂时性计算机可读存储介质, 其中所述操作 进一步包括: 通过自然语言处理技术来解析所述测试。

9、场景以确定所述预期交互。 13.根据权利要求10所述的一个或多个非暂时性计算机可读存储介质, 其中所述测试 场景被包括在以Gherkin编写的特征文件中。 14.根据权利要求10所述的一个或多个非暂时性计算机可读存储介质, 其中所述上下 文文件通过以下来生成: 解析所述显示页以标识所述组件, 以及 在逻辑上将所述组件映射至相应对象。 15.一种系统, 所述系统包括: 一个或多个处理器; 以及 计算机可读存储设备, 所述计算机可读存储设备被耦合至一个或多个处理器并且具有 被存储在其上的指令, 所述指令在由所述一个或多个处理器执行时使得所述一个或多个处 理器执行包括以下的操作: 接收上下文文件、 。

10、测试场景、 以及通过用户界面而被选择的所选自动化工具, 所述上下 文文件包括对象映射, 所述对象映射包括与针对应用的显示页的相应组件相互关联的对 象, 所述测试场景描述针对所述应用的测试用例, 所述测试用例涉及与所述显示页上的所 述组件中至少一个组件的预期交互; 使与所述至少一个组件的所述预期交互同所述对象映射中的所述对应对象相互关联; 通过人工智能(AI)模型来处理所述预期交互和所述对应对象, 所述AI模型使用训练数 据来进行训练, 所述训练数据包括由所述显示页的所述组件支持的多个过程和相应过程步 骤; 基于所述处理和所述所选自动化工具来确定脚本模板; 基于所述处理将所述脚本模板应用于所述预。

11、期交互和所关联的所述对象, 来为所述所 选自动化工具生成自动化测试脚本; 以及 执行所述自动化测试脚本以测试支持所述测试场景的所述显示页的一个或多个功能。 16.根据权利要求15所述的系统, 其中所述自动化测试脚本利用针对所述预期交互的 默认值来生成。 权利要求书 2/3 页 3 CN 110018955 A 3 17.根据权利要求15所述的系统, 其中所述自动化测试脚本被生成为包括占位符数据, 其中所述AI模型被重新训练以利用恰当脚本代码来替换所述占位符数据, 并且其中通过处 理所述自动化测试脚本, 所述占位符数据利用所述恰当脚本代码来替换, 处理所述自动化 测试脚本通过所述AI模型来进行。。

12、 18.根据权利要求15所述的系统, 其中所述所选自动化工具是以下中的一个: 统一功能 测试(UFT)、 Tricentis ToscaTM、 WorksoftCertifyTM、 或者SeleniumTM。 19.根据权利要求15所述的系统, 其中所述AI模型通过机器学习技术通过将关于所述 过程的数据应用于算法来进行训练。 20.根据权利要求15所述的系统, 其中所述测试场景包括被用于所述预期交互的场景 数据, 并且其中所述自动化测试脚本是通过将所述脚本模板应用于所述场景数据来生成 的。 权利要求书 3/3 页 4 CN 110018955 A 4 通过转换手动测试用例来生成自动化测试脚本 。

13、技术领域 0001 本申请一般涉及生成自动化测试脚本。 背景技术 0002 软件应用被设计用于适应大量事务, 其中每个事务常常要求大数目的功能的执 行。 回归测试套件是测试用例的集合, 其常常以脚本的形式被编写, 被设计用于确保这些功 能中的每一个在底层编程代码的修改之后保持准确和正确。 这些套件的执行有助于确保在 作为修改的结果的代码库的未改变区域中没有引入或者发现缺陷。 此外, 每一级测试(例 如, 单元测试、 系统测试、 以及验收测试)可以具有其自己的回归测试套件。 现今, 这些应用 和/或其对应服务的提供商面临着以下问题: 具有被手动执行的大型回归测试套件以及需 要使这些测试套件自动化。

14、以在多个行业标准自动化工具中的任何一个内运行。 一旦被自动 化, 这些测试用例就可以重复地和频繁地被执行, 这增加了用于相应应用的测试覆盖的量。 然而, 为了使这些手动测试用例自动化, 测试员必须记录测试场景或者创建特定于指定的 自动化工具的脚本, 这既耗时又费力。 发明内容 0003 本公开的实施方式一般涉及自动化测试脚本生成系统。 更具体地, 实施方式涉及 一种基于所接收到的测试场景和所选上下文文件来为所选自动化工具生成自动化测试脚 本的系统。 该系统使来自测试场景的信息和上下文文件相互关联, 并且采用经训练的人工 智能(AI)模型来将模板应用于关联的数据以生成自动化测试脚本。 0004 。

15、在一般实施方式中, 一种由一个或多个处理器执行的计算机实现的方法, 该方法 包括: 接收上下文文件、 测试场景、 以及通过用户界面而被选择的所选自动化工具, 上下文 文件包括对象映射, 该对象映射包括与针对应用的显示页的相应组件相互关联的对象, 测 试场景描述针对该应用的测试用例, 该测试用例涉及与显示页上的至少一个组件的预期交 互; 使与该至少一个组件的预期交互同对象映射中的对应对象相互关联; 通过人工智能 (AI)模型来处理预期交互和对应对象, AI模型使用训练数据来进行训练, 该训练数据包括 由显示页的组件支持的多个过程和相应过程步骤; 基于处理和所选自动化工具来确定脚本 模板; 基于处。

16、理将脚本模板应用于预期交互和关联对象来为所选自动化工具生成自动化测 试脚本; 以及执行自动化测试脚本以测试支持测试场景的显示页的一个或多个功能。 0005 在另一一般实施方式中, 一个或多个非暂时性计算机可读存储介质, 该一个或多 个非暂时性计算机可读存储介质被耦合至一个或多个处理器并且具有被存储在其上的指 令, 该指令在由一个或多个处理器执行时使得一个或多个处理器执行包括以下的操作: 接 收上下文文件、 测试场景、 以及通过用户界面而被选择的所选自动化工具, 上下文文件包括 对象映射, 该对象映射包括与针对应用的显示页的相应组件相互关联的对象, 测试场景描 述针对应用的测试用例, 该测试用例。

17、涉及与显示页上的至少一个组件的预期交互; 使与该 至少一个组件的预期交互同对象映射中的对应对象相互关联; 通过人工智能(AI)模型来处 说明书 1/11 页 5 CN 110018955 A 5 理预期交互和对应对象, AI模型使用训练数据来进行训练, 该训练数据包括由显示页的组 件支持的多个过程和相应过程步骤; 基于处理和所选自动化工具来确定脚本模板; 基于处 理将脚本模板应用于预期交互和关联对象来为所选自动化工具生成自动化测试脚本; 以及 执行自动化测试脚本以测试支持测试场景的显示页的一个或多个功能。 0006 在又一一般实施方式中, 一种系统, 该系统包括: 一个或多个处理器; 以及计算。

18、机 可读存储设备, 该计算机可读存储设备被耦合至一个或多个处理器并且具有被存储在其上 的指令, 该指令在由一个或多个处理器执行时使得一个或多个处理器执行包括以下的操 作: 接收上下文文件、 测试场景、 以及通过用户界面而被选择的所选自动化工具, 上下文文 件包括对象映射, 该对象映射包括与针对应用的显示页的相应组件相互关联的对象, 测试 场景描述针对应用的测试用例, 该测试用例涉及与显示页上的至少一个组件的预期交互; 使与该至少一个组件的预期交互同对象映射中的对应对象相互关联; 通过人工智能(AI)模 型来处理预期交互和对应对象, AI模型使用训练数据来进行训练, 该训练数据包括由显示 页的组。

19、件支持的多个过程和相应过程步骤; 基于处理和所选自动化工具来确定脚本模板; 基于处理将脚本模板应用于预期交互和关联对象来为所选自动化工具生成自动化测试脚 本; 以及执行自动化测试脚本以测试支持测试场景的显示页的一个或多个功能。 0007 在与任何一般实施方式可进行组合的方面中, 测试场景包括被用于预期交互的场 景数据, 并且其中自动化测试脚本通过将脚本模板应用于场景数据来生成。 0008 在与任何先前方面可进行组合的另一方面中, 进一步包括: 通过自然语言处理技 术来解析测试场景以确定预期交互。 0009 与任一先前方面可进行组合的另一方面, 测试场景被包括在以Gherkin编写的特 征文件中。

20、。 0010 在与任何先前方面可进行组合的另一方面中, 上下文文件通过以下方式来生成: 解析显示页以标识组件, 以及在逻辑上将组件映射至相应对象。 0011 在与任何先前方面可进行组合的另一方面中, 自动化测试脚本利用用于预期交互 的默认值来生成。 0012 在与任何先前方面可进行组合的另一方面中, 自动化测试脚本被生成以包括占位 符数据, 其中AI模型被重新训练以利用恰当脚本代码来替换占位符数据, 并且其中通过处 理自动化测试脚本(通过AI模型), 占位符数据利用恰当脚本代码来替换。 0013 在与任何先前方面可进行组合的另一方面中, 所选自动化工具是以下中的一个: 统一功能测试(UFT)、。

21、 Tricentis ToscaTM、 Worksoft CertifyTM、 或者SeleniumTM。 0014 在与任何先前方面可进行组合的另一方面中, AI模型是通过机器学习技术通过将 关于过程的数据应用于算法来进行训练。 0015 应当理解, 根据本公开的方法可以包括本文所描述的方面和特征的任意组合。 即, 根据本公开的方法不限于本文具体地描述的方面和特征的组合, 而是还可以包括所提供的 方面和特征的任意组合。 0016 本公开的一个或多个实施方式的细节在下文的附图和描述中进行阐述。 本公开的 其它特征和优点将从描述和附图中以及从权利要求中变得明显。 说明书 2/11 页 6 CN 。

22、110018955 A 6 附图说明 0017 图1描绘了用于生成自动化测试脚本的示例自动化测试脚本生成系统。 0018 图2描绘了用于生成自动化测试脚本的示例AI模块。 0019 图3示出了示例测试场景。 0020 图4描绘了来自用于自动化测试脚本生成系统的示例UI(用户界面)的自动化测试 脚本输出屏。 0021 图5描绘了在测试脚本生成系统内所采用的用来生成自动化测试脚本的示例性过 程的流程图。 0022 图6示出了可以被用来实现在此描述的技术的计算设备和移动计算设备的示例。 具体实施方式 0023 通常, 测试用例(例如, 测试场景)以自由流动语言的形式来进行描述, 而没有任何 明确定义。

23、的格式, 并且以各方的自然语言或者约定语言(诸如, 英语)来进行描述。 因此, 计 算机程序很难将该信息转变为自动化测试脚本。 此外, 开发项目越来越多地使用以行为驱 动开发(BDD)样式使用格式化语言(诸如, Gherkin)编写的测试场景。 格式化语言允许指令 在具有一定附加结构的情况下以传统书面语言(诸如, 英语或者其它60多种语言中的一种) 被编写为纯文本。 这些格式化语言被设计为易于由非编程人员学习, 但其结构足以允许对 示例进行简洁描述以说明大多数现实世界领域中的业务规则。 以这种方式, 格式化语言可 以被用来捕获要求并且限定测试场景。 0024 通过示例, 测试场景或者场景列表可。

24、以被包括在所谓的特征文件中, 其中格式化 语言(诸如, Gherkin)被用来以人类可读的方式编写场景。 这种特征文件可以被用在针对自 动化工具的自动化测试脚本的生成中。 示例自动化工具包括: 统一功能测试(UFT)、 Tricentis ToscaTM、 Worksoft CertifyTM、 或者SeleniumTM。 测试自动化工具提供可以被用 来为每个测试场景提供支持软件结构(诸如, 步骤定义)的框架。 步骤定义用作骨架占位符, 其中自动化代码块可以被实现。 例如, 给定场景中的每个步骤可以映射至步骤定义。 自动化 代码块针对每个步骤定义被实现并且当场景由测试框架运行时被执行。 自动化。

25、代码块可以 用各种编程语言(诸如, Ruby、 C+、 Java、 Scala、 Python等)来编写, 基于系统要求来进行选 择。 一旦被生成, 步骤定义和相应代码块就可以被称为自动化测试脚本。 测试自动化工具为 这些生成的脚本提供执行环境, 这些生成的脚本可以被运行以进行验收和/或回归测试。 0025 自动化测试脚本可以由开发者手动地实现或者自动地被生成。 自动化测试脚本从 测试场景的自动代码生成的困难之一在于, 由于格式化语言(例如, Gherkin)的灵活性质, 因此测试场景可以以许多不同的方式进行编写。 例如, 每个测试员可以用其自己的方式来 描述测试的功能性或者功能。 例如,“单。

26、击提交按钮” 、“按下提交按钮” 、 或者 “点击提交按 钮” 全都表示同一件事。 另一问题在于, 自动化测试脚本中的代码块可以是重复的, 因此, 自 动化代码可能变得臃肿。 附加地, 可以被用在文件大部分内容中的自由形式的英语(或者任 何其它语言)缺乏结构。 例如,“登录到应用” 和 “输入用户名, 输入密码, 并且单击登录按钮” 均表示相同的功能; 只是一个是单个句子, 而另一个是三个句子。 然而, 应该在这些示例中 的每一个中生成相同的自动化代码块(脚本)。 0026 鉴于前述内容, 本公开的实施方式一般涉及基于用特定语言(诸如, 英语)或者用 说明书 3/11 页 7 CN 11001。

27、8955 A 7 格式化语言(诸如, Gherkin)以自由形式编写的测试场景来创建自动化测试脚本。 系统基于 自然语言处理技术来解析所提供的测试场景以利用任何相关数据来确定该场景的意图。 例 如, 为了用用户名和密码登录到给定应用或者程序(诸如, 网络应用), 或者为了在网络应用 中用某些信息集合来完成特定表格。 系统使该意图与网络应用的所选页或者屏上的(多个) 对象相互关联。 一旦使意图和对象相互关联, 系统就选择与指定自动化工具相对应的(多 个)模板来生成用于所提供的场景的自动化测试脚本。 一旦测试场景已经被转变为自动化 测试脚本, 测试场景就可以通过使用相应自动化测试脚本来频繁地进行测。

28、试并且被用在各 种测试过程中。 附加地, 自动化测试脚本可能比手动版本更精确并且也可以被用于生成关 于相应应用和/或测试的结果的报告。 0027 图1描绘了用于生成自动化测试脚本的示例自动化测试脚本生成系统100。 示例系 统100包括一个或多个开发者110、 应用代码库120、 特征文件存储库122、 上下文生成模块 130、 上下文存储库132、 用户界面(UI)140、 AI模块150、 执行引擎(EE)160、 以及报告引擎 170。 在所描绘的示例中, 示例自动化测试脚本生成系统100可以被部署至任何专用计算机 系统。 示例系统可以使用任何合适数量和类型的计算设备的一个或多个计算设备。

29、来提供。 这种计算设备的配置包括共享、 虚拟、 管理/专用、 集群/网格、 基于云的资源、 和/或其任意 组合。 系统100通过UI 140提供对开发者110的访问, 其可以通过网络(未被示出)进行访问。 在所描绘的系统100中, 开发者110可以分析对应用或者系统的要求, 并且然后通过应用计 算机科学和数学分析的理论和原理来设计、 开发和测试软件。 0028 在自动化测试脚本生成系统100内采用上下文生成模块130来生成用于应用代码 库(诸如, 应用代码库120)的UI内的每个页或者屏的上下文文件。 应用代码库120表示包括 UI的任何应用或者程序, 诸如基于网络的应用或者企业工具。 每个U。

30、I经由相应UI的各种屏 和/或页来接受输入和提供输出。 例如, 网页可以在服务器或者虚拟服务器上被生成并且经 由网络进行传送。 网页可以由用户设备接收, 并且由例如网络浏览器程序查看。 0029 对于给定UI, 上下文生成模块130基于针对每个页或者屏的上下文来解析和构建 上下文框架。 上下文生成模块130将该框架用作一种密钥以在逻辑上将每个页上的各种功 能映射至执行规定动作的相应对象。 这些对象被分组到对象映射中。 针对每个页的上下文 文件被生成。 上下文文件包含针对相应页的所确定的对象映射。 通过得到该对象上下文并 且将所生成的对象映射存储在页级别, 自动化测试脚本生成系统100可以通过使。

31、用针对对 象的逻辑名称来缩小搜索范围来更快速地访问相关信息。 例如, 上下文文件根据页标识符 和应用标识符在上下文存储库132中建立索引。 上下文存储库132可以是在企业数据库服务 器或者虚拟服务器上被实现的关系数据库(诸如, Oracle或者DB2)。 0030 UI 140为用户(诸如, 开发者110)提供对自动化测试脚本生成系统100的访问, 并 且更具体地是对由AI模块150提供的功能性的访问。 UI 140包括一系列屏, 这些屏可以被接 收在用户设备上并且例如使用网络浏览器程序来查看。 页可以在服务器或者虚拟服务器上 被生成并且经由网络被传送。 UI 140允许用户向AI模块150提。

32、供测试场景(例如, 测试用 例)。 在一些实施方式中, 测试场景被包括在用Gherkin编写的特征文件中。 特征文件可以选 自特征文件存储库, 诸如, 特征文件存储库122。 特征文件存储器122可以是在企业数据库服 务器或者虚拟服务器上被实现的关系数据库, 诸如, Oracle或者DB2。 在一些实施方式中, 特 征文件可以在本地被存储在用户的设备上或者被存储在通过网络可访问的一些其它位置 说明书 4/11 页 8 CN 110018955 A 8 处。 用户从上下文存储库132中选择(多个)上下文文件来设置与测试场景有关的恰当上下 文(例如, (多个)页和应用)。 附加地, 用户可以指定自。

33、动化工具, 应该为该自动化工具生成 (多个)自动化测试脚本。 在图4的描述中对UI 140进行了更加详细的讨论。 0031 AI模块150从所提供的测试场景和上下文文件中生成(多个)自动化测试脚本。 AI 模块150通过采用自然语言处理(NLP)技术来从每个测试场景提取预期交互(意图)和相关 测试数据。 意图与所提供的上下文文件中的(多个)恰当测试对象相互关联。 例如, 如果测试 场景叙述 “单击提交按钮” , 则AI模块150解析自然语言并且得出上下文为 “提交按钮” , AI模 块150然后将该上下文映射至所提交的上下文文件的对象映射内的提交按钮对象。 用于所 选自动化工具的模板连同(多个。

34、)关联对象一起被应用于所提取的意图和数据以生成所产 生的自动化测试脚本。 在图2的描述中对AI模块150进行了更加详细的描述。 0032 自动化测试脚本可以被推送到执行引擎160。 执行引擎160包括自动脚本服务器, 该自动脚本服务器运行在自动化测试脚本生成系统100内所采用的自动化工具/平台(诸 如, 统一功能测试(UFT)、 Tricentis ToscaTM、 Worksoft CertifyTM、 或者SeleniumTM)。 这种 自动化工具被用来向利益相关者提供关于正被测试的软件产品或者服务(诸如, 应用代码 库120)的质量的信息。 执行引擎160可以被部署在服务器或者虚拟服务器。

35、上。 0033 报告引擎170向开发者110提供对报告特征的分析和访问。 执行引擎160可以将执 行所生成的自动化测试脚本得到的结果存留在报告数据库中。 报告引擎170从被存储在报 告数据库中的信息生成报告, 该报告可以由开发者110审阅。 这些报告提供关于系统在自动 化测试脚本的执行期间的性能的细节并且可以包括处理时间、 响应时间、 以及所显示的任 何警告消息。 还可以生成统计报告, 该统计报告总结系统的健康状况以及所选择的任何重 要数据点。 0034 图2描绘了用于生成自动化测试脚本的示例AI模块200。 AI模块200大体上类似于 图1的AI模块150。 AI模块200包括NLP模块21。

36、0、 关联模块220、 脚本生成模块230、 AI模型232、 以及模板存储库234。 如上文关于图1所描述的, AI模块200基于测试场景的确定的意图和来 自上下文文件的关联测试对象来生成自动化测试脚本以在特定工具中运行。 0035 在所描绘的示例中, 例如, AI模块200从UI(诸如, 图1的UI 140)接收测试场景和上 下文文件。 NLP模块210接收输入并且解析测试场景。 NLP可以被描述为计算机程序或者软件 理解口头或者书面人类语言的能力。 NLP使得AI程序(诸如, NLP模块210)可以通过分解相应 句法来接收对话或者文本输入, 以确定该输入的含义和/或确定恰当动作。 NLP。

37、模块210可以 采用NLP应用程序接口(API), 诸如, Apache OpenNLPTM。 0036 作为示例, NLP模块210读取来自所接收的测试场景的行或者行的集合, 其可以被 包含在特征文件中。 NLP模块210确定(多个)句子的各种对象, 这些对象被用来为测试场景 中的指令提供上下文。 基于该信息, NLP模块210确定针对每个所标识的对象的场景的意图。 例如, 场景可能读取 “登录, 输入用户名, 输入密码, 单击提交, 进入导航。 ” NLP模块210提取 用于该场景的各种意图(例如,“单击” 、“登录” 、 以及 “输入” )。 一旦已经标识出意图, 就可以 通过关联模块2。

38、20基于AI模型230使该意图与上下文文件中的(多个)对象相互关联。 自定义 动作也可以被训练到NLP模块210中以进行复杂描述。 NLP模块210还为每个确定的意图标识 任何相关联的数据, 例如, 用户名和密码。 诸如文本解析、 编译器、 以及名称查找器等技术可 以被用来标识测试场景内的自定义数据的提及, 因为数据特定的词语可以在句子的任何部 说明书 5/11 页 9 CN 110018955 A 9 分中被提及。 0037 关联模块220获取所标识的意图和任何相关联的数据, 并且使该信息与上下文文 件内的对象相互关联。 关联模块220首先基于NPL处理生成用于意图的名称。 该名称基于在 测。

39、试场景中被提供的上下文, 并且被称为逻辑名称。 关联模块220搜索上下文文件中的对象 映射以确定最佳匹配对象。 例如, 关于销售各种产品的网络应用的测试场景可以具有电影 商店部段。 测试场景(例如, 登录到电影商店)可以将站点的该部段称为 “DVD电影商店” 。 NLP 模块210可以确定针对该场景的意图为 “进入DVD电影商店” , 其中 “DVD电影商店” 是被分配 给对象的逻辑名称。 关联模块220获取所分配的逻辑名称并且从上下文文件中搜索对象映 射以查找具有与该逻辑名称相匹配或者是与该逻辑名称最接近的匹配的标识符的对象。 该 匹配基于确定的意图、 对象的NLP、 以及上下文文件中的任何。

40、对应数据(例如, 标识符和/或 相关联的参数)来确定。 关联模块220使意图(例如, 登录、 输入、 单击)与来自上下文文件的 匹配的对象相互关联。 对于电影商店示例, 关联模块220可以返回与将用户带到站点的DVD 电影商店部段的按钮或者链接相对应的对象, 然后使该对象与场景的意图或者动作(例如, 单击电影商店链接)相互关联。 0038 脚本生成模块230基于来自所提供的场景的确定的意图和相关联的数据以及来自 所提供的上下文文件的(多个)关联对象来生成自动化测试脚本。 例如, 确定的意图可以是 基础级(单击、 输入)或者业务处理级(登录、 填写表格)。 登录可能要求一系列步骤, 诸如, 1)。

41、 输入用户名, 2)输入密码, 以及3)单击登录。 另一示例可以是创建采购订单, 这可能需要用 多个步骤来填写表格。 0039 为了生成文件, 脚本生成模块230采用AI模型232。 AI模型232通过一系列机器学习 技术来进行训练, 这些机器学习技术被应用于使用这些基础级和业务级步骤的算法。 机器 学习使模型构建自动化并且允许在没有明确编程的情况下发现见解。 使用自动化和迭代算 法, 可以训练模型以找出数据内的高阶交互和模式。 0040 为特定应用或者程序(诸如, 图1的应用代码库120)训练AI模型232, 以应用完成该 应用内的各种任务或者过程所需要的(多个)动作。 例如, AI模型23。

42、2被训练为理解采购订单 的含义、 登录的含义、 以及在特定应用或者程序内执行每一项的方式。 在一些实施方式中, 所提供的上下文文件被用来确定要采用的恰当AI模型, 以构建所产生的自动化测试脚本。 0041 脚本生成模块230从模板存储库234中选择(多个)脚本模板。 模板存储库234可以 是在企业数据库服务器或者虚拟服务器上被实现的关系数据库, 诸如Oracle或者DB2。 在一 些实施方式中, 脚本模板是用于自动化的标准化形式, 其可以被用在关键词驱动框架、 数据 驱动框架和/或混合自动化框架中。 在一些实施方式中, 脚本模板是由自动化工具(诸如, Tricentis ToscaTM)定义的。

43、标准或者专有模板。 脚本模板基于正在为其生成自动化测试脚 本的自动化工具(例如, UFT、 Tricentis ToscaTM、 Worksoft CertifyTM、 或者SeleniumTM)来 选择。 基于AI模型, 脚本生成模块230确定执行正被测试的UI的相应页中的关联对象的确定 的意图的(多个)动作。 脚本生成模块230通过将所选模板应用于针对意图和关联对象的确 定的动作、 从所提供的测试场景读取的数据、 以及来自测试场景(例如, 特征文件)的步骤定 义来生成自动化脚本。 数据也可以从配置或者属性文件中被读取。 除非在测试场景中提供 了特定信息, 否则该数据可以被用作默认数据。 在。

44、一些实例中, 动作可能不要求任何附加数 据。 例如, 当仅仅跟随链接或者单击UI内的特定页的按钮时。 说明书 6/11 页 10 CN 110018955 A 10 0042 在一些示例中, AI模型232可能不能够确定针对确定的意图和(多个)关联对象要 采取的动作。 相应地, AI模型232可以在所生成的测试脚本中针对该(多个)特定动作使用占 位符。 AI模块232然后可以被重新训练以正确地确定该(多个)动作。 一旦AI模型232已经被 重新训练, 占位符就可以由恰当代码和数据替换。 一旦被生成, 自动化测试脚本就被提供至 执行引擎160, 如在图1中所描述的。 0043 图3示出了示例性测。

45、试场景。 所描绘的示例是特征文件, 并且场景是使用Gherkin 来捕获的。 与YAML或者Python一样, Gherkin是一种使用缩进来定义结构的面向行的语言。 行尾结束符号使语句终止(称为步骤)并且可以使用空格或者制表符来用于缩进。 Gherkin 中的大多数行都是以特殊关键词开始的。 在Gherkin中使用的主要关键词有: 特征; 场景; 给 定; 当、 然后、 和、 但(步骤); 背景; 场景概述; 以及示例。 Gherkin解析器将输入划分成特征、 场景、 以及步骤。 附加地, Gherkin支持多种语言, 诸如, 英语和法语, 这允许所捕获的场景使 用来自所选语言的本地化关键词。

46、。 在图3中所描绘的示例反映了在特定供应商的网站上申 请信用卡的示例场景。 0044 图4描绘了来自用于自动化测试脚本生成系统100的示例UI的自动化测试脚本输 出屏400。 输出屏400包括图形形式元素, 该图形形式元素包括执行引擎选择接口402(例如, 项目符号列表)、 应用代码库选择接口404(例如, 下拉菜单)、 上下文文件选择接口406(例 如, 下拉菜单)、 特征文件源(FFS)选择接口408(例如, 项目符号列表)、 加载按钮410、 生成按 钮420、 下载按钮422、 保存按钮424、 推送按钮426、 所选特征文件区域430、 以及生成的脚本 区域432。 0045 执行引。

47、擎选择接口402提供由自动化测试脚本生成系统100支持的自动化工具列 表(诸如, UFT、 Tricentis ToscaTM、 Worksoft CertifyTM、 或者SeleniumTM), 并且使得用户能 够选择为其生成自动化测试脚本的特定自动化工具。 如果用户选择生成按钮220, 则自动化 测试脚本生成系统100使用所选自动化工具来确定一旦已经确定了意图和对象关联后该应 用哪个模板。 0046 应用代码库选择接口404提供用户可以从其中选择的代码库列表。 代码库列表中 填充有代码库, 其中, 已经解析了相应UI的页面并且由自动化测试脚本生成系统100生成了 上下文文件。 所选数据库。

48、被用来填充上下文文件选择接口406。 0047 上下文文件选择接口406提供上下文文件列表。 上下文文件列表从基于所选应用 代码库查询的上下文存储库132来进行填充。 如果用户选择生成按钮220, 则自动化测试脚 本生成系统100使用所选上下文文件来确定对象映射以关联至从所提供的测试场景(在所 选特征文件中)确定出的意图。 0048 特征文件源选择接口408提供从其中搜索特征文件的源位置列表, 并且使得用户 能够选择要搜索的特定位置。 如果用户决定加载特征文件, 则用户选择(例如, 单击)加载按 钮410。 在一些实施方式中, 当用户选择加载按钮410时, 选择窗口或者列表框(未被示出)表 现。

49、为填充有用于所选代码库并且来自所选位置的特征文件的叠加层。 当用户从选择窗口选 择特征文件时, 特征文件(其包含(多个)测试场景)被加载并且显示在所选特征文件区域 430中。 0049 如果用户决定使用所选特征文件和上下文文件来生成用于所选自动化工具的自 动化脚本, 则用户选择生成按钮420。 当用户选择生成按钮420时, 向自动化测试脚本生成系 说明书 7/11 页 11 CN 110018955 A 11 统100提供所选信息(例如, 自动化工具、 特征文件、 以及上下文文件)。 自动化测试脚本生成 系统100使用该信息来生成如上文在图1和图2中所描述的自动化测试脚本(同样参见下文 针对图。

50、5的描述)。 所生成的测试脚本被加载并且显示在所选生成脚本区域432中。 0050 一旦自动化测试脚本已经被加载到所选生成脚本区域432中, 用户就可以与下载 按钮422、 保存按钮424、 以及/或者推送按钮426进行交互。 在一些实施方式中, 这些按钮可 能被禁用(例如, 被灰化), 直到所选生成脚本区域432被填充为止。 如果用户决定下载所生 成的测试脚本, 则用户选择下载按钮422。 在一些实施方式中, 当用户选择下载按钮422时, 选择窗口表现为叠加层, 其具有来自访问测试脚本输出屏400的用户设备的文件系统的位 置。 当用户选择该文件系统中的位置时, 测试脚本被下载至所选位置。 如。

展开阅读全文
内容关键字: 通过 转换 手动 测试 来生 自动化 脚本
关于本文
本文标题:通过转换手动测试用例来生成自动化测试脚本.pdf
链接地址:https://www.zhuanlichaxun.net/pdf/11665127.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1