CN103810089B - 自动测试基于姿态的应用 - Google Patents

自动测试基于姿态的应用 Download PDF

Info

Publication number
CN103810089B
CN103810089B CN201210449497.6A CN201210449497A CN103810089B CN 103810089 B CN103810089 B CN 103810089B CN 201210449497 A CN201210449497 A CN 201210449497A CN 103810089 B CN103810089 B CN 103810089B
Authority
CN
China
Prior art keywords
test
recorded
test case
data
event
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
CN201210449497.6A
Other languages
English (en)
Other versions
CN103810089A (zh
Inventor
X.曾
C.王
Y.郝
X.耿
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.)
SAP SE
Original Assignee
SAP SE
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 SAP SE filed Critical SAP SE
Priority to CN201210449497.6A priority Critical patent/CN103810089B/zh
Priority to US13/688,243 priority patent/US9342237B2/en
Publication of CN103810089A publication Critical patent/CN103810089A/zh
Application granted granted Critical
Publication of CN103810089B publication Critical patent/CN103810089B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • 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/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor

Abstract

这里描述了用于促进测试网络应用的技术。在一些实施例中,接收包括一个或多个记录的姿态事件的记录的数据的数据文件。用记录的数据加载测试案例。在测试案例重播一个或多个记录的姿态事件并运行网络应用以生成测试结果。

Description

自动测试基于姿态的应用
技术领域
本公开一般涉及软件测试。
背景技术
随着移动计算设备(例如,智能电话、平板计算机、电子阅读器、音乐播放器、等等)的快速发展,在这些平台上运行的软件程序已经变得越来越流行。不同于使用传统的键盘和鼠标与用户进行接口通信的桌面软件程序,这些移动软件程序典型地包括对通过触摸、多点触摸(例如,轻敲、掐捏、等等)、以及其它姿态(gesture)事件进行控制的触觉用户接口的支持。
这样的移动程序的测试遇到一些现实的挑战。本地安装在移动设备中的本地程序(Native programs)更容易测试,因为原始的仿真器典型地包括在软件开发工具包(SDK)中。但是,在没有对多点触摸(multi-touch)姿态的本地支持和公共的应用程序接口(API)的情况下,经由网络浏览器加载的网络应用则更难进行自动测试。支持在网络应用中测试多点触摸事件的工具很有限,并且软件测试者通常必须人工地测试这样的应用。人工测试可以是非常冗长的、容易出错的、以及耗费成本的过程。测试典型地很难再现和保持,并且可能是极其费时的。
因此,存在对于解决现有技术的不足并提供其它新的和创新的特征的系统、方法、以及装置的需求。
发明内容
这里描述了用于促进测试网络应用的计算机实现的技术。在一些实施例中,接收包括一个或多个记录的姿态事件的记录的数据的数据文件。用记录的数据加载测试案例。在测试案例中重播一个或多个记录的姿态事件并运行网络应用以生成测试结果。
随着这些以及其它优点和特征将在以下变得清楚,通过参考以下的详细描述和附加权利要求以及所附的附图可以获得进一步信息。
附图说明
一些实施例示出在附图中。附图中相似的参考标号指代相似的部分。
图1是示出示范性系统的框图;
图2示出记录基于姿态的事件的示范性方法;
图3a示出示范性JSON事件文件;
图3b示出用于在客户端设备处记录触摸事件的示范性序列图;
图4示出示范性测试网页;
图5示出处理事件文件的示范性方法;
图6示出自动测试的方法;
图7示出用于在测试计算机处重播记录的触摸事件的示范性序列图;以及
图8示出另一个示范性测试网页。
具体实施方式
在以下描述中,为了说明的目的,特定的数目、材料、以及配置被阐述,以便提供本架构和方法的彻底的理解,并且以便满足法定撰写的描述、启用、以及优选模式的要求。然而,本领域技术人员将很清楚,在没有特定示范性细节的情况下也可以实践本架构和方法。在其它实例中,熟知特征被省略或简化,以使本架构和方法的示范性实施方式的描述更清楚,并由此更好地解释本架构和方法。而且,为了容易理解,一定的方法步骤被描绘为单独的步骤;但是,这些单独描绘的步骤不应当被解释为必要的从属次序或它们的执行相互独立。
这里描述了在测试自动架构中用于促进测试基于姿态的软件的系统、方法和装置。自动测试架构可以被提供来执行否则需要人工执行的基于姿态的网络应用的测试。如这里所使用的网络应用是指以支持浏览器的语言(例如,JavaScript、超文本标记语言(HTML)、可扩展标记语言(XML)、可扩展超文本标记语言(XHTML)、层叠样式表(CSS)、以及JAVA等等)编码并与依赖于公共的网络浏览器(例如,MICROSOFT WINDOWSINTERNETEXPLORER、MOZILLAFIREFOX、APPLE SAFARI、GOOGLE CHROME、OPERA等等)或其它通过网络的客户端应用来可运行地呈现它们的软件程序。
基于姿态的网络应用支持姿态的使用,诸如触摸、多点触摸、或物理移动,作为在用户交互期间的输入。传统的技术以编程的方式(例如,使用测试脚本)或者使用传统的输入触发器(例如,鼠标或键盘)来模拟姿态事件。然而,模拟所有的不同类型的姿态输入是很困难的和冗长的。不同于传统技术,本技术通过使用真实记录的数据模拟姿态事件,因此不限于能够以编程的方式或者通过传统的输入触发器进行模拟的姿态的类型。本技术能够支持由被测试的网络应用接受的类型的姿态输入,诸如要求使用多于一个手指或其它定点装置的多点触摸姿态(例如,掐捏分开/合拢、两个手指的轻敲、触摸和挥击等等)。
作为测试场景,这里描述的实施方式自动地记录与例如经由移动设备访问的网络应用的基于姿态的用户交互。记录的数据可以被格式化,并存储用于随后的检索。在自动软件测试期间,所记录的数据用来在支持万维网联盟(World Wide Web Consortium,W3C)标准触摸事件的移动设备、桌上型计算机、以及任何其它的测试设备上触发姿态事件。这些以及其它示范性特征将在以下部分更加详细地讨论。
图1是示出实施这里所描述的构架的示范性系统100的框图。系统100一般地包括服务器101、客户端设备150、测试计算机160,它们中的至少一些通过网络132通信地耦接。在一些实例中,服务器101和测试计算机160共同位于或实施在相同的物理机器上。虽然示出为单一机器,服务器101可以包括多于一个的服务器,诸如服务器池。两个或更多的客户端设备150也可以在系统100中操作。
现在更详细地描述服务器101,服务器101可以包括非临时计算机可读的介质或存储器112、中央处理单元(CPU)114、输入输出单元113、以及通信卡116。非临时计算机可读的介质112可能存储机器可执行指令、数据、以及各种程序(诸如操作系统(未示出))、网络服务、用于实施这里描述的技术的事件处理模块122,它们所有都可以由CPU 114来处理。因此,服务器101是通用计算机系统,该通用计算机系统在运行机器可执行指令时变为专用计算机系统。可替换地,这里描述的事件处理模块可以实施为经由操作系统运行的软件产品或应用的一部分。该应用可以整合到已有的软件应用中,如已有应用的附件(add-on)或插件(plug-in),或者作为单独的应用。已有的软件应用可以是软件应用的套装。应当注意,在一些实施方式中,事件处理模块122可以整体或部分地由不同的计算机系统为主机。因此,这里描述的技术可以本地发生在服务器101上,或者可以发生在其它计算机系统中并被报告给服务器101。
每个计算机程序可以以高级面向过程的或面向对象的编程语言来实施,或者如果需要可以以汇编语言或机器语言来实施。语言可以是编译语言或解释语言。机器可执行指令并不意图限于任何特定的编程语言及其实施方式。应当理解,各种编程语言及其编码可以用来实施这里包含的公开的教导。
非临时计算机可读的介质112可以是任何形式的存储器件,举例来讲,包括半导体存储器件,诸如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、以及快闪存储器件;磁盘,如内部硬盘和可移动盘,磁光盘,以及光盘只读存储器(CD-ROM)。
服务器101可以经由I/O单元113通信地耦接到输入设备(例如,键盘、触摸屏或鼠标)和显示设备(例如,监视器或屏幕)。此外,服务器101也可以包括用于使用通信链路(例如,电话线、无线网络链路、有线网络链路、或者电缆网络)与网络交换数据的、诸如通信卡或设备(例如,调制解调器和/或网络适配器)的其它设备,以及其它支持电路(例如,高速缓冲存储器、电源、时钟电路、通信总线、等等)。此外,任何前述都可以由专用集成电路补充,或者并入专用集成电路中。
服务器101可以通过一个或多个中间网络132使用到一个或多个客户端设备150和测试计算机160的逻辑连接在网络环境中操作。这些网络132一般表示任何协议、适配器、组件、以及其它一般的与有线和/或无线通信网络相关联的基础结构。这样的网络132,根据在不同实施方式中的情形,在范围和本质上,可以是全球的、区域的、本地的、和/或个人的。网络132可以是企业或安全网络的全部或一部分,而在另一个实例中,网络132的至少一部分可以表示到因特网的连接。在一些实例中,网络的一部分可以是虚拟专用网络(VPN)。例如,网络132可以在网络地址之间通信传输网际协议(IP)数据包、帧中继帧、异步传输模式(ATM)单元、语音、视频、数据以及其它合适的信息。网络132也可以包括一个或多个局域网(LAN)、无线接入网络(RAN)、城域网络(MAN)、广域网络(WAN)、万维网(Internet)的全部或一部分、和/或在一个或多个位置处的一个或多个任何其它通信系统。
一般,客户端设备150可以是任何计算设备,其使用有线或无线连接可操作的连接到至少服务器101、测试计算机160、和/或网络132,或者与至少服务器101、测试计算机160、和/或网络132通信。在一些实施方式中,客户端设备150可以是移动设备,该移动设备可以由终端用户用来使用无线技术来通信传输信息。移动设备150可以是蜂窝电话、个人数字助理(PDA)、智能电话、膝上型计算机、平板个人计算机(PC)、电子阅读器、媒体播放器、数字相机、摄像机、会话启动协议(SIP)电话、触摸屏终端、增强型通用分组无线服务(EGPRS)移动电话、导航设备、电子邮件设备、游戏控制台、任何其它适当的无线通信设备,其能够执行包括使用无线技术通信传输信息的多个任务,或者任意两个或更多的这些设备的组合。
客户端设备150可以包括一个或多个姿态输入传感器152。姿态输入传感器152可以是触摸传感组件(例如,触敏屏、触摸板、触摸开关、等等)、运动或位置传感设备、或者它们的组合。而且,客户端设备150可以包括输出模块(未示出),该输出模块传达与服务器101、测试计算机160或客户端设备150本身的操作相关联的信息。
客户端设备150还可以包括处理器、存储器或非临时计算机可读的介质、接口卡、等等。存储器可以存储图形用户界面和/或因特网浏览器。在一些实施方式中,存储器还存储记录/重播工具154,其用于记录和/或重播在从姿态输入传感器152接收输入时生成的姿态事件(例如,触摸事件)。例如,记录/重播工具154可以在用户使用一个或多个手指、指针、或任何其它定点装置来轻敲、拖拽、保持、和/或掐捏特定显示窗口或虚拟按钮时,记录姿态事件。其它类型的姿态事件,如鼠标或键盘姿态事件,也可以被记录。记录/重播工具154可以以任何编程语言来编写,诸如C、C++、Java、JavaScript、VisualBasic、汇编程序、Perl、任何适当版本的4GL、以及其它。虽然不是必须的,但是记录/重播工具154可以使用JQuery来实现。JQuery是指用于HTML文件遍历(traverse)、事件处理、动画和Ajax交互的JavaScript库。此外,如这里更详细地描述的,记录/重播工具154执行要求与在服务器101中实施的事件处理模块122交互的功能。
测试计算机160可以是任何电子计算机设备,其可操作以接收、传送、处理、以及存储与图1的系统100相关联的任何适当的数据。虽然示出为单一的机器,但是测试计算机160可以体现为多个机器,或者驻留在与服务器101相同的物理机器上。测试计算机160用来对以至少部分地基于所记录的姿态事件进行测试为目标的网络应用的自动测试。所记录的姿态事件可以被重播,从而调用目标网络应用的特定功能(例如,计算、高亮显示、显示的缩放、等等),允许测试者(或者用户)检验是否获得了期望的结果。
例如,测试计算机160可以是个人计算机、桌上型计算机、膝上型计算机、触摸屏终端、工作站、网络计算机、服务器、等等。在这些或其它设备内的一个或多个处理器,或者任何其它合适的处理设备,典型地包括以上关于服务器101描述的多个或全部元素。测试计算机160也可以包括非临时计算机可读的存储介质或存储设备(未示出)的一个或多个实例。非临时计算机可读的存储介质可以包括自动测试模块162,其适于通过网络与事件处理模块122交互。自动测试模块162可以以使模块162与网络浏览器交互的任何编程语言来编写,诸如C、C++、Java、JavaScript、Visual Basic、汇编程序、Perl、任何适当版本的4GL、以及其它。这样的交互的示例包括自动地启动网络浏览器、组织测试案例、捕获测试输出(例如,屏幕捕捉)、检验测试结果、生成报告、等等。此外,非临时的计算机可读存储介质还可以包括记录/重播工具154,类似于对于客户端设备150所描述的,用于重播测试案例中的姿态事件。将在以下部分中提供这些以及其它示范性特征的更多细节。
图2示出记录基于姿态的事件的示范性方法200。如先前参考图1所描述的,方法200可以通过存储在客户端设备150中存储的记录工具/重播154来实施。应当注意,在下面的讨论中,将使用相同的标号指代图1中描述的特征。
在202,打开测试案例来记录姿态。一般,测试案例规定了训练(exercising)以测试为目标的网络应用的典型场景。例如,测试案例可以规定将由目标网络应用的用户执行的具体的步骤序列,以及构成在场景中目标网络应用的正确、期望或有效的行为的一些明示的或暗示的规定。每个测试案例可以被设计为测试目标网络应用的具体网络元素。目标网络应用可以用测试案例作为输入来运行,以检查目标网络应用是否产生期望的结果。
在一些实施方式中,打开测试案例包括使用网络浏览器启动一个或多个测试网页。测试网页可以包括到目标网络应用的一个或多个嵌入式链接、到其它网页的嵌入式链接、用于文本和链接、图像、和/或其它网络元素的结构语义(例如,形式字段、可运行JavaScript代码段等等)。在一个实施方式中,测试网页包括到模拟(mock)控制模块的嵌入式链接。当由网络浏览器接收到测试网页时,网络浏览器可以运行对模拟控制模块的嵌入式调用,然后其根据记录的姿态事件与目标网络应用交互。
测试网页可以经由网络浏览器指定预定义的标识符(例如,统一资源定位符、统一资源标识符、IP地址、等等)来启动,该网络浏览器然后通过网络132检索测试网页。可替换地,测试网页可以在用户指定或从可用测试案例的列表中选择测试案例时经由网络浏览器自动地启动。测试网页可以存储在服务器101或任何网络服务器中,或者可以本地驻留在客户端设备150(例如,高速缓冲存储器)中。测试网页可以表现用户界面,该用户界面接受基于姿态的用户输入并将输入发送给目标网络应用。
在一些实施方式中,测试案例被设计为捕获与测试网页中的一个或多个具体目标网络元素的交互。更具体地,测试网页可以包括用户能够使用例如一个或多个手指、手、或其它姿态装置(例如指针)交互的一个或多个目标网络元素。示范性目标网络元素包括图形用户界面中的虚拟按钮、支持触摸或多点触摸输入(例如,拖拽、掐捏分开、掐捏合拢、等等)的预定义区域、超链接、链接、图像、文本框、下拉菜单、框体、以及其它网络元素。
记录工具/重播154可以被嵌入为测试网页主体中的代码段或文件(例如,JavaScript)。然后,用户可以激活记录/重播工具154以通过选择在测试网页上的网络元素(例如,虚拟按钮或图标、超链接、链接、图像、文本框、下拉菜单、框体等等)来记录姿态事件。
在204,在测试案例中检测一个或多个姿态事件。当用户与定义在测试案例或测试网页中的一个或多个目标网络元素交互时,生成姿态事件。用户交互可以是导致一个或多个姿态事件的生成的、由姿态输入传感器152感测的姿态的形式。例如,简单的触摸姿态可以导致姿态事件序列的生成,包括触摸开始(touchstart)事件、一个或多个触摸移动(touchmove)事件、以及触摸结束(touchend)或触摸取消(touchcancel)事件。例如,参见触摸事件版本1、W3C候选推荐标准2011年12月15日(可在http://www.w3.org在线获得),其通过引用合并于此。当用户首先将手指(或其它定点装置)放在触敏显示器(或姿态输入传感器)152上与事件监听器(或事件处理器)相关联的测试网页上的区域中时,检测到touchstart事件。当用户在测试网页上来回移动手指时,可以检测到一个或多个touchmove事件。当用户从测试网页抬起手指时,可以检测到touchend事件。当常规事件处理被例如锁定触敏显示器152以防止无意中的触摸而中断时,检测到touchcancel事件。应当理解,其它的触摸或姿态事件也是可能的。此外,两个或更多姿态事件可以在基本上相同的时间发生,诸如在多点触摸姿态的情况下。
记录/重播工具154可以注册一个或多个事件监听器,所述监听器将被通知在每个目标网络元素下的姿态事件。事件监听器(或事件处理器)通常是回调子例程,其处理(handle or process)由程序接收的输入(或事件)。在一些实施方式中,注册一个事件监听器,用于检测每种类型的姿态事件。记录/重播工具154可以在目标网络元素下注册第一事件监听器用于检测touchstart事件、第二事件监听器用于检测touchmove事件、第三事件监听器用于检测touchend事件、以及第四事件监听器用于检测touchcancel事件。或者,单一事件监听器可以被注册用以检测多个姿态事件。而且,多于一个事件监听器可以被注册用以检测单一种类的姿态事件。事件监听器可以插入到测试网页的HTML标签中,诸如DIV、CANVAS、或者能够触发触摸事件的其它元素。例如,每个事件监听器可以运行脚本(scripting)语言,调用记录/重播工具154以便在每次检测到各个姿态事件时执行记录功能。
再次参考图2,在206,记录姿态事件。姿态事件可以通过调用与在其中检测到姿态事件的目标网络元素相关联的事件监听器来记录。在一些实施方式中,每个姿态事件被记录为数据对象(例如,JavaScript对象)或者任何其它适当的数据结构。数据对象存储关于姿态事件的信息,诸如事件类型(例如,touchstart、touchmove、touchend、touchcancel、等等)、事件源(例如,目标网络元素)、唯一标识符、发生时间和位置(例如,触感显示器的坐标)、等等。数据对象可以存储在客户端设备150的存储器中,并被检索以用于随后的重播。列出记录的姿态事件的本地日志文件可以维持在客户端设备150。每个本地日志文件可以对应于测试案例。本地日志文件可以保存在存储器中,例如,作为临时数据对象(例如,JavaScript对象)。本地日志文件可以在重播期间从存储器中检索以访问记录的姿态事件。
更具体地,所记录的姿态事件可以在客户端设备150上重播,以允许用户在记录之后立即检验所记录的事件,从而保证姿态事件被按照期望的进行记录。所记录的姿态事件还可以在测试计算机160重播,如将在稍后讨论的。重播可以包括表现重播动画,包括在预定时间点的测试网页的屏幕截图。预定时间点可以包括开始时间点、结束时间点、以及在开始时间点和结束时间点之间的一个或多个断续的(intermittent)时间点。开始时间点可以指示重播动画开始时(例如,在检测到任何姿态事件之前)的时间点。结束时间点可以指示重播动画结束时(例如,在检测到所有姿态事件之后)的时间点。断续的时间点可以沿着重播动画的时间线、在开始时间点和结束时间点之间平均地分配。重播也可以包括显示时间线,该时间线显示出动画的进程。
在客户端设备150外也可以提供其他特征。例如,在用户执行一定的姿态(例如,掐捏入(pinch-in)以放大)之后,所显示的测试网页的视图可以发生改变。可以提供“恢复”特征,以使用户能够将测试网页恢复到其原始状态。此外,应用程序接口(API)可以被提供以允许用户修改或定制表现记录的姿态事件的底层(underlying)记录的数据。利用这个API,通过简单地编辑或修改一些原始记录的数据,所记录的数据可以重新用于不同的测试案例。
在208,如果用户不满意所记录的姿态事件,则重复步骤204和步骤206。当用户满足时,过程在210继续。所记录的数据被解析到事件文件中。每个事件文件可以对应于一个或多个记录的姿态。在一些实施方式中,事件文件被有格式化为标准数据交换文件。例如,事件文件可以格式化为JavaScript对象注释(JSON)文件,这是广泛用于串行化(serializing)并通过网络连接传送结构化数据的轻便的(lightweight)数据交换格式。应当理解,也可以其它类型的格式,诸如XML、CurlyML、PL、Record-Jar、简单声明性语言、以及YAML。
图3a示出示范性JSON事件文件350。JSON事件文件350包含简单轻敲姿态的记录的数据。“类型(type)”352表示触摸事件的类型(例如,touchstart、touchmove、touchend、touchcancel、等等)。“时间戳(timestamp)”354记录在发生触摸事件时的当前时间。“标识符(identifier)”356表示每个触摸点的唯一识别号。“页面X(PageX)”和“页面Y(PageY)”358是触摸点与观察口(viewport)的水平和垂直坐标(以像素为单位)。“触摸(Touches)”、“目标触摸(targetTouch)”和“改变触摸(changedTouches)”360表示对于每个触摸点的触摸的列表。
再次参考图2,在212,记录/重播工具154将事件文件发送给服务器101。在一些实施方式中,记录/重播工具154使用异步JavaScript和XML(Ajax)将事件文件发送给服务器101。Ajax是一组在客户端侧使用以创建异步网络应用的相互关联的网络开发技术(例如,动态HTML、JavaScript和/或CSS)。利用Ajax,记录/重播工具154可以异步地(在背景中)发送与服务器101交换数据,而没有妨碍已有网页的显示和行为。应当理解,也可以使用其它技术。当服务器101接收事件文件时,可以以例如文本文件的形式存储项目。
图3b示出用于在客户端设备150记录触摸事件的示范性序列图。首先,记录/重播工具154在将被通知触摸事件的目标网络元素304下注册事件监听器302。随后,当用户308通过例如触摸客户端设备150的触敏显示器与测试网页中指定的目标网络元素304交互时,目标网络元素304生成新的触摸事件对象306。当检测到新的触摸事件时,监听器302然后通过例如记录新的触摸事件来处理该新的触摸事件。
图4示出示范性测试网页400。测试网页400可以使用在客户端设备150的网络浏览器来观看。为了开始记录姿态事件,用户可以选择“开始记录”按钮402。随后,将自动地记录与目标网络元素(或HTML画布(canvas))403的所支持的所有触摸用户交互。例如,用户可以通过使用两个手指执行掐捏分开或掐捏合拢姿态来缩放(放大或缩小)目标网络元素的视图。为了停止记录,用户可以选择“停止记录”按钮402。然后用户可以通过选择“重播”按钮404,重播所记录的触摸事件。当用户选择“发送记录”按钮406时,记录/重播工具154将生成事件文件并将其发送给服务器101。“恢复”按钮408允许用户选择来将网页恢复到其原始状态。当选择“示例(Demo)”按钮410时,其展示动画以表明在目标网络元素403支持的姿态类型。
图5示出处理事件文件的示范性方法500。在一些实施方式中,方法500通过在服务器101上实施的事件处理模块122来执行。应当注意,在下面的讨论中,相同的参考标号将用来指代图1中描述的相同的特征。
在502,事件处理模块122在预定义的端口(例如,HTTP端口443)监听上载数据的请求。在一些实施方式中,客户端设备150向服务器101发出标准HTTP POST请求,以启动事件文件的上载。
在504,事件处理模块122从客户端设备150接收事件文件,而客户端设备150将其作为POST传输的一部分发送。其它的数据,如其它的事件文件或测试案例信息(例如,名称),还可以从客户端设备150中检索。这个事务(transaction)在完成传输之后正常地终止。如上所述,事件文件可以包括描述记录在各个测试案例中的一个或多个姿态事件的JSON文件。
在506,事件处理模块122基于事件文件生成数据文件。每个数据文件可以对应于一个或多个测试案例。数据文件可以是文本(或ASCII)文件、二进制文件、或者兼容测试计算机160的任何其它适当的文件格式。数据文件可以包括关于事件文件及其记录的姿态事件的信息,如测试案例名称、描述、作者、姿态事件的记录的数据、等等。此外,事件处理模块122还可以维持服务器日志文件,该服务器日志文件保持对所有生成的数据文件以及对应的测试案例名称的跟踪。
在508,事件处理模块122将数据文件发送给测试计算机160用于执行自动测试。其它文件或数据,如服务器日志文件,也可以被发送给测试计算机160。文件可以响应于来自测试计算机160的HTTP GET请求而发送。
图6示出自动测试的方法600。在一些实施方式中,在测试计算机160执行方法600。如上所述,测试计算机160可以实施为一个或多个单独的机器,或者与服务器101相同的物理机器。
在602,自动测试模块162从服务器101接收数据文件。其它文件或数据,如服务器日志文件,也可以被接收。如前面讨论的,数据文件包含记录的姿态事件的信息、以及其它类型的信息。服务器日志文件存储所有数据文件的信息以及对应的测试案例名称。
在604,用从数据文件中检索的信息加载测试案例。关于哪个数据文件对应于给定的测试案例名称的信息可以在服务器日志文件中找到。如前面讨论的,测试案例可以以标记语言编码的一个或多个测试网页的形式来展示,并经由网络浏览器加载。测试者可以通过经由网络浏览器指定预定义的标识符(例如,URL、URI、IP地址、等等)来选择和启动测试案例,该网络浏览器然后检索测试网页。测试网页可以存储在服务器101或其它网络服务器中,或者本地驻留在测试计算机160(例如,高速缓冲存储器)中。或者,当测试者或用户从可用测试案例的列表中指定或选择测试案例名称时,经由网络浏览器可以自动地启动测试网页。可用测试案例名称的列表可以从例如服务器日志文件中检索。
当加载了测试案例时,自动测试模块162可以创建一个或多个本地(native)姿态事件(例如,本地html事件对象)。一个或多个本地姿态事件用从数据文件检索的真实记录的数据来初始化。例如,本地姿态事件可以用对应记录的姿态事件的时间戳、类型、位置等来初始化。时间戳可以用来计算在一个本地姿态事件和随后的本地姿态事件之间的时间间隔,因此允许自动测试模块162在重播期间以记录的时间顺序排序和触发本地姿态事件。应当理解,多个本地姿态事件可以在一个时间点被同时触发,诸如在多点触发姿态的情况下。
在606,记录/重播工具154重播记录的姿态事件。记录/重播工具154可以作为代码段或文件(例如,JavaScript)嵌入测试网页的主体中。在加载测试网页时,记录/重播工具154可以自动地激活,以便重播姿态事件。在重播期间,一个或多个本地姿态事件可以被附加到测试网页中的至少一个目标网络元素,以模拟真实用户的基于姿态的交互。目标网络元素触发或调用与目标网络元素相关联的本地事件监听器(或事件处理器),以运行目标网络应用并生成测试结果。例如,本地事件监听器可以是目标网络应用的一个或多个功能。多个本地姿态事件可以按照记录的时间序列来触发。
测试网页的一组屏幕截图可以在时间线的预定时间点截取。预定时间点可以包括开始时间点、结束时间点、以及在开始时间点和结束时间点之间的一个或多个断续时间点。开始时间点可以指示在重播动画开始时(例如,在触发任何本地姿态事件之前)的时间点。结束时间点可以指示在重播动画结束时(例如,在所有本地姿态事件被触发之后)的时间点。断续的时间点可以沿着重播动画的时间线、在开始时间点和结束时间点之间平均地分配。屏幕截图然后可以被编译并作为重播动画来表现。时间线也可以被显示,用来示出重播动画的进程。其它类型的可视表现也是有用的。
图7示出用于在测试计算机160重播记录的触摸事件的示范性序列图。记录/重播工具154在将要通知触摸(或姿态)事件的测试网页的目标网络元素704下注册本地监听器706。在用户702激活记录/重播工具154之后,记录/重播工具154用从数据文件检索的真实记录的数据来创建和初始化新的本地事件对象708。本地事件对象708表现模拟的基于姿态的用户交互。记录/重播工具154然后触发(例如,使用JQuery)本地事件对象708,并将其附加到测试网页中的目标网络元素704。当检测本地事件对象708时,本地监听器706调用相关联的事件处理器来运行目标网络应用的一个或多个功能以生成测试结果。
再次参考图6,在608,测试结果由自动测试模块162自动地检验。检验是这样一个过程,即通过检验,测试结果与基准(benchmark)进行比较,以确定目标网络应用是否被正确操作或者确认为其规范。这样的软件检验的目的在于确定处理模拟的姿态事件的结果是否正确或者按照期望的行为。例如,如果用户触摸柱形图的柱形,则期望该柱形被高亮显示。因此,当这样的与柱形图相关联的触摸事件在重播期间被自动模拟时,触摸事件处理的输出通过确定柱形是否被高亮显示来检验。如果没有被高亮显示,则目标网络应用存在需要修复的缺陷。检验的结果可以在由自动测试模块162自动地生成的报告(例如,XML文件)中描述。
在一些实施方式中,自动测试模块162通过比较重播动画中的测试网页的屏幕截图来执行检验。如前面讨论的,重播动画可以包括测试网页在预定时间的屏幕截图。在一些实施方式中,比较重播动画的第一个屏幕截图(即基准)和最后一个屏幕截图(即测试结果)。
或者,可以比较由目标网络应用重播或处理模拟的姿态事件之前和之后的测试网页的状态,以检验测试结果。测试网页的状态可以通过例如将HTMLCanvas API命令串连或联接到字符串中而串行化为字符串。HTML Canvas是指在HTML代码中定义的可绘画区域,该HTML代码可以用于使用脚本(例如,JavaScript)命令来画图。可以响应于模拟的姿态事件的处理来调用HTMLCanvas API命令。应当理解,也可以应用存储测试网页状态的其它方法。通过比较在模拟的姿态事件的处理之前和之后的页面状态,可以检测到由事件处理引入的错误。
图8示出示范性测试网页802。测试网页802可以使用在测试计算机160的网络浏览器来观看。为了重播所记录的姿态事件,用户可以选择虚拟按钮804a-804d中的至少一个。每个虚拟按钮804a-804d可以用能够重播的姿态的类型来做标签。例如,用户可以通过选择各个按钮804a-804d来启动所记录的轻敲姿态、长按姿态、掐捏姿态、或摇动姿态的重播。然后在目标网络元素或Canvas 806内重播所选择的记录的姿态。在重播期间,可以展示示出了记录的姿态事件序列的动画。
记录的姿态事件可以调用目标网络应用的一个或多个功能以生成测试结果。然后可以通过比较重播动画中的第一和最后一个屏幕截图来检验测试结果。“恢复”按钮808允许用户选择将网页802恢复到其原始状态。可以显示用于模拟记录的姿态事件的软件代码810用于编辑。例如,测试器可以通过改变时间戳、设定新的触摸位置(例如,每个图形栏812的位置)、等等来修改代码。因此,通过只在客户端设备150记录姿态事件一次,用于模拟姿态事件的记录的数据或代码可以被重新用于在测试计算机160多次进行自动的测试,或者可以在不同的测试案例中重新使用。
虽然已经在具体结构特征和/或方法步骤的言语中描述了一个或多个上述实施方式,应当理解,可以在没有所述具体的特征或步骤的情况下实践其它的实施方式。而是,所述具体的特征和步骤被公开为一个或多个实施方式的优选形式。

Claims (19)

1.一种测试经网络浏览器加载的网络应用的方法,包括:
由计算机接收包括一个或多个由用户执行并且使用测试网页上的一个或多个网络元素记录和重播的姿态事件的记录的数据的数据文件;
由计算机用记录的数据加载测试案例,其中测试案例与列出记录的姿态事件的日志文件或数据文件对应,并且加载测试案例包括使用网络浏览器启动一个或多个测试网页或捕获与测试网页中的一个或多个具体网络元素的交互;
由计算机重播测试案例中的一个或多个记录的姿态事件并运行网络应用以生成测试结果,其中根据测试结果来确定是否要修复网络应用;并且
通过将测试案例的状态串行化为字符串并比较所述字符串,自动地检验所述测试结果,其中将测试案例的状态串行化包括将超文本标记语言(HTML)画布应用编程接口(API)命令串连为字符串。
2.如权利要求1所述的方法,其中,所述一个或多个记录的姿态事件包括一个或多个记录的触摸或多点触摸事件。
3.如权利要求1所述的方法,其中,所述记录的数据包括一个或多个记录的姿态事件的时间戳、类型、位置、或者它们的组合。
4.如权利要求1所述的方法,其中,加载测试案例包括经由网络浏览器启动测试网页。
5.如权利要求4所述的方法,其中,加载测试案例包括用记录的数据初始化一个或多个本地姿态事件。
6.如权利要求5所述的方法,其中,重播一个或多个记录的姿态事件包括:
将一个或多个本地姿态事件附加到测试网页中的至少一个目标网络元素;并且
触发与目标网络元素相关联的本地事件监听器,以运行网络应用和生成测试结果。
7.如权利要求1所述的方法,其中,重播一个或多个记录的姿态事件包括表现重播动画。
8.如权利要求7所述的方法,其中,自动地检验测试结果包括比较重播动画中的屏幕截图。
9.如权利要求7所述的方法,其中,自动地检验测试结果包括比较在重播之前和重播之后获得的测试案例的状态。
10.如权利要求9所述的方法,还包括串行化测试案例的状态。
11.如权利要求10所述的方法,其中,串行化测试案例的状态包括将超文本标记语言(HTML)画布应用程序接口(API)命令连接到一个或多个字符串中。
12.如权利要求1所述的方法,还包括将测试案例恢复到它的原始状态。
13.如权利要求1所述的方法,其中,接收数据文件包括响应于来自计算机的请求从服务器接收数据文件。
14.如权利要求1所述的方法,还包括在客户端设备记录一个或多个姿态事件的数据。
15.如权利要求14所述的方法,还包括在客户端设备将记录的数据解析到事件文件中。
16.如权利要求15所述的方法,还包括由客户端设备发送事件文件到服务器,其中,所述服务器、客户端设备和计算机通过网络通信地耦接。
17.如权利要求14所述的方法,其中,记录数据包括:
在测试网页中的目标网络元素下注册事件监听器;并且
响应于在目标网络元素内检测到新的姿态事件而调用事件监听器来记录数据。
18.一种非临时计算机可读介质,其上存储有程序代码,该程序代码可由计算机运行以执行下列步骤:
接收包括一个或多个记录的姿态事件的由用户执行并且使用测试网页上的一个或多个网络元素记录和重播的数据的数据文件;
用记录的数据加载测试案例,其中测试案例与列出记录的姿态事件的日志文件或数据文件对应,并且加载测试案例包括使用网络浏览器启动一个或多个测试网页或捕获与测试网页中的一个或多个具体网络元素的交互;
重播测试案例中的一个或多个记录的姿态事件并运行网络应用以生成测试结果,其中根据测试结果来确定是否要修复网络应用;并且
通过将测试案例的状态串行化为字符串并比较所述字符串,自动地检验所述测试结果,其中将测试案例的状态串行化包括将超文本标记语言(HTML)画布应用编程接口(API)命令串连为字符串。
19.一种测试经网络浏览器加载的网络应用的 系统,包括:
非临时存储设备,用于存储计算机可读程序代码;以及
处理器,与存储设备通信,该处理器利用计算机可读程序代码操作以执行:
接收包括一个或多个记录的姿态事件的由用户执行并且使用测试网页上的一个或多个网络元素记录和重播的数据的数据文件;
用记录的数据加载测试案例,其中测试案例与列出记录的姿态事件的日志文件或数据文件对应,并且加载测试案例包括使用网络浏览器启动一个或多个测试网页或捕获与测试网页中的一个或多个具体网络元素的交互;
重播测试案例中的一个或多个记录的姿态事件并运行网络应用以生成测试结果,其中根据测试结果来确定是否要修复网络应用;并且
通过将测试案例的状态串行化为字符串并比较所述字符串,自动地检验所述测试结果,其中将测试案例的状态串行化包括将超文本标记语言(HTML)画布应用编程接口(API)命令串连为字符串。
CN201210449497.6A 2012-11-12 2012-11-12 自动测试基于姿态的应用 Active CN103810089B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201210449497.6A CN103810089B (zh) 2012-11-12 2012-11-12 自动测试基于姿态的应用
US13/688,243 US9342237B2 (en) 2012-11-12 2012-11-29 Automated testing of gesture-based applications

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210449497.6A CN103810089B (zh) 2012-11-12 2012-11-12 自动测试基于姿态的应用

Publications (2)

Publication Number Publication Date
CN103810089A CN103810089A (zh) 2014-05-21
CN103810089B true CN103810089B (zh) 2021-12-03

Family

ID=50681245

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210449497.6A Active CN103810089B (zh) 2012-11-12 2012-11-12 自动测试基于姿态的应用

Country Status (2)

Country Link
US (1) US9342237B2 (zh)
CN (1) CN103810089B (zh)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150006720A (ko) * 2013-07-09 2015-01-19 엘지전자 주식회사 이동단말기 및 그 제어방법
WO2015041648A1 (en) * 2013-09-19 2015-03-26 Hewlett-Packard Development Company, L.P. Application menu modification recommendations
EP3053142A4 (en) * 2013-09-30 2017-07-19 Hewlett-Packard Development Company, L.P. Record and replay of operations on graphical objects
US10162737B2 (en) * 2014-02-20 2018-12-25 Entit Software Llc Emulating a user performing spatial gestures
US9552345B2 (en) * 2014-02-28 2017-01-24 Microsoft Technology Licensing, Llc Gestural annotations
TWI510915B (zh) * 2014-05-28 2015-12-01 Univ Nat Central Computer automated test system and test methods, recording media and program products
US9406025B2 (en) 2014-06-04 2016-08-02 International Business Machines Corporation Touch prediction for visual displays
US10061687B2 (en) * 2014-06-17 2018-08-28 Paypal, Inc. Self-learning and self-validating declarative testing
US9336126B1 (en) * 2014-06-24 2016-05-10 Amazon Technologies, Inc. Client-side event logging for heterogeneous client environments
US10097565B1 (en) 2014-06-24 2018-10-09 Amazon Technologies, Inc. Managing browser security in a testing context
US9317398B1 (en) * 2014-06-24 2016-04-19 Amazon Technologies, Inc. Vendor and version independent browser driver
US9430361B1 (en) 2014-06-24 2016-08-30 Amazon Technologies, Inc. Transition testing model for heterogeneous client environments
CN104156308B (zh) * 2014-07-29 2017-02-15 南京大学 一种基于用户执行踪迹重放的移动应用测试方法
JP2016115187A (ja) * 2014-12-16 2016-06-23 株式会社東芝 情報処理装置、情報処理方法及びプログラム
EP3235881A4 (en) 2014-12-16 2018-06-13 G-Cover De México, S.A. De C.V. Fire-resistant, insulating, ecological and corrosion-inhibiting coating
US10031729B1 (en) * 2014-12-30 2018-07-24 Open Text Corporation Method and system for implementing custom UI actions in a web application using hidden containers
US9720592B2 (en) * 2015-03-19 2017-08-01 International Business Machines Corporation Mobile gesture reporting and replay with unresponsive gestures identification and analysis
CN104699408A (zh) * 2015-04-01 2015-06-10 广东欧珀移动通信有限公司 触摸屏的操作方法、装置及触摸设备
US9201591B1 (en) * 2015-05-19 2015-12-01 Synack, Inc. Automated coverage monitoring of mobile applications
US11023363B2 (en) 2016-03-11 2021-06-01 Spirent Communications, Inc. Performance test application sequence script
CN105975367B (zh) * 2016-04-29 2022-03-25 腾讯科技(深圳)有限公司 移动设备的测试方法和装置
US10613838B2 (en) * 2016-10-26 2020-04-07 Soroco Private Limited Systems and methods for discovering automatable tasks
US10318070B2 (en) * 2017-02-15 2019-06-11 Honeywell International Inc. Touch detector with a code debugger
CN107193734B (zh) * 2017-05-17 2021-01-01 上海交通大学 用于移动Web应用的重放方法及重放系统
CN107357586B (zh) * 2017-07-14 2018-06-05 腾讯科技(深圳)有限公司 应用程序的控制方法、装置及设备
US10289533B2 (en) 2017-08-30 2019-05-14 Sap Se Managing extraction of data for testing
CN107577611A (zh) * 2017-11-01 2018-01-12 四川久远银海软件股份有限公司 应用调试装置与方法
US10853232B2 (en) 2018-01-19 2020-12-01 Spirent Communications, Inc. Adaptive system for mobile device testing
CN108399125B (zh) * 2018-02-08 2021-06-22 深圳壹账通智能科技有限公司 自动化测试方法、装置、计算机设备和存储介质
US11341030B2 (en) * 2018-09-27 2022-05-24 Sap Se Scriptless software test automation
US10936475B2 (en) 2018-11-05 2021-03-02 Sap Se Automated scripting and testing system
CN109948091A (zh) * 2019-03-20 2019-06-28 网宿科技股份有限公司 一种网页处理方法及客户端设备
US11363108B2 (en) * 2019-06-13 2022-06-14 FullStory, Inc. Network latency detection
CN110569184B (zh) * 2019-07-31 2023-06-16 重庆小雨点小额贷款有限公司 一种测试方法及终端设备
CN110928791B (zh) * 2019-11-27 2022-03-01 腾讯科技(深圳)有限公司 程序测试方法、装置、计算机设备和存储介质
US11816112B1 (en) 2020-04-03 2023-11-14 Soroco India Private Limited Systems and methods for automated process discovery
US11372747B1 (en) * 2021-01-11 2022-06-28 Wells Fargo Bank, N.A. Service virtualization
CN113254338B (zh) * 2021-05-25 2023-01-24 深圳前海微众银行股份有限公司 测试用例生成方法、装置及设备
CN113535029A (zh) * 2021-07-30 2021-10-22 西安闻泰电子科技有限公司 操作录制方法、终端、计算机设备及计算机可读存储介质
CN115145464B (zh) * 2022-07-28 2023-07-18 重庆长安汽车股份有限公司 一种页面测试方法、装置、电子设备及存储介质
CN115001991B (zh) * 2022-08-02 2022-10-25 北京聚合盈创科技有限公司 基于性能测试的录制方法、装置以及存储介质
CN117424843B (zh) * 2023-12-18 2024-02-13 北京华峰测控技术股份有限公司 一种管理方法、装置及ate测试系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102142016A (zh) * 2010-01-29 2011-08-03 微软公司 跨浏览器交互活动记录、回放以及编辑
CN102511037A (zh) * 2010-08-10 2012-06-20 国际商业机器公司 用于自动测试web应用的方法和系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9154611B1 (en) * 2006-08-14 2015-10-06 Soasta, Inc. Functional test automation for gesture-based mobile applications
US8433733B2 (en) * 2010-01-13 2013-04-30 Vmware, Inc. Web application record-replay system and method
US8966447B2 (en) * 2010-06-21 2015-02-24 Apple Inc. Capturing and displaying state of automated user-level testing of a graphical user interface application
US8645912B2 (en) * 2010-08-31 2014-02-04 General Electric Company System and method for use in replaying software application events
US20120131456A1 (en) * 2010-11-22 2012-05-24 Microsoft Corporation Capture and Playback for GUI-Based Tasks
US20130127877A1 (en) * 2011-02-28 2013-05-23 Joaquin Cruz Blas, JR. Parameterizing Animation Timelines
US9161238B2 (en) * 2012-04-16 2015-10-13 Mobile Experience Solutions, Inc. Mobile device monitoring and testing
US9135147B2 (en) * 2012-04-26 2015-09-15 International Business Machines Corporation Automated testing of applications with scripting code
US8862118B2 (en) * 2012-08-08 2014-10-14 Nokia Corporation Methods, apparatuses and computer program products for automating testing of devices
US9355015B2 (en) * 2012-09-26 2016-05-31 Dynatrace Llc Technique for simulating an orientation change event in a test environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102142016A (zh) * 2010-01-29 2011-08-03 微软公司 跨浏览器交互活动记录、回放以及编辑
CN102511037A (zh) * 2010-08-10 2012-06-20 国际商业机器公司 用于自动测试web应用的方法和系统

Also Published As

Publication number Publication date
CN103810089A (zh) 2014-05-21
US9342237B2 (en) 2016-05-17
US20140132571A1 (en) 2014-05-15

Similar Documents

Publication Publication Date Title
CN103810089B (zh) 自动测试基于姿态的应用
US10324828B2 (en) Generating annotated screenshots based on automated tests
US10853232B2 (en) Adaptive system for mobile device testing
US10268350B2 (en) Automatically capturing user interactions and evaluating user interfaces in software programs using field testing
US9152529B2 (en) Systems and methods for dynamically altering a user interface based on user interface actions
US8966447B2 (en) Capturing and displaying state of automated user-level testing of a graphical user interface application
US8645912B2 (en) System and method for use in replaying software application events
US9355015B2 (en) Technique for simulating an orientation change event in a test environment
US8589874B2 (en) Visual interface to represent scripted behaviors
AU2016286308A1 (en) Robotic process automation
US20140019937A1 (en) Updating product documentation using automated test scripts
US9459780B1 (en) Documenting interactive graphical designs
US9053241B2 (en) Scripting application with role identification
US20200050540A1 (en) Interactive automation test
WO2015043352A1 (en) Method and apparatus for selecting test nodes on webpages
US8984487B2 (en) Resource tracker
JP2011081778A (ja) ディスプレイ非依存のコンピュータによるガイダンス方法および装置
Tuovenen et al. MAuto: Automatic mobile game testing tool using image-matching based approach
US20130081010A1 (en) Template and server content download using protocol handlers
US10083108B1 (en) Automated stack-based computerized application crawler
WO2017049649A1 (en) Technologies for automated application exploratory testing
CN110321278B (zh) 系统测试方法及装置、计算机设备、存储介质
KR20150048365A (ko) 애플리케이션 자동 검증 시스템 및 방법
KR20140148470A (ko) 플링 제스쳐를 사용하여 콘텐츠를 그래픽 인터페이스 윈도우와 연관시키기
Chi et al. Doppio: Tracking ui flows and code changes for app development

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C53 Correction of patent for invention or patent application
CB02 Change of applicant information

Address after: German Waldo

Applicant after: SAP AG

Address before: German Waldo

Applicant before: SAP AG

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: SAP AG TO: SAP EUROPE AG

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant