CN108347358A - 云连接的自动化测试 - Google Patents
云连接的自动化测试 Download PDFInfo
- Publication number
- CN108347358A CN108347358A CN201711406044.4A CN201711406044A CN108347358A CN 108347358 A CN108347358 A CN 108347358A CN 201711406044 A CN201711406044 A CN 201711406044A CN 108347358 A CN108347358 A CN 108347358A
- Authority
- CN
- China
- Prior art keywords
- test
- protos
- case
- testing procedure
- thread
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- 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
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Abstract
云连接的自动化测试(CCAT)提供一种用于利用多种操作环境中的多个测试用例来测试应用的低成本、高吞吐量的自动化多线程测试平台。该平台可以被托管在云基础架构上。与其他测试自动化平台不同,对CCAT的输入基于人类可读的格式,诸如电子表格中的关键词条目。从而CCAT降低了测试者理解高度专业化的需要以及使用诸如Java或者Python的编码语言的困难。
Description
技术领域
本申请涉及应用的自动化测试。
背景技术
计算机硬件和软件能力的迅速增长已经引起了复杂处理系统的实现,这影响了日常生活的几乎每个方面。较新的开发已经允许这些系统采取虚拟化形式,并且在世界上任何地方的计算基础架构上托管。有效地测试这些计算机硬件和软件系统是重大的技术挑战。
发明内容
根据本申请的一个方面,提供了一种方法,包括:接收测试套件,所述测试套件包括针对应用的多个独立测试用例;标识针对来自所述测试套件的所述多个测试用例的测试数据;标识针对来自所述测试套件的所述多个测试用例中的每个测试用例的将要执行的测试步骤;标识用于运行来自所述测试套件的所述独立测试用例的多个不同的操作环境;针对所述多个不同的操作环境中的一个操作环境中的所述多个测试用例中的一个测试用例的每个组合,实例化包括远程测试驱动的独立测试线程;以及将来自所述测试套件的所标识的测试数据以及针对所述独立测试用例中的一个独立测试用例的所标识的测试步骤复制到所述远程测试驱动中,以创建针对所述独立测试线程的线程特定测试数据集;以及通过基于所述线程特定测试数据集和所述远程测试驱动来运行所述测试线程,独立地针对所述多个不同的操作环境中的每个操作环境来执行所述多个测试用例。
根据本申请的一个方面,提供了一种基于云的平台,包括:通信接口;存储器;以及与所述存储器和所述通信接口通信的电路,所述电路配置用于:经由所述通信接口接收测试套件,所述测试套件包括针对应用的多个独立测试用例;标识针对来自所述测试套件的所述多个测试用例的测试数据;标识针对来自所述测试套件的所述多个测试用例中的每个测试用例将要执行的测试步骤;标识用于运行来自所述测试套件的所述独立测试用例的多个不同的操作环境;针对所述多个不同的操作环境中的一个操作环境中的所述多个测试用例中的一个测试用例的每个组合,实例化包括远程测试驱动的独立测试线程;以及将来自所述测试套件的所标识的测试数据以及针对所述独立测试用例中的一个独立测试用例的所标识的测试步骤复制到所述远程测试驱动中,以创建针对所述独立测试线程的线程特定测试数据集;以及通过基于所述线程特定测试数据集和所述远程测试驱动来运行所述测试线程,独立地针对所述多个不同的操作环境中的每个操作环境来执行所述多个测试用例。
根据本申请的一个方面,提供了一种方法,包括:预定义关键词集合,其中每个预定义关键词与用于测试网站的测试动作集合之中的测试动作相对应;接收测试套件,所述测试套件包括测试主文档和多个测试脚本描述符,其中所述多个测试脚本描述符中的每个测试脚本描述符针对用于所述网站的多个独立测试用例中的一个独立测试用例,其中每个测试脚本描述符包括根据预定义的文法规则布置的所述关键词集合中的多个关键词;标识针对来自所述测试套件的所述多个测试用例的测试数据;根据来自所述测试脚本描述符的所述多个关键词以及指示测试步骤是否将要被执行的所述测试脚本描述符中的指示符字段,标识针对所述多个测试用例将要执行的测试步骤;标识用于运行来自所述测试主文档的所述独立测试用例的多个不同的操作环境,其中每个操作环境至少包括web浏览器的类型;针对所述多个不同的操作环境中的一个操作环境中的所述多个测试用例中的一个测试用例的每个组合,实例化包括远程测试驱动的独立测试线程;以及将来自所述测试套件的所标识的测试数据以及针对所述独立测试用例中的一个独立测试用例的所标识的测试步骤复制到所述远程测试驱动中,以创建针对所述独立测试线程的线程特定测试数据集;以及通过基于所述线程特定测试数据集和所述远程测试驱动来运行所述测试线程而独立地针对所述多个不同的操作环境中的每个操作环境来执行所述多个测试用例。
附图说明
图1示出了一种云连接自动化测试系统;
图2示出了一种备选的云连接自动化测试系统;
图3示出了可以在云连接自动化测试系统中使用的示例性处理电路;
图4A和图4B图示了云连接自动化测试系统的代码流水线的示例性逻辑流程图;
图5图示了在多个操作环境中执行多个测试用例的多线程实现;
图6图示了在多个操作环境中执行多个测试用例的备选多线程实现;
图7示出了在多个操作环境中执行多个测试用例的另一备选多线程实现;
图8示出了在云基础架构中的多个操作环境中执行多个测试用例的特定多线程实现;
图9示出了用于测试用例的电子表格格式的示例性的基于关键词的输入测试脚本;
图10示出了包括预期测试输出的用于测试用例的电子表格格式的示例性的基于关键词的输入测试脚本;
图11示出了电子表格格式的测试主(test master),其指定了用于在多个操作环境中执行多个测试用例的指令;
图12图示了使用云连接自动化测试系统的测试用例和操作环境的每个组合作为独立线程的运行;
图13图示了具有线程重叠的多线程测试的实现;
图14示出了图12和图13的实现之间的、针对三个操作环境中的两个测试用例的实际测试的比较,并且图示了图13的实现中的线程重叠的无意影响;以及
图15示出了在AWS环境中实现的云连接自动化测试系统,其还包括用于语音和测试的其他远程激活的组件和接口。
具体实施方式
软件应用的成功部署很大程度上依赖于其发布之前的综合测试。应用可以包含需要使用独立测试用例的综合集合来进行完全测试的内部功能,其中每个测试用例可以被设计用于验证应用的多个方面或者功能中的一个或多个。另外,因为应用可以基于可以是平台相关的软件栈的层和库而开发,所以应用的测试可能需要在多种多样的操作环境中进行测试,多种多样的操作环境可以在应用的多种多样的用户位置处。由此,应用的全面测试可能变为资源密集、易于出错并且耗时的,其涉及在多个操作环境的每个中运行大量独立的测试用例。
例如,应用可以是包含相关网页的网站的收集,从测试的角度来看是复杂的。具体地,网站可以托管在至少一个网络服务器上,但是由使用许多不同类型的用户设备上的许多不同类型的web浏览器的许多不同类型的用户访问和查看。网页可以指当网页被访问时网络服务器向用户显示的内容,或者可以备选地指与网页相关联并且从网络服务器下载并且由web浏览器解译的一组文件。这些文件通常可以是超文本标记语言(HTML)或者其他可类比的(comparable)标记语言。HTML文件可以手动地编写或者由网络服务器动态生成。每个HTML文件可以由唯一的统一资源定位符(URL)来标识。网页可以嵌入有诸如文本、动画、视频、音频和其他应用的内容。网页还可以包括用于用户输入的元素,诸如用于输入文本的框以及用于输入用户选择的单选按钮或者下拉菜单等。这些用户输入可以提交至网络服务器以用于进一步处理。例如,可以由网络服务器基于这些用户输入来生成动态HTML文件。网页还可以包含到其他网页的超链接(URL),以允许用户在相同网站之内或者网站之间的各种网页之间穿越。HTML文件可以将一个或多个非HTML元素封装在例如以诸如JavaScript的语言编写的小程序的形式中。这些嵌入的非HTML元素可以由web浏览器中的相对应的引擎来执行,以产生所显示的网页的部分。
除了如上所述的网站和网页的复杂度,每个用户还可以选择在他/她的设备上安装不同的web浏览器中的一个或多个,诸如Firefox、Google Chrome、Internet Explorer/Microsoft Edge、Opera和Safari。这些web浏览器中的每个还可以在不同的操作系统(潜在虚拟化)中运行,包括但不限于微软Windows、苹果操作系统和基于Linux的操作系统的各种版本。另外,这些web浏览器可以包括用于不同物理形式的用户设备(移动电话、平板电脑、个人计算机等)的能力和显示特性的不同组。浏览器的类型、浏览器运行的操作系统以及用户设备的物理形式的组合产生了需要针对网站和网页进行测试的大量可能的操作环境。
以下的公开内容提供用于使用在云中运行的多个并行测试线程而在多个操作环境中执行复杂应用的多个测试用例的方法、装置和系统。在不损失本公开内容对各种其他应用测试上下文的普遍适用性的情况下,描述用于测试网站和网页的具体实现作为示例。
图1示出了用于在云中实现网站或网页(以下统称为网页)的自动化测试的示例性系统100。系统100包括云连接自动化测试(CCAT)服务器108,其用于处理来自包括102_1、102_2和102_M的测试者(备选地称为客户端)102的测试任务,并且在云112中的测试装置(harness)114中实现经处理的测试任务。CCAT服务器108可以集中在单个位置处或者分布在多个地理位置上。客户端102可以经由通信网络110与CCAT服务器108通信。类似地,CCAT服务器108可以经由通信网络110与测试装置114通信。通信网络110例如可以基于互联网协议(IP),并且可以包括有线或无线接入网络、局域网、广域网和其他计算机网络的组合。
测试者可以是远程终端设备,可以由CCAT服务器从该远程终端设备提交测试用于自动执行。测试可以由网站的提供者的QA(质量保证)人员来提交,以便经由任何测试者来远程测试。测试者可以备选地称为测试者设备,并且可以是任何合适的电子设备,包括但不限于移动电话、平板电脑、膝上型计算机、个人计算机和个人数字助理(PDA)。QA人员可以与网站的开发者和编程者分开。在如下文所述的基于系统100的网页测试的特定实现中,就网页的编码而言,QA在技术上不需要复杂。进一步地,可以从测试者以远程方式并且从任何地方访问CCAT服务器108。例如,CCAT服务器可以包括网络服务器托管网站。由此,测试者102可以包含用于与CCAT服务器通信的web浏览器,并且通过从测试者的任何位置远程地访问由CCATweb服务器托管的网页来提交测试任务。备选地,测试者102可以在测试者设备上本地安装有专用测试者软件,以用于远程地访问CCAT服务器。在系统100中,云114和CCAT服务器108可以由分开并且独立的服务提供者来操作。
与从测试者提交的测试用例相关联的测试步骤和测试数据可以指定为预定义格式的测试脚本120,诸如120_1、120_2和120_M。CCAT服务器108接收这些格式化的测试脚本,并且经由代码流水线130将其处理到测试代码140中,其示例性实现将在下文中详细描述。可以将经处理的测试代码140发送至云,并且由测试装置114执行。继而可以经由CCAT服务器将测试结果150传送回测试者120。
图2示出了用于实现网页的云连接自动化测试的备选系统200。除了CCAT服务器上的功能可以在云中实现,系统200类似于系统100。由此,CCAT服务提供者可以不需要维护并且操作其自己的服务器。相反,CCAT服务提供者可以利用来自一个或多个云服务提供者的云112中的硬件和/或平台用于实现CCAT功能,包括代码流水线130。
在对图1和图2的系统200的另一备选系统中,测试脚本120_1、120_2和120_M可以存储在云112中的存储库中。远程测试者设备102可以用于将测试脚本提交到云存储库中。远程测试者设备102还可以用于例如经由访问CCAT网络服务器的web浏览器来传送指令,以便发起针对存储在云存储库中的测试或者测试的组合的自动过程。
服务器(包括CCAT服务器、网络服务器和云中配置的服务器)和测试者设备每个可以实现为处理电路301,例如,如图3中所示。处理电路301可以包括通信接口302、系统资源304、输入/输出(I/O)接口306和显示电路308,其在本地生成机器接口310或者用于远程显示。机器接口310和I/O接口306可以包括GUI、触敏显示器、语音或者面部识别输入、按钮、开关、扬声器和其他用户接口元件。I/O接口305还可以包括磁或光介质接口(例如,CDROM或者DVD驱动)、串行和并行总线接口以及键盘和鼠标接口。
通信接口302可以包括无线发射机和接收机(“收发机”)312以及由收发机312的发射/接收电路使用的任何天线314。收发机312和天线314可以支持Wi-Fi网络通信,Wi-Fi网络通信例如在IEEE802.11的任何版本下,例如,802.11n或802.11ac。通信接口302还可以包括有线收发机316。有线收发机316可以为范围广泛的通信协议中的任何通信协议提供物理层接口,通信协议诸如任何类型的以太网、有线电缆数据服务接口规范(DOCSIS)、数字用户线路(DSL)、同步光纤网络(SONET)或者其他协议。
处理电路301可以经由通信网络110与测试者102通信。处理电路301还可以直接地或者经由通信网络110与存储318通信。存储318可以包括任何类型的存储介质,包括但不限于磁盘或光盘、固态介质和磁带。存储318可以是集中式的或者备选地组织为分布式存储网络。
如图3所示,处理电路301的系统资源304可以包括任何组合的硬件、软件、固件或其他电路和资源。系统资源304例如可以包括指令处理器320。系统资源304还可以包括存储器330。系统资源304例如可以实现为一个或多个片上系统(SoC)、专用集成电路(ASIC)、微处理器,其与固态存储器、随机存取存储器、离散模拟和数字电路和其他电路相结合。系统资源304提供用于处理电路301中的任何期望功能性的实现的基础平台。存储器330例如存储处理器320可以执行用以实现CCAT服务器、测试装置服务器或者测试者设备的期望功能性的指令。
图4A图示了CCAT服务器108的示例性代码流水线130。特别地,CCAT服务器运行CCAT引擎414以用于转码,例如,将测试者102提交的测试脚本120转码为测试代码140。CCAT引擎414可以根据需要的频率来更新和重新编译。例如,可以在每次提交测试脚本时实时地编译和重新生成CCAT引擎414。用于CCAT引擎的源代码可以存储在源代码服务器410中。源代码编译器412可以用于编译CCAT源代码,其可以在任何时刻修改或者更新。经编译的CCAT引擎经由通信网络110从测试者102取得测试脚本120作为输入,并且将测试脚本转码为测试代码140,其可以由图1或者图2的基于云的测试装置114来解译和执行。作为示例,基于云的测试装置可以是在云中配置并且包含测试中心和测试节点的测试网格,诸如Selenium(TM)网格。
图4B图示了代码流水线130的备选实现。在图4B的代码流水线130中,CCAT引擎414和源代码编译器412可以被组合为持续集成编译器412/414,其在单个步骤中处理CCAT引擎的源代码并且将测试脚本120从测试者102输入到测试代码140中。由此,每次由测试者提交测试时可以使用持续更新的CCAT引擎源代码。
代码流水线130可以具体配置用于将测试脚本120转码为多个测试用例的测试代码140,所述多个测试用例将要作为独立的线程由测试装置114运行。另外,代码流水线可以生成测试代码140,以使得每个测试用例可以针对不同的操作环境并行地运行。例如,如图5中所示,可以将测试脚本120转码,以便作为多个测试线程502、504和506来运行,每个与N个测试用例中的独立测试用例相对应。例如,在测试用例没有数据相关性时,测试用例是独立的,即,一个测试用例的运行不取决于任何其他测试用例的状态或者输出。每个测试用例(包括其测试步骤和测试脚本120中指定的测试数据)可以在操作环境1和操作环境2二者中运行,分别由510、520、530和512、522、532示出。为了描述简单,在此引用两个非限制性的操作环境。如上文讨论的,作为web浏览器、操作系统和用户设备的不同版本的组合,很多操作环境可能需要进行测试。
作为上文关于图5所描述的内容的备选,可以由代码流水线生成测试代码140,以使得每个操作环境中的每个测试用例可以作为独立的线程由测试装置114运行。这由图6中的610、612、620、622、630和632示出。具体地,不是运行图5中作为N个线程的测试,每个针对N个测试用例中的一个,而是测试可以作为N×K个独立线程来运行,其中,K指示正在测试的操作环境的数目。
由代码流水线130生成的测试代码可以经由诸如Selenium(TM)网格的测试网格来实例化测试实例。测试代码由此可以包含被格式化为调用测试网格中的测试对象的测试步骤和测试数据的收集,测试对象诸如Selenium(TM)远程网络驱动对象。测试网格包括测试中心(hub),以及在云112中预先创建的一个或多个测试节点。例如,测试中心和测试节点中的每个可以由IP地址和/或端口号来标识。与图5相对应,可以独立地实例化针对每个测试用例的测试线程,以便在测试网格网络驱动中创建测试对象,每个用于多个操作环境中的一个。例如,针对图5中的测试线程502(用于测试用例1),操作环境1和2可以分别是微软Windows 2006中的Google Chrome和MacOS X v1.07中的Safari 6.1.6的最新版本。相对应地,由代码流水线生成的测试代码可以包含用于创建针对测试用例1的独立线程的命令。在该线程内,由代码流水线生成的测试代码还可以包含对适当的测试网格对象的函数调用,以用于创建Chrome和Safari网络驱动对象(或者适当的Chrome或者Safari能力的网络驱动),以便再次经由适当的测试网格函数调用来运行与测试用例1相关联的测试步骤和测试数据。上述实现同样地应用于针对其他测试用例的测试线程,诸如图5的测试用例2和测试用例N。
备选地,并且与图6相对应地,由代码流水线生成的测试代码可以配置用于创建针对测试用例和操作环境的每个组合的一个测试线程。由此,针对每个测试用例的测试步骤和测试数据实际上被复制到针对各种操作环境的独立测试线程中。具体地针对测试线程,创建与要测试的操作环境相对应的测试网格网络驱动。测试用例的测试步骤和测试数据针对独立线程中创建的测试网格网络驱动中的各种操作环境并行地运行。
在另一实现中,如图7所示,可以由代码流水线生成测试代码140,以用于创建‘L’个独立的测试线程,诸如702、704和706,每个实例化具有测试中心和至少一个测试节点的测试网格。具体地,测试线程702、704和706可以分别繁衍测试中心和测试节点对710/712、720/722和730/732,以用于运行相对应的测试用例的测试步骤。例如,每个测试线程702、704或707可以与一个测试用例相对应,并且由此,可以由相对应的测试中心/测试节点对中的每个测试线程针对各种操作环境来实例化各种测试网格网络驱动。备选地,每个测试线程702、704或706可以与测试用例和测试环境的一个组合相对应,并且因此,可以在每个测试中心和测试节点对中实例化一个适当的测试网格网络驱动。
图8图示了使用CCAT代码流水线和测试工具的图2的测试系统200的具体示例800,测试装置是在虚拟和弹性测试云802中实现的测试网格的形式。测试脚本120被输入到代码流水线130中。作为示例,代码流水线130可以使用云中的自动化服务器804、源代码存储库806和建立工具808,以用于以上文所述的持续集成的方式,从源代码存储库中拉取针对CCAT引擎的源代码,编译CCAT源代码,并且将输入的测试脚本转码为适合于测试网格812的测试代码。具体地,测试云802可以是例如亚马逊网络服务(AWS);自动化服务器804可以经由Jenkins(TM)来提供自动化服务;源代码存储库806可以经由GitHub(TM)来提供;并且,建立工具808可以经由Gradle(TM)来提供。由代码流水线130生成的测试代码可以实例化包含测试网格812中的远程网络驱动的多个测试线程,如上所述。测试网格例如可以基于Selenium(TM)网格。测试的输出,包括各种操作环境中的各种测试用例的结果,能够以各种格式存储在云中的存储810中,各种格式诸如电子表格820和屏幕截图图像830。在实现代码流水线130时,虚拟和弹性测试云802中的测试装置812和测试结果810的存储、其他适合的云服务工具816可以参与增强例如弹性和安全性。例如,针对亚马逊网络服务,根据需要可以调用诸如VPC(TM)、EC2(TM)、AMI(TM)和IAM(TM)的组件。云和云工具可以由操作人员855来管理。
在图8的实现中,测试脚本的开发和测试输出分析可以由QA人员来执行,如870所示。代码开发者880可以参与建立和维护核心代码,包括CCAT代码和为测试网格812生成的测试代码。
如860所指示,图8的实现由此使用自动化代码流水线提供建立CCAT代码的持续集成。另外,如862所指示,图8的实现使用诸如Selenium(TM)网格的测试网格作为自动化测试装置。进一步地,该实现提供了网站的分布式开发和测试,如864所示。最后,整个代码建立和测试在为虚拟化测试而优化的云中实现,如866所指示。
用于测试脚本120的文法规则可以被设计为避免编写计算机代码的技术性。由此,所有的技术性可以嵌入到CCAT引擎中,并且图8的QA人员818不需要拥有任何特殊编码技能。具体地,用于测试用例的测试步骤和测试数据可以在测试脚本描述符中指定,测试脚本描述符易于人类读取和编写。例如,包含针对测试用例中的每个的测试步骤和测试数据的测试脚本可以编写为测试电子表格840或者轻量数据交换格式850(诸如JSON(Javascript对象表示法))的形式的测试脚本描述符。测试电子表格格式的示例性测试脚本的收集由图9的1000示出。每个电子表格可以与例如一个测试用例相对应。测试电子表格的每一行与例如包含多个列的测试步骤的一个条目相对应。
进一步地,针对测试脚本可以开发有意义的关键词,以便由非技术性的测试者容易地构造测试步骤。在图9所示的测试脚本中,例如,关键词集合902包括“打开URL”、“等待”、“点击”等等。这些关键词可以承载非技术人员在不具备各种编程组件的文法严谨度的情况下易于理解的字面意义。这些关键词例如可以表示测试步骤中的动作,诸如打开网页和点击按钮。这些关键词还可以用于控制测试步骤的定时,诸如在动作之间等待特定时间段。
关键词还可以与一个或多个测试数据或者参数相关联。这些参数可以指定为电子表格中的一个或多个单独的列,诸如图9的904。例如,关键词“打开URL”可以与表示要进行测试的网页的URL的测试数据相关联,如908所示。又例如,关键词“等待”可以与表示用于在动作之间等待的时间量(诸如,以秒为单位)的数字相关联,如910所示。又例如,关键词“点击”可以与指示网页中的要点击的按钮或者其他对象的名称(或者标识符)的参数相关联。
指示在建立测试代码时特定行中的测试步骤是否应当被代码流水线忽略的附加列可以包括在测试脚本电子表格中,如图9中标注为“运行模式”的列906所图示。在测试脚本电子表格中包括该列的优点是,可以方便地对测试用例进行修改以移除或者包括特定测试步骤。如果测试步骤是想要的或者需要的,相对应的行可以利用列“运行模式”下的“是”来标记。如果测试步骤在测试的进一步回合中变为不必要的,可以将相对应的行的运行模式标记简单地从“是”修改为“否”。例如,如果在一个时刻可以决定图9的步骤920不再有必要。代替删除这些测试步骤,测试者可以简单地将这些步骤的运行模式指示符修改为“否”。如果再一次需要这些步骤,可以简单地将运行模式指示符修改回“是”。
上文描述的测试脚本和测试脚本描述符可以包含附加信息,其可以帮助生成测试结果。例如,图10所示的用于测试脚本描述符的电子表格1000包含附加列,诸如1008、1010和1012。这些列可以指示测试步骤的预期输出。具体地,因为预期输出在不同的操作环境之间可能是不同的,针对各种操作环境(诸如,FireFox(FF)、Chrome和Internet Explorer(IE))的测试步骤的预期测试输出可以由1008、1010和1012单独指定。该信息对于CCAT系统构造图8的更加可理解的测试结果820可能是有用的。例如,CCAT引擎可以配置用于将来自测试的返回的文本与预期文本进行比较,并且向测试者生成通过或者失败指示符,而不是返回从测试生成的实际文本。
可以如上文详细描述的来构造多个测试脚本描述符(诸如测试脚本的测试电子表格),并且每个测试脚本描述符可以与一个独立的测试用例相对应。一个附加的测试文档,称为测试主文档,可以进一步由测试者构造,并且由CCAT代码流水线进行转码,以指定要执行每个测试用例的各种操作环境。示例性测试主文档可以是电子表格1100,如图11所示。测试主电子表格1100的每个行可以与测试用例和操作环境对相对应。例如,被标注为“测试用例”的测试主电子表格1100的列1102使用例如测试脚本描述符的标识符或者文件名称来指定测试用例,测试脚本描述符诸如与测试用例相对应的电子表格。在图11中,作为示例,包括九个不同的测试用例。
图11中的测试主电子表格的“浏览器”列1104指定用于测试测试用例的各种浏览器。虽然图11的示例仅通过要测试的一般种类的web浏览器来指定操作环境,但是可以理解,这些种类可以细化为较小的粒度。例如,“chrome”种类可以被进一步细化为在各种操作系统中运行的各种版本的chrome。备选地,这些详细的版本或者操作系统信息可以在图11的电子表格的附加列中指定。
图11中的测试主电子表格的“运行模式”列1106指定特定测试用例和web浏览器组合(或者测试用例和操作系统组合)是否将要被执行。例如,图11的测试主指定20个测试将要被执行,包括9个测试用例中的7个,每个在所有三个主要web浏览器Firefox、Chrome和Internet Explorer中执行。图11的测试主电子表格由此提供用于指定任何测试组合的方便方式。
针对测试用例的测试脚本和要测试的操作环境统称为测试套件。上文描述的格式化测试脚本描述符(诸如测试脚本电子表格,例如图9)和测试主文档(诸如图11的测试主电子表格)统称为测试描述符。可以将测试套件输入到图1、图2和图8的代码流水线130中,以用于可选地调用图8中描述的测试网格和网络驱动来创建图5-图7中描述的多个测试线程。图12进一步示出了由CCAT系统创建的独立的CCAT测试驱动对象形式的三个不同浏览器(Chrome、InternetExplorer和Firefox)中的2个测试用例的六个线程,1201-1206。每个CCAT测试驱动对象进一步包含具有适当的浏览器能力的远程网络驱动(例如Selenium网络驱动对象),如1211-1216所示。这些远程网络驱动不共享资源。而是,CCAT测试驱动对象1201-1206中的每个通过拥有其自己的测试步骤和测试数据来维持其自治,如1221-1226所示。
相比之下,图13示出了用于在三个线程1301-1303中运行两个测试用例1321-1322和三种不同的浏览器的备选实现,每个与一个浏览器能力相对应。例如,可以利用适当的能力来实例化测试网格中的不同远程网络驱动对象1311-1316。由于在每个线程内共享共用数据资源,每个线程内的两个测试用例之间可能有线程重叠,导致无意和疏忽的结果。
这可以在运行两个示例性测试用例的图14中图示。针对两个测试用例二者,首先打开相同的网页。网页包含输入框“用户名”。第一测试用例包含输入“XYZ”作为用户名的步骤。第二测试用例包含输入“abc”作为用户名的步骤。在图12的6线程CCAT测试驱动对象实现中,在单独的线程中独立地调用相同浏览器能力的远程网络驱动,并且由此每个远程网络驱动运行web浏览器的一个实例,并且用户名被正确地输入到每个web浏览器中,如图14的1401所示。然而,在图13的3线程实现中,由于图14中的1402的1411和1414、1412和1415、1413和1416之间的线程重叠,测试网格可能无法在两个测试用例之间进行区分。因此,用于测试用例1的用户名(“XYZ”)和用于测试用例2的用户名(“abc”)可能都无意地录入到相同的web浏览器中,如图14中的1402的1411-1413所示。
图15进一步图示了使用语音命令或者单击来激活上文所述的云1503中的多线程测试。例如,与相对应的语音处理服务器1502通信的语音输入/输出电路1501可以用于输入语音命令1510,以用于经由事件驱动的计算服务器1520建立和运行来自代码流水线130的多线程测试代码。备选地,测试代码的建立和运行可以由与IoT服务器1532和事件驱动的计算服务器1520通信的IoT(物联网)单击设备1530来激活。语音处理服务器1502还可以用于处理来自语音输入/输出电路1501的测试结果查询1540输入,并且将测试结果转换为语音,并且由语音输入/输出电路1501发出为语音1550。备选地,可以将测试结果转换为用于条件网络服务(诸如IFTTT或者IF)1570的预定义信号1560,以便触发网络连接LED指示器1580。作为示例,云可以是亚马逊网络服务(AWS);语音输入/输出电路1501可以是亚马逊回声设备;语音处理服务器1502可以是亚马逊Alexa服务器;IoT单击设备1530可以是AWS IoT单击设备;IoT服务器1532可以是AWS IoT服务器;并且,网络连接LED指示器1580可以是飞利浦智能LED色调线。
使用图15的实现及其变体,测试用例可以在云中设计并且作为测试存储库存储在云中。云服务,诸如事件驱动计算服务、条件网络服务、云代码流水线服务和云存储,被整体调用以用于应用的综合和有效测试。具体地,用以发起代码建立的自动化过程的语音激活或者IoT驱动的接口、多个操作环境中的测试组的多线程执行、测试结果处理和经由语音和/或视觉指示器的测试结果反馈的集成为非技术QA人员提供了用于以任何组合并且从任何地方进行分布式和自动化的测试的方便平台。
上文已经具体描述了各种实现。然而,很多其他实现也是可能的。进一步地,上文描述的方法、设备、处理、框架、电路和逻辑能够以许多不同的方式、在硬件和软件的许多不同组合中实现。例如,实现的全部或者部分可以是包括指令处理器的电路,诸如中央处理单元(CPU)、微控制器或微处理器;或者专用集成路(ASIC)、可编程逻辑器件(PLD)或现场可编程门阵列(FPGA);或者包括离散逻辑或其他电路组件的电路,其他电路组件包括模拟电路组件、数字电路组件或者二者;或者其任何组合。作为示例,电路可以包括离散互连硬件组件,或者可以组合在单个集成电路管芯上,分布在多个集成电路管芯之间,或者在共用封装中的多个集成电路管芯的多芯片模块(MCM)中实现。
因此,电路可以存储或者访问用于执行的指令,或者可以单独在硬件中实现其功能性。指令可以存储在除了暂时信号的有形存储介质中,诸如闪速存储器、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM);或者磁盘或光盘,诸如紧凑盘只读存储器(CDROM)、硬盘驱动(HDD)或者其他磁盘或光盘;或者另一机器只读介质中或其上。诸如计算机程序产品的产品可以包括存储介质以及存储在该介质中或上的指令,并且指令在由设备中的电路执行时使得设备实现上文描述或者附图中所图示的任何处理。
实现可以是分布式的。例如,电路可以包括多个有区别的系统组件,诸如多个处理器和存储器,并且可以跨越多个分布式处理系统。参数、数据库和其他数据结构可以单独存储和控制,并且可以并入到单个存储器或者数据库中,能够以许多不同的方式逻辑地和物理地组织,并且能够以许多不同的方式实现。示例实现包括链表、程序变量、哈希表、数组、记录(例如,数据库记录)、对象和隐式存储机制。指令可以形成单个程序的部分(例如,子例程或者其他代码段),可以形成多个单独的程序,可以跨多个存储器和处理器分布,并且可以按照许多不同的方式实现。示例实现包括独立程序,并且作为库的一部分,诸如共享库,类似于动态链接库(DLL)。库例如可以包含共享数据以及一个或多个共享程序,其包括在由电路执行时执行上文描述或者附图中图示的任何处理的指令。
本文描述的原理能够以许多不同的形式来具体化。并非所有所描绘的组件都是需要的,而且,一些实现可以包括附加组件。在不脱离本文所阐述的权利要求的精神和范围的情况下,可以对组件的布置和类型做出改变。另外,可以提供不同的或者更少的组件。
Claims (20)
1.一种方法,包括:
接收测试套件,所述测试套件包括针对应用的多个独立测试用例;
标识针对来自所述测试套件的所述多个测试用例的测试数据;
标识针对来自所述测试套件的所述多个测试用例中的每个测试用例的将要执行的测试步骤;
标识用于运行来自所述测试套件的所述独立测试用例的多个不同的操作环境;
针对所述多个不同的操作环境中的一个操作环境中的所述多个测试用例中的一个测试用例的每个组合,
实例化包括远程测试驱动的独立测试线程;以及
将来自所述测试套件的所标识的测试数据以及针对所述独立测试用例中的一个独立测试用例的所标识的测试步骤复制到所述远程测试驱动中,以创建针对所述独立测试线程的线程特定测试数据集;以及
通过基于所述线程特定测试数据集和所述远程测试驱动来运行所述测试线程,独立地针对所述多个不同的操作环境中的每个操作环境来执行所述多个测试用例。
2.根据权利要求1所述的方法,其中所述应用是网站,并且所述测试套件包括测试描述符集合。
3.根据权利要求2所述的方法,其中所述描述符集合包括测试主文档和多个测试脚本描述符,所述多个测试脚本描述符中的每个测试脚本描述符与所述多个测试用例中的一个测试用例相对应。
4.根据权利要求3所述的方法,其中每个测试脚本描述符包括测试步骤条目,所述测试步骤条目指定用于与所述每个测试脚本描述符相对应的测试用例的测试步骤。
5.根据权利要求4所述的方法,其中每个测试步骤条目包括指定测试动作的预定义关键词。
6.根据权利要求4所述的方法,其中所述测试步骤条目中的至少一个测试步骤条目还包括指定用于所述至少一个测试步骤条目的测试数据的数据项。
7.根据权利要求4所述的方法,其中所述测试步骤条目中的至少一个测试步骤条目还包括指定用于所述至少一个测试步骤条目的预期测试输出的数据项。
8.根据权利要求4所述的方法,其中每个测试步骤条目还包括指示所述每个测试步骤条目是否将要被执行的测试执行指示符。
9.根据权利要求3所述的方法,其中所述测试主文档指定每个测试用例将要在其中运行的操作环境,并且其中每个操作环境至少包括web浏览器的类型。
10.根据权利要求2所述的方法,其中每个远程测试驱动包括预定测试网格环境中的独立测试网格web驱动。
11.一种基于云的平台,包括:
通信接口;
存储器;以及
与所述存储器和所述通信接口通信的电路,所述电路配置用于:
经由所述通信接口接收测试套件,所述测试套件包括针对应用的多个独立测试用例;
标识针对来自所述测试套件的所述多个测试用例的测试数据;
标识针对来自所述测试套件的所述多个测试用例中的每个测试用例将要执行的测试步骤;
标识用于运行来自所述测试套件的所述独立测试用例的多个不同的操作环境;
针对所述多个不同的操作环境中的一个操作环境中的所述多个测试用例中的一个测试用例的每个组合,
实例化包括远程测试驱动的独立测试线程;以及
将来自所述测试套件的所标识的测试数据以及针对所述独立测试用例中的一个独立测试用例的所标识的测试步骤复制到所述远程测试驱动中,以创建针对所述独立测试线程的线程特定测试数据集;以及
通过基于所述线程特定测试数据集和所述远程测试驱动来运行所述测试线程,独立地针对所述多个不同的操作环境中的每个操作环境来执行所述多个测试用例。
12.根据权利要求11所述的基于云的平台,其中所述应用是网站,并且所述测试套件包括测试描述符集合。
13.根据权利要求12所述的基于云的平台,其中所述描述符集合包括测试主文档和多个测试脚本描述符,所述多个测试脚本描述符中的每个测试脚本描述符与所述多个测试用例中的一个测试用例相对应。
14.根据权利要求13所述的基于云的平台,其中每个测试脚本描述符包括测试步骤条目,所述测试步骤条目指定用于与所述每个测试脚本描述符相对应的测试用例的测试步骤。
15.根据权利要求14所述的基于云的平台,其中每个测试步骤条目包括指定测试动作的预定义关键词。
16.根据权利要求14所述的基于云的平台,其中所述测试步骤条目中的至少一个测试步骤条目还包括指定用于所述至少一个测试步骤条目的测试数据的数据项。
17.根据权利要求14所述的基于云的平台,其中所述测试步骤条目中的至少一个测试步骤条目还包括指定用于所述至少一个测试步骤条目的预期测试输出的数据项。
18.根据权利要求14所述的基于云的平台,其中每个测试步骤条目还包括指示所述每个测试步骤条目是否将要被执行的测试执行指示符。
19.根据权利要求13所述的基于云的平台,其中所述测试主文档指定每个测试用例将要在其中运行的操作环境,其中每个操作环境至少包括web浏览器的类型。
20.一种方法,包括:
预定义关键词集合,其中每个关键词与用于测试网站的测试动作集合之中的测试动作相对应;
接收测试套件,所述测试套件包括测试主文档和多个测试脚本描述符,所述多个测试脚本描述符中的每个测试脚本描述符针对用于所述网站的多个独立测试用例中的一个独立测试用例,其中每个测试脚本描述符包括根据预定义的文法规则布置的所述关键词集合中的多个关键词;
标识针对来自所述测试套件的所述多个测试用例的测试数据;
根据来自所述测试脚本描述符的所述多个关键词以及指示测试步骤是否将要被执行的所述测试脚本描述符中的指示符字段,标识针对所述多个测试用例将要执行的测试步骤;
标识用于运行来自所述测试主文档的所述独立测试用例的多个不同的操作环境,其中每个操作环境至少包括web浏览器的类型;
针对所述多个不同的操作环境中的一个操作环境中的所述多个测试用例中的一个测试用例的每个组合,
实例化包括远程测试驱动的独立测试线程;以及
将来自所述测试套件的所标识的测试数据以及针对所述独立测试用例中的所述一个独立测试用例的所标识的测试步骤复制到所述远程测试驱动中,以创建针对所述独立测试线程的线程特定测试数据集;以及
通过基于所述线程特定测试数据集和所述远程测试驱动来运行所述测试线程而独立地针对所述多个不同的操作环境中的每个操作环境来执行所述多个测试用例。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/412,481 | 2017-01-23 | ||
US15/412,481 US10120788B2 (en) | 2017-01-23 | 2017-01-23 | Cloud connected automated testing in multiple operating environments using multiple parallel test threads |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108347358A true CN108347358A (zh) | 2018-07-31 |
CN108347358B CN108347358B (zh) | 2022-12-06 |
Family
ID=60673733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711406044.4A Active CN108347358B (zh) | 2017-01-23 | 2017-12-22 | 云连接的自动化测试的方法和系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10120788B2 (zh) |
EP (1) | EP3352085B1 (zh) |
JP (1) | JP6580664B2 (zh) |
CN (1) | CN108347358B (zh) |
CA (1) | CA2990074A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110765012A (zh) * | 2019-10-15 | 2020-02-07 | 北京信安世纪科技股份有限公司 | 一种自动化测试脚本生成及解析执行方法 |
CN112181855A (zh) * | 2020-10-30 | 2021-01-05 | 深圳云之家网络有限公司 | 一种基于api的自动化测试方法、装置及计算机设备 |
CN113029223A (zh) * | 2020-09-15 | 2021-06-25 | 山东华科信息技术有限公司 | 基于网络通信的批量检测传感器的检测装置 |
CN114356051A (zh) * | 2022-01-05 | 2022-04-15 | 大兴安岭焦点科技有限公司 | 一种基于云计算及云服务器的电子信息储存技术方法研究 |
CN117112391A (zh) * | 2022-11-15 | 2023-11-24 | 领悦数字信息技术有限公司 | 用于功能测试的方法和系统 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10452508B2 (en) * | 2015-06-15 | 2019-10-22 | International Business Machines Corporation | Managing a set of tests based on other test failures |
US11087358B2 (en) * | 2016-06-24 | 2021-08-10 | The Nielsen Company (Us), Llc | Methods and apparatus for wireless communication with an audience measurement device |
US10534698B2 (en) * | 2017-08-24 | 2020-01-14 | Salesforce.Com, Inc. | Stateless self-sufficient test agents |
CN109446082B (zh) * | 2018-10-23 | 2021-07-16 | 太仓市同维电子有限公司 | 多线程测试流程项目配置系统 |
CN109408392A (zh) * | 2018-11-06 | 2019-03-01 | 北京京航计算通讯研究所 | 基于持续集成技术的软件集成测试方法 |
US10515005B1 (en) * | 2018-12-20 | 2019-12-24 | Atlassian Pty Ltd | Systems and methods for testing source code |
CN109766276B (zh) * | 2018-12-29 | 2024-01-12 | 通力科技股份有限公司 | 开放式平台测试方法、装置、计算机可读存储介质及系统 |
CN110427192A (zh) * | 2019-08-01 | 2019-11-08 | 上海麦克风文化传媒有限公司 | 一种it系统持续集成和持续发布方法 |
CN110958307B (zh) * | 2019-11-20 | 2022-04-08 | 瑞玛思特(北京)科技有限公司 | 一种基于云的5g和物联网信号产生与分析的测试系统 |
CN110889923A (zh) * | 2019-11-29 | 2020-03-17 | 南京邮电大学 | 一种基于IPv6的校园智能浴室排队系统 |
CN111177006B (zh) * | 2019-12-31 | 2024-02-02 | 惠州市德赛西威汽车电子股份有限公司 | 一种车载娱乐导航测试用例自动生成系统 |
CN111338970B (zh) * | 2020-03-25 | 2023-03-03 | 广州棒谷科技股份有限公司 | 一种web端关键字驱动的ui自动化测试方法 |
CN112286797B (zh) * | 2020-09-29 | 2024-05-03 | 长沙市到家悠享网络科技有限公司 | 一种服务监控方法、装置、电子设备及存储介质 |
CN112286806B (zh) * | 2020-10-28 | 2023-10-03 | 成都佰维存储科技有限公司 | 自动化测试方法、装置、存储介质及电子设备 |
CN113407440B (zh) * | 2021-05-24 | 2024-02-09 | 深圳市广和通无线股份有限公司 | 无线通信模组的测试系统和方法 |
CN113220595B (zh) * | 2021-06-11 | 2023-10-03 | 中国农业银行股份有限公司 | 测试方法及设备 |
GB2611799B (en) * | 2021-10-15 | 2024-01-17 | Ruken Tech Ltd | A computer-implemented method and apparatus for performing continuous integration of a software change |
US11860771B1 (en) * | 2022-09-26 | 2024-01-02 | Browserstack Limited | Multisession mode in remote device infrastructure |
CN116401175A (zh) * | 2023-05-29 | 2023-07-07 | 云筑信息科技(成都)有限公司 | 一种基于json文件追加写入图片的处理方法 |
CN116991750B (zh) * | 2023-09-28 | 2023-12-22 | 北京索云科技股份有限公司 | 利用多线程和分布式代理实现大并发模拟的压力测试方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075381A (zh) * | 2010-12-14 | 2011-05-25 | 云海创想信息技术(北京)有限公司 | 一种应用于云存储的自动化测试平台服务器及系统 |
US8418000B1 (en) * | 2012-03-13 | 2013-04-09 | True Metrics LLC | System and methods for automated testing of functionally complex systems |
US8839035B1 (en) * | 2011-09-14 | 2014-09-16 | Amazon Technologies, Inc. | Cloud-based test execution |
US8875102B1 (en) * | 2009-03-12 | 2014-10-28 | Google Inc. | Multiple browser architecture and method |
US20150082279A1 (en) * | 2013-09-13 | 2015-03-19 | Sap Ag | Software testing system and method |
US20150089299A1 (en) * | 2013-09-25 | 2015-03-26 | Microsoft Corporation | Online application testing across browser environments |
JP2016048470A (ja) * | 2014-08-27 | 2016-04-07 | 日本電気株式会社 | アプリケーションテスト支援装置、そのデータ処理方法、およびプログラム |
CN105630669A (zh) * | 2014-11-20 | 2016-06-01 | 埃森哲环球服务有限公司 | 基于web的应用的自动化测试 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002244882A (ja) * | 2001-02-19 | 2002-08-30 | Nec Soft Ltd | プログラムテスト監視システム、プログラムテスト監視方法、および、プログラムテスト監視プログラム |
US7376937B1 (en) * | 2001-05-31 | 2008-05-20 | Oracle International Corporation | Method and mechanism for using a meta-language to define and analyze traces |
US8196104B2 (en) * | 2005-08-31 | 2012-06-05 | Sap Ag | Systems and methods for testing application accessibility |
US8079037B2 (en) * | 2005-10-11 | 2011-12-13 | Knoa Software, Inc. | Generic, multi-instance method and GUI detection system for tracking and monitoring computer applications |
US8286143B2 (en) * | 2007-11-13 | 2012-10-09 | International Business Machines Corporation | Method and system for monitoring code change impact on software performance |
US8539447B2 (en) * | 2008-06-04 | 2013-09-17 | Microsoft Corporation | Real-time validation of interactive applications |
US8572566B2 (en) * | 2010-05-11 | 2013-10-29 | Smartshift Gmbh | Systems and methods for analyzing changes in application code from a previous instance of the application code |
US8813039B2 (en) * | 2010-04-14 | 2014-08-19 | International Business Machines Corporation | Method and system for software defect reporting |
US8621441B2 (en) * | 2010-12-27 | 2013-12-31 | Avaya Inc. | System and method for software immunization based on static and dynamic analysis |
EP2705632B8 (en) * | 2011-05-06 | 2018-09-12 | Citrix Systems, Inc. | Systems and methods for cloud bridging between public and private clouds |
TWI476586B (zh) * | 2011-07-13 | 2015-03-11 | Inst Information Industry | 以雲端技術為基礎之測試系統、方法以及其電腦可讀取記錄媒體 |
US8819490B2 (en) * | 2011-12-30 | 2014-08-26 | Microsoft Corporation | Test execution spanning cloud and local devices |
JP2014010581A (ja) * | 2012-06-28 | 2014-01-20 | Toshiba Corp | テスト装置、テストシステム、テスト方法、及びプログラム |
US9047410B2 (en) * | 2012-07-18 | 2015-06-02 | Infosys Limited | Cloud-based application testing |
US9009677B2 (en) * | 2013-03-18 | 2015-04-14 | Microsoft Technology Licensing, Llc | Application testing and analysis |
US9760567B1 (en) * | 2013-10-21 | 2017-09-12 | Ca, Inc. | Method and apparatus for using a common dialect for testing on multiple execution interfaces |
CN105446872B (zh) * | 2014-08-29 | 2018-04-10 | 国际商业机器公司 | 测试移动应用的管理器、测试代理器及方法 |
-
2017
- 2017-01-23 US US15/412,481 patent/US10120788B2/en active Active
- 2017-12-15 EP EP17207826.3A patent/EP3352085B1/en active Active
- 2017-12-21 CA CA2990074A patent/CA2990074A1/en active Pending
- 2017-12-22 CN CN201711406044.4A patent/CN108347358B/zh active Active
- 2017-12-22 JP JP2017246572A patent/JP6580664B2/ja active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8875102B1 (en) * | 2009-03-12 | 2014-10-28 | Google Inc. | Multiple browser architecture and method |
CN102075381A (zh) * | 2010-12-14 | 2011-05-25 | 云海创想信息技术(北京)有限公司 | 一种应用于云存储的自动化测试平台服务器及系统 |
US8839035B1 (en) * | 2011-09-14 | 2014-09-16 | Amazon Technologies, Inc. | Cloud-based test execution |
US8418000B1 (en) * | 2012-03-13 | 2013-04-09 | True Metrics LLC | System and methods for automated testing of functionally complex systems |
US20150082279A1 (en) * | 2013-09-13 | 2015-03-19 | Sap Ag | Software testing system and method |
US20150089299A1 (en) * | 2013-09-25 | 2015-03-26 | Microsoft Corporation | Online application testing across browser environments |
JP2016048470A (ja) * | 2014-08-27 | 2016-04-07 | 日本電気株式会社 | アプリケーションテスト支援装置、そのデータ処理方法、およびプログラム |
CN105630669A (zh) * | 2014-11-20 | 2016-06-01 | 埃森哲环球服务有限公司 | 基于web的应用的自动化测试 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110765012A (zh) * | 2019-10-15 | 2020-02-07 | 北京信安世纪科技股份有限公司 | 一种自动化测试脚本生成及解析执行方法 |
CN113029223A (zh) * | 2020-09-15 | 2021-06-25 | 山东华科信息技术有限公司 | 基于网络通信的批量检测传感器的检测装置 |
CN112181855A (zh) * | 2020-10-30 | 2021-01-05 | 深圳云之家网络有限公司 | 一种基于api的自动化测试方法、装置及计算机设备 |
CN114356051A (zh) * | 2022-01-05 | 2022-04-15 | 大兴安岭焦点科技有限公司 | 一种基于云计算及云服务器的电子信息储存技术方法研究 |
CN117112391A (zh) * | 2022-11-15 | 2023-11-24 | 领悦数字信息技术有限公司 | 用于功能测试的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
EP3352085B1 (en) | 2021-07-28 |
JP6580664B2 (ja) | 2019-09-25 |
CN108347358B (zh) | 2022-12-06 |
CA2990074A1 (en) | 2018-07-23 |
US10120788B2 (en) | 2018-11-06 |
JP2018139106A (ja) | 2018-09-06 |
EP3352085A1 (en) | 2018-07-25 |
US20180210822A1 (en) | 2018-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108347358A (zh) | 云连接的自动化测试 | |
US9772929B2 (en) | System and method for automated testing of software applications with dynamic user interfaces spanning multiple technologies | |
US10628132B2 (en) | Inversion of control framework for multiple behaviors of a process | |
EP3026565B1 (en) | Automated testing of web-based applications | |
US7917888B2 (en) | System and method for building multi-modal and multi-channel applications | |
CA2915619C (en) | Method and apparatus for customized software development kit (sdk) generation | |
CN102597993B (zh) | 利用统一资源标识符管理应用状态信息 | |
US20130338995A1 (en) | Practical natural-language human-machine interfaces | |
US10656907B2 (en) | Translation of natural language into user interface actions | |
US11093222B2 (en) | Generating interfaces from annotated entity definitions for developing applications | |
US20130298110A1 (en) | Software Visualization Using Code Coverage Information | |
US20140289738A1 (en) | Systems and Methods for Dynamic Configuration of Client-Side Development Environments Through Use of Application Servers | |
US20210117313A1 (en) | Language agnostic automation scripting tool | |
Ma et al. | Aladdin: Automating release of deep-link APIs on Android | |
US11422783B2 (en) | Auto-deployment of applications | |
US11194602B2 (en) | Runtime execution of entities and services in an application object runtime environment | |
US11055205B1 (en) | Regression testing using automation technologies | |
CA2539134A1 (en) | System and method for designing component based applications | |
US11093220B2 (en) | Generating interfaces from data and service definitions for developing applications | |
Layka | Learn java for web development: Modern java web development | |
Mongiello et al. | AC-contract: Run-time verification of context-aware applications | |
Gundecha et al. | Learn Selenium: Build data-driven test frameworks for mobile and web applications with Selenium Web Driver 3 | |
US10324692B2 (en) | Integration for next-generation applications | |
US11294644B2 (en) | Inversion of control framework for multiple behaviors on top of a process | |
Wenz | Programming ASP. NET AJAX: Build Rich, Web 2.0-Style UI with ASP. NET AJAX |
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 |