CN101960448A - 当前执行组件脚本的元素的识别 - Google Patents
当前执行组件脚本的元素的识别 Download PDFInfo
- Publication number
- CN101960448A CN101960448A CN2008801276276A CN200880127627A CN101960448A CN 101960448 A CN101960448 A CN 101960448A CN 2008801276276 A CN2008801276276 A CN 2008801276276A CN 200880127627 A CN200880127627 A CN 200880127627A CN 101960448 A CN101960448 A CN 101960448A
- Authority
- CN
- China
- Prior art keywords
- test
- script
- user interface
- application
- graphic user
- 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.)
- Pending
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/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/368—Test management for test version control, e.g. updating test cases to a new software version
-
- 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
Abstract
在一个示例中,一种设备(100)包括测试脚本发生器(704)和选择逻辑(114)。测试脚本发生器(704)用来通过识别被测试应用(106)的当前可用元素(604、606、608、610、612、614、616、618)创建测试脚本(116)。测试脚本(116)可用来实施该应用(106)。选择逻辑(114)用来与测试脚本(116)的执行同时地识别可由对应用(106)做出的图形用户界面变化影响的测试脚本(116)内的当前执行组件脚本(402)的元素(406、408)。选择逻辑与测试脚本(116)的执行同时地对可由图形用户界面变化影响的测试脚本(116)内的当前执行组件脚本的元素(406、408)的识别与通过测试脚本(116)实施应用(106)同时。
Description
背景技术
测试自动化软件试图确保被测试的应用正确地执行。引入到系统中的缺陷或功能变化可能造成测试失败。由于功能变化引起的系统故障将由过时的测试软件而产生。得知在被测试的应用中已经发生了变化后,可以运行所有测试以便尽力避免由应用的变化引起系统中的问题。
附图说明
根据描述、权利要求和附图,示例性实施例的特征将变得清楚明白,在附图中:
图1为包含测试管理系统的设备的实施例的表示,所述测试管理系统由过程启动器启动以便测试目标应用。
图2为用于图1设备的实施例的示例性过程流的表示。
图3为图1设备的实施例的示例性过程流的表示并且示出了变化的示例性应用。
图4为图1设备的实施例的测试管理系统的表示并且示出了测试执行代理,该测试执行代理通过采用测试脚本内的组件脚本对图1的目标应用执行测试。
图5为图1设备的实施例的目标应用的图形用户界面(GUI)的表示。
图6为图5的目标应用的GUI的实施例的屏幕区域的表示。
图7为具有分析器和图4的测试管理系统的测试脚本的图1设备实施例的测试管理系统的另一实施例的表示并且还示出了测试记录代理和测试脚本发生器。
具体实施方式
参照上面的背景技术部分,可能希望的是自动地更新测试以便跟上对软件应用做出的变化。可能希望的是拥有有关已知变化的潜在影响的信息并且仅仅运行可能潜在地受该变化影响的测试的子集。可以节省人力以及计算时间和资源。
一个实施例根据变化影响的分析创建要运行的测试子集。一个实施例自动地将要测试的应用分解成分立的、自动参数化的测试组件,并且产生有序的组件序列以便在应用内形成随后用来测试该应用的活动逻辑流集合。自动地检测应用的良性和关键的变化二者,并且可以自动地更新所述组件以便反映应用行为的变化。
一个实施例允许用户导航应用或者应用的一部分,同时该实施例记录导航期间执行的动作。例如,具有有关应用导航的知识的用户在没有针对软件测试的知识的情况下可以采用这样的实施例。将所述动作分解成独立组件,并且也捕获用户输入的任何数据。自动地参数化该数据以便允许使用不同的数据集而不必对组件做出任何变化。创建具有这些组件的测试并且可以运行该测试以便精确地、忠实地和/或正确地再现初始执行导航时采取的动作。
组件的自动创建允许用户以减少的、低的和/或最小的努力重新使用它们以创建新流并且使用试验(exercise)被测试应用的不同部分的不同数据。系统自动地识别已经对系统做出的变化,并且自动地对相关组件做出对应和/或适当的变化和/或更新以便测试成功和/或通过。可以在通过测试所需的变化的调试、应用和/或分析方面节省时间和精力。在被测试应用存在缺陷的情况下,系统自动地将缺陷提交(raise)给缺陷管理系统以便进行跟踪。
一个实施例快速且高效地创建一套针对目标软件运行的测试,该目标软件例如由总部在德国瓦尔多夫(Walldorf)的SAP AG(www.sap.com)提供。这些测试用来验证软件定制并且提供测试的简单且高效的更新。
流对象包括一系列独立的业务组件。这些业务组件可以与其他流和业务组件链接在一起以形成测试。该流可以自动地加以记录。业务组件可以自动地被参数化。
创建类型流的对象以表示通过被测试应用的逻辑操作流。按压学习流按钮可以提示用户在流开始的点处打开被测试应用。从该点起,系统记录对被测试应用执行的所有动作。该记录可以伴随有相对较小的、不突出的工具栏,该工具栏可以用来控制所述记录,提供诸如停止记录、暂停记录和继续记录之类的选项。
当记录完成时,系统分析记录,并且将其分解成分立组件的有序列表。接受数据的每个用户界面元素可以在组件中由一段脚本表示,其通过使用变量来表示相关数据项,而不是直接在脚本中指定数据来将数据输入到所述元素中。将该变量作为参数自动地分配给组件,并且其缺省值是用户输入的数据项。如果用户没有输入数据到该元素中,那么一个实施例可以选择不在脚本中表示该元素,或者可替换地利用作为参数分配给业务组件的表示数据的变量在脚本中表示该元素,该变量的缺省值为元素的当前值。系统也自动地检测和创建输出参数。保持对于每个组件存在哪些用户界面元素的记录,包括在记录流的过程中没有被用户接触的此类用户界面元素。用户确定这些组件将存储于何处,例如存储在质量管理系统中,所述质量管理系统诸如总部在美国加州帕洛阿尔托的惠普公司(www.hp.com)的商业标识符QUALITY CENTER(质量中心)下的产品。流对象参照存储在质量中心的业务组件来更新。然后,该流可以用作质量中心中的业务过程测试内的构造块。该流可以被配置成具有传送到其构成业务组件中的输入参数。
可以例如在存储业务组件之前或者在存储了业务组件之后的任何时间编辑业务组件。可以在业务组件中添加、移除或修改步骤和/或可以在业务组件中添加、移除或修改参数,而不阻止、损害和/或负面地影响业务组件的功能。
业务组件和流也可以被配置成具有传递到业务过程测试中的后续流和业务组件的输出参数。如果流中的业务组件的执行依赖于参数的值,那么可以为该业务组件配置运行条件(其可以称为“分支”)。可以将当前执行点处的参数值与特定值进行比较。如果满足条件,那么执行业务组件。否则,不执行业务组件。系统可以被配置成在不满足运行条件的情况下出故障,或者忽略它并且继续进行到流中的下一个业务组件。
业务过程测试可以被配置成在可以称为“变化检测模式”的模式下运行。除了执行业务过程测试以便检查被测试应用之外,这还具有记录在回放期间遇到的所有用户界面元素的效果。将这些用户界面元素与创建业务组件时记下的用户界面元素进行比较,并且记下任何变化。这检测到诸如重要的用户界面元素已经被添加或移除从而使得测试失败之类的变化,以及还检测到良性变化,例如不重要的区(field)被添加。运行测试之后,产生测试报告。将检测到的每个变化呈现给用户,所述用户可以决定是否更新相关业务组件以便反映该变化,或者是否将缺陷输入到缺陷管理系统中。也存在忽略该变化并且什么也不做的选项。例如,如果用户希望手工地更新业务组件,那么用户可能选择这样的选项。
应当在变化检测模式下运行的业务过程测试列表可以由用户手工创建,或者由变化影响测试软件自动地产生,所述变化影响测试软件确定可能由被测试应用的变化影响的测试子集并且自动地创建测试集合作为要在变化检测模式下运行的测试列表。它也可以自动地将系统设置为在变化检测模式下运行相关业务过程测试。
一个示例性实施例自动地执行通过被测试应用的活动流到组件的分解。示例性自动化在具有先前的用户输入且没有活动的同时用户输入的情况下不同时地发生。一个示例性实施例也参数化组件。一个示例性实现方式提供创建流和组件的迅速且精确的方式,并且允许扩展和重新使用组件而不必重新记录它们或者深入到底层脚本。运行条件提供了控制流且将其扩展到其原始能力之外而甚至不必看到底层脚本的简单方式。
与变化影响测试软件的集成可以在对系统做出变化的情况下减少需要执行的测试次数。这可以提供用于找出变化的真实影响的时间的节省。当已经检测到变化时,可以自动地更新组件,而用户无需理解组件如何工作。这节省了否则可能花费在测试和组件维护上的时间。由于系统将所有技术细节隐藏在测试后面,因而使得系统更可为技术上不那么专业的用户所访问。
变化影响测试确定可能被引入到系统中的变化影响的测试列表。该变化影响测试机制创建了自动地被配置成在变化检测模式下运行的测试集合。
转到图1,设备100的实施例包括由过程启动器104启动以便测试目标应用106的测试管理系统102。过程启动器104包括人类或计算机软件代理。目标应用106包括被测试应用。目标应用106要使其行为被测试并且包括诸如图形用户界面(GUI)118之类的用户界面。
测试管理系统102的实施例管理对目标应用106的测试的生命周期,并且包括测试执行代理108、分析器110、更新器112、选择逻辑114和测试脚本116。用户119可以例如操作GUI 118和/或与其交互以便提供附加数据给目标应用106,所述附加数据例如可以帮助测试执行代理108进行执行。如本文所描述的,测试管理系统102的另一实施例包括分析器110、测试脚本116、测试记录代理702(图7)以及测试脚本发生器704(图7)。
参照图1和图4,测试执行代理108通过采用测试脚本116内的组件脚本402对目标应用106执行测试。组件404包括组件脚本402,该组件脚本包含一个或多个步骤406、408。步骤406、408包括算法、规程、程序、过程、机制、引擎、模型、协调器、模块、元素、应用、软件、代码和/或逻辑的示例性实现方式。分析器110包括针对(directed to)目标应用106的GUI 118的目标界面分析器和/或用户界面分析器。测试脚本116包括以特定顺序布置的组件脚本402的集合,用于在测试中由测试执行代理108用来试验目标应用106。组件脚本402的顺序确定其中对照目标应用106执行步骤406、408的次序。步骤406、408的顺序可以是固定的。步骤406、408的执行顺序可以是连续的和/或遵照例如可以在测试脚本116中实现的布置。
在一个示例中组件脚本402包括一个或多个步骤406、408。更新器112用来更新用于测试目标应用106的步骤406、408。选择逻辑114包括相对于GUI 118审查步骤406、408的比较引擎120。
转到图5,GUI 118可以包括屏幕502。屏幕502包括一个或多个屏幕区域504、506、508、510、512、514、516、518。示例性屏幕区域504、506、508、510、512、514、516、518包括一个或多个用户界面(UI)控件,例如编辑区、检查框和/或列表。
参照图5和图6,示例性屏幕区域504、506、508、510、512、514、516、518包括一个或多个用户界面(UI)元素604、606、608、610、612、614、616、618。参照图4和图6,示例性步骤406、408对应于输入区,例如用户界面(UI)元素604、606、608、610、612、614、616、618。例如,步骤406、408与UI元素604、606、608、610、612、614、616、618之间可以存在一对一关系。例如,步骤406可以对应于UI元素604并且步骤408可以对应于UI元素606。步骤406、408可以包括如UI元素604、606、608、610、612、614、616、618的输入区的布置。UI的变化的一个示例由UI元素620的添加表示。
在一个示例性实现方式中,组件脚本402中的步骤406、408对应于屏幕502的屏幕区域504中的UI元素604、606、608、610、612、614、616、618。可以在目标应用106中重新使用屏幕区域504,并且每次在目标应用106中遇到屏幕区域504时,可以输入不同的数据。为了允许可在每个和所有这些场合下采用组件脚本402的单个实例,一个示例性方法可以允许将实际值输入到UI元素604、606、608、610、612、614、616、618中的可配置性以代替步骤406、408内的显式确定。这可以允许步骤406、408的参数化以便步骤406、408包括对变量的引用以代替数据的显式值。在测试执行代理108通过采用测试脚本116内的组件脚本402对目标应用106执行测试之前,测试执行代理108可以分配值给来自步骤406、408的参数化的变量,或者可以分配其他变量的值,这些其他变量的值在测试执行代理108执行组件脚本402的期间确定。
组件脚本402的顺序可以确定其中测试执行代理108对照目标应用106执行步骤406、408的次序。GUI 118的屏幕502的屏幕区域504可以包括诸如下拉列表之类的作为UI元素604的可以被启用和禁用的组合框,以及作为UI元素606的可以被启用和禁用的编辑框。在给定时间,启用作为屏幕区域504中的UI元素604的组合框,并且禁用作为屏幕区域504中的UI元素606的编辑框。用户119可以选择作为屏幕区域504中的UI元素604的组合框中的选项,并且使得作为屏幕区域504中的UI元素606的编辑框被启用。用户119在试图将文本插入作为屏幕区域504中的UI元素606的编辑框中之前选择作为屏幕区域504中的UI元素604的组合框中的该选项。
测试脚本116的组件脚本402的步骤406可以对应于作为屏幕区域504中的UI元素604的组合框。测试脚本116的组件脚本402的步骤408可以对应于作为屏幕区域504中的UI元素606的编辑框。测试脚本116的组件脚本402确保在步骤408由测试执行代理108执行之前,步骤406由测试执行代理108执行,因而用户119在试图将文本插入作为屏幕区域504中的UI元素606的编辑框中之前选择作为屏幕区域504中的UI元素604的组合框中的该选项以使得作为屏幕区域504中的UI元素606的编辑框被启用。
测试执行代理108按照顺序执行组件脚本402的每个步骤406、408。分析器110读取目标应用106的GUI 118。选择逻辑114将当前执行步骤406、408与由分析器110读取的目标应用106的GUI 118进行比较。
分析器110读取目标应用106的GUI 118。选择逻辑114将在任何给定时刻的目标应用106的GUI 118与来自测试脚本116的组件脚本402进行比较。更新器112依照选择逻辑114的结果更新来自测试脚本116的组件脚本402。过程启动器104启动测试的管理。
出于解释的目的,给出了设备100的实施例的示例性操作的说明性描述。转到图2,在一个示例性逻辑流202中,在步骤204处,测试执行代理108接收变化事件通知或触发。如果测试管理系统102确定发生了变化,那么测试管理系统可以例如通过提供通知或触发来启动逻辑流202。作为过程启动器104的人类可以手工地启动逻辑流202。在步骤206处,测试执行代理108开始执行目标应用106的测试。在步骤208处,测试执行代理108做出目标应用106的另一可执行步骤是否可用的确定。如果否,那么测试执行代理108在步骤210处停止执行目标应用的测试。如果是,那么测试执行代理108继续测试并且在步骤212执行目标应用的下一步骤。
在步骤214处,测试执行代理108做出目标应用106的上一(last)步骤的执行是否已成功的确定。如果否,那么测试执行代理108在步骤216处停止执行目标应用的测试并且在步骤218报告目标应用106中的缺陷。如果是,那么测试执行代理108在步骤220指示分析器110扫描GUI 118并且选择逻辑114在步骤222做出是否检测到另一变化的确定。该确定通过将分析器110的输出与测试脚本116中的相关组件进行比较来做出。
如果否,那么测试执行代理108从步骤222返回到步骤208并且继续。如果是,那么测试执行代理108在步骤224做出变化是否是良性的确定。良性变化是既不改变执行流,又不在测试脚本116中未处理该变化的情况下使得错误产生的变化。如果否,因而将变化识别为有害的或有威胁的,那么测试执行代理108继续到步骤216以停止执行并且然后到步骤218以报告缺陷。如果是,那么在步骤226处测试执行代理108指示更新器112调节目标应用106的测试。
在另一示例中,代替步骤226,测试执行代理108可以积累变化并且将它们存储到测试脚本116中,同时继续执行目标应用106的测试。在完成目标应用106的测试后,这些变化将可用于由诸如过程启动器104之类的用户审查。作为过程启动器104的用户然后可以决定将适当的变化应用到目标应用106的测试。
出于解释的目的,给出了设备100的实施例的示例性操作的说明性描述。转到图3,在一个示例性逻辑流302中,在步骤304处,测试执行代理108应用例如可能已经在图2逻辑流202中的步骤204处接收的变化事件通知或触发。逻辑流303表示将变化应用到组件404(图4)。测试执行代理108在步骤306处暴露来自该变化的参数。例如,编辑框的文本可以被暴露为参数。测试执行代理108在步骤308处将动作步骤定位为组件404的示例性步骤406、408(图4)。作为示例性步骤406、408的动作步骤可以使得屏幕502(图5)变化。示例性组件404包括作为示例性步骤406、408的数据步骤,其将数据应用到屏幕502上的控件。当测试执行代理108完成作为示例性步骤406、408的所有数据步骤时,作为示例性步骤406、408的动作步骤(例如提交按钮)可以由测试执行代理108执行。
测试执行代理108在步骤310处做出变化是数据变化还是动作变化的确定。如果在步骤310处该确定赞成数据变化,那么测试执行代理108继续到步骤312。测试执行代理108在步骤312处在动作步骤之前插入所述变化。测试执行代理108可以分配缺省值给数据步骤以表示变化的数据。如果在步骤310处该确定赞成动作变化,那么测试执行代理108继续到步骤314。测试执行代理108在步骤314处利用所述变化替换动作步骤。
参照图7,测试管理系统102的另一实施例包括分析器110、测试脚本116、测试记录代理702和测试脚本发生器704。过程启动器104通过初始化测试记录代理702而开始记录由用户119在目标应用106的GUI 118上执行的动作的过程。测试记录代理702通过利用分析器110管理目标应用106的GUI 118的分析。分析器110记下在目标应用106的GUI 118上执行的每个动作,并且记下输入到目标应用106的GUI 118中的任何数据。当分析器110确定目标应用106的GUI 118已变化时,测试记录代理702启动组件脚本发生器704,该组件脚本发生器存储直到该点为止已经分析的动作和数据作为组件脚本402(图4)。
参照图4和图7,在一个示例中,测试记录代理702可以使得组件脚本发生器704将组件脚本402存储到测试脚本116中。测试记录代理702然后继续记录进组件脚本402的新实例,并且该过程重复,直到用户119停止记录过程。在另一个示例中,测试记录代理702可以在存储器中存储直到记录过程完成为止已经记录的所有组件脚本402,并且然后将所有组件脚本402(图4)存储到测试脚本116中。在一个示例性实施例中,在测试记录代理702或组件脚本发生器704存储组件脚本402之前或之后,用户119可以被允许添加、移除或修改组件脚本402中的步骤,或者添加、移除或改变组件404的参数,而不会负面地影响组件404的运行。
一个示例性实施例包括测试脚本发生器704和选择逻辑114。测试脚本发生器704用来通过识别被测试应用106的当前可用元素604、606、608、610、612、614、616、618来创建测试脚本116。测试脚本116可用来试验应用106。选择逻辑114用来与测试脚本116的执行同时地识别可被对应用106做出的图形用户界面变化影响的测试脚本116内的当前执行组件脚本402的元素406、408。选择逻辑与测试脚本116的执行同时地对可被图形用户界面变化影响的测试脚本116内的当前执行组件脚本的元素406、408的识别与通过测试脚本116试验应用106同时。
测试执行代理108通过采用测试脚本116内的当前执行组件脚本402对应用106执行测试。更新器112用来更新用于应用106的测试的元素406、408。对应用106的图形用户界面118做出图形用户界面变化。将目标界面分析器110针对应用106的图形用户界面118。选择逻辑114包括比较引擎120,其相对于图形用户界面118审查元素406、408。图形用户界面118包括一系列输入屏幕502,每个输入屏幕包括输入区604、606、608、610、612、614、616、618的布置。每个输入屏幕502与可用来试验应用106的测试脚本116的元素406、408的集合的相应元素406、408相对应。
一种示例性方法在没有活动的同时用户输入的情况下创建测试组件404和测试脚本116,以便测试应用106。存在对于应用106的图形用户界面118上的变化的对象620的识别。该识别与应用106的测试同时。当在用户界面118中识别到变化时,存在在没有活动的同时用户输入的情况下对测试脚本116的更新。
当应用106被测试的同时,存在根据用户界面118上的一个或多个动作的执行而采用对变化的对象620的识别来产生一个或多个组件404。存在作为根据当应用106被测试时图形用户界面118的状态和当组件脚本402被创建或先前被更新时图形用户界面118的状态的图形用户界面118状态方面的一个或多个差异的结果,对可应用到现有组件脚本402的变化的识别。鉴于组件脚本402被创建或先前被更新之后图形用户界面118的一个或多个变化,存在对组件脚本402应用一个或多个变化以促进对照图形用户界面118继续执行组件脚本402。
设备100的一个实施例包括多个组件,例如电子组件、化学组件、有机组件、机械组件、硬件组件、光学组件和/或计算机软件组件中的一个或多个。在设备100的一个实施例中,可以组合或划分若干这样的组件。在一个或多个示例性实施例中,这里结合一个或多个组件和/或其一个或多个部分描述的一个或多个特征类似地可应用于和/或可扩展到特定组件和/或设备100中的其他组件的一个或多个其他实例。在一个或多个示例性实施例中,这里结合一个或多个组件和/或其一个或多个部分描述的一个或多个特征可以从特定组件和/或设备100中的其他组件的一个或多个其他实例中省略或者在其中修改。示例性技术效果是一个或多个示例性和/或希望的功能、方法和/或规程。如本领域技术人员将理解的,设备100的实施例的示例性组件采用和/或包括以若干编程语言中的任何语言书写或实现的一组和/或一系列计算机指令。设备100的实施例包括任何(例如水平、倾斜、有角度的或垂直的)取向,本文的描述和附图出于解释的目的说明了设备100的示例性实施例的示例性取向。
设备100的一个实施例包含物品和/或制品。物品包括一个或多个计算机可读信号承载介质。物品包含所述一个或多个介质中用于一个或多个示例性和/或希望的功能、方法和/或规程的手段。
设备100的一个实施例采用一个或多个计算机可读信号承载介质。计算机可读信号承载介质存储用于执行一个或多个实施例的一个或多个部分的软件、固件和/或汇编语言。用于设备100的一个实施例的计算机可读信号承载介质的示例包括存储器和/或可记录数据存储介质。在一个示例中,用于设备100的一个实施例的计算机可读信号承载介质包括磁的、电的、光的、生物的、化学的和/或原子数据存储介质中的一个或多个。例如,计算机可读信号承载介质的实施例包括一个或多个软盘、磁带、CD、DVD、硬盘驱动器和/或电子存储器。在另一个示例中,计算机可读信号承载介质的实施例包括通过包括设备100的实施例或者与设备100的实施例耦合的网络传输的调制载波信号,所述网络例如电话网络、局域网(“LAN”)、广域网(“WAN”)、因特网和/或无线网络中的一个或多个。计算机可读信号承载介质包括物理计算机介质和/或计算机可读信号承载有形介质。
本文描述的步骤或操作是示例。在不脱离本发明精神的情况下,可以存在对于这些步骤或操作的若干变型。例如,所述步骤可以以不同的顺序执行,或者可以添加、删除或修改步骤。
尽管本文已经详细地绘出和描述了本发明的示例性实施例,但是相关领域的技术人员应当清楚的是,在不脱离本发明精神的情况下,可以做出各种不同的修改、添加、替换等等,并且因而这些应当被认为处于下面的权利要求书中所限定的本发明的范围内。
Claims (10)
1.一种设备(100),包括:
测试脚本发生器(704),其用来通过识别被测试应用(106)的当前可用元素(604、606、608、610、612、614、616、618)来创建测试脚本(116),其中测试脚本(116)能够用来试验该应用(106);以及
选择逻辑(114),其用来与测试脚本(116)的执行同时地识别可被对应用(106)做出的图形用户界面变化影响的测试脚本(116)内的当前执行组件脚本(402)的元素(406、408);
其中所述选择逻辑与测试脚本(116)的执行同时地对可被图形用户界面变化影响的测试脚本(116)内的当前执行组件脚本的元素(406、408)的识别与通过测试脚本(116)试验所述应用(106)同时。
2.权利要求1的设备(100),还包括:
测试执行代理(108),其通过采用测试脚本(116)内的当前执行组件脚本(402)对应用(106)执行测试。
3.权利要求2的设备(100),还包括:
更新器(112),其用来更新用于应用(106)的测试的元素(406、408)。
4.权利要求1的设备(100),其中对应用(106)的图形用户界面(118)做出图形用户界面变化,该设备(100)还包括:
目标界面分析器(110),其针对应用(106)的图形用户界面(118)。
5.权利要求4的设备(100),其中选择逻辑(114)包括相对于图形用户界面(118)审查元素(406、408)的比较引擎(120)。
6.权利要求1的设备(100),其中图形用户界面(118)包括一系列输入屏幕(502),每个输入屏幕包括输入区(604、606、608、610、612、614、616、618)的布置,其中每个输入屏幕(502)与能够用来试验应用(106)的测试脚本(116)的元素(406、408)的集合的相应元素(406、408)相对应。
7.一种方法,包括步骤:
在没有活动的同时用户输入的情况下创建测试组件(404)和测试脚本(116),以便测试应用(106);
识别该应用(106)的图形用户界面(118)上的变化的对象(620),其中该识别与该应用(106)的测试同时;以及
当在用户界面(118)中识别到变化时,在没有活动的同时用户输入的情况下更新测试脚本(116)。
8.权利要求7的方法,还包括步骤:
当应用(106)被测试的同时,根据用户界面(118)上的一个或多个动作的执行,采用对变化的对象(620)的识别来产生一个或多个组件(404)。
9.权利要求7的方法,还包括步骤:
作为根据当应用(106)被测试时图形用户界面(118)的状态与当组件脚本(402)被创建或先前被更新时图形用户界面(118)的状态的图形用户界面(118)状态方面的一个或多个差异的结果,识别能够应用到现有组件脚本(402)的变化。
10.权利要求7的方法,还包括步骤:
鉴于组件脚本(402)被创建或先前被更新之后图形用户界面(118)的一个或多个变化,对组件脚本(402)应用一个或多个变化以促进对照图形用户界面(118)继续执行组件脚本(402)。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2008/055479 WO2009108203A1 (en) | 2008-02-29 | 2008-02-29 | Identification of elements of currently-executing component script |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101960448A true CN101960448A (zh) | 2011-01-26 |
Family
ID=41016392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008801276276A Pending CN101960448A (zh) | 2008-02-29 | 2008-02-29 | 当前执行组件脚本的元素的识别 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10176079B2 (zh) |
EP (1) | EP2245551B1 (zh) |
CN (1) | CN101960448A (zh) |
WO (1) | WO2009108203A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722437A (zh) * | 2012-05-29 | 2012-10-10 | 北京空间飞行器总体设计部 | 一种基于组件与脚本的航天器测试系统及测试方法 |
CN104516633A (zh) * | 2014-11-19 | 2015-04-15 | 微梦创科网络科技(中国)有限公司 | 一种用户界面元素管理方法和装置 |
CN105224462A (zh) * | 2015-10-27 | 2016-01-06 | 小米科技有限责任公司 | 控件元素的识别方法和装置 |
CN106845221A (zh) * | 2016-11-09 | 2017-06-13 | 哈尔滨安天科技股份有限公司 | 一种基于语法形式的脚本类文件格式识别方法和系统 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8490056B2 (en) | 2010-04-28 | 2013-07-16 | International Business Machines Corporation | Automatic identification of subroutines from test scripts |
US9990100B2 (en) | 2010-08-17 | 2018-06-05 | Entit Software Llc | Providing automation code containing a representation of alternative interpretations of a user action |
US8612806B2 (en) | 2011-12-16 | 2013-12-17 | Sap Ag | Systems and methods for recording user interactions within a target application |
US9195572B2 (en) | 2011-12-16 | 2015-11-24 | Sap Se | Systems and methods for identifying user interface (UI) elements |
CN103365643B (zh) * | 2012-03-30 | 2017-07-21 | Ge医疗系统环球技术有限公司 | 一种自动生成图形用户界面的测试脚本的方法及装置 |
US8904355B2 (en) | 2013-03-14 | 2014-12-02 | Accenture Global Services Limited | Test script generation system |
GB2513404A (en) * | 2013-04-26 | 2014-10-29 | Ibm | Generating test scripts through application integration |
US9734042B1 (en) * | 2013-05-27 | 2017-08-15 | Amdocs Software Systems Limited | System, method, and computer program for automated parameterized software testing |
EP3129885B1 (en) | 2014-04-08 | 2020-12-30 | Turnkey Solutions Corp. | Software test automation system and method |
US10289534B1 (en) * | 2015-10-29 | 2019-05-14 | Amdocs Development Limited | System, method, and computer program for efficiently automating business flow testing |
CN106971103B (zh) * | 2016-02-25 | 2018-12-14 | 三星半导体(中国)研究开发有限公司 | 在电子终端中管理应用程序权限的方法 |
CN105930262B (zh) * | 2016-03-02 | 2018-04-20 | 平安科技(深圳)有限公司 | 应用程序用户界面自动化测试方法及电子设备 |
US10705950B2 (en) * | 2017-01-30 | 2020-07-07 | Retest Gmbh | Method and system for semi-automatic testing of program code for graphical user interfaces |
KR101916765B1 (ko) | 2018-02-27 | 2018-11-09 | 주식회사 쓰리디타다 | 3d 모델링 장치 및 3d 모델링 작업을 실행하기 위한 프로그램을 기록한 매체 |
CN108647143A (zh) * | 2018-05-09 | 2018-10-12 | 平安普惠企业管理有限公司 | Mock接口测试方法、装置、计算机设备以及存储介质 |
US10983857B2 (en) * | 2018-10-26 | 2021-04-20 | International Business Machines Corporation | Continuing a running script after modification |
US20220405196A1 (en) * | 2019-11-07 | 2022-12-22 | Nippon Telegraph And Telephone Corporation | Operation pattern generation apparatus, operation pattern generation method and program |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030202012A1 (en) * | 2002-04-29 | 2003-10-30 | International Business Machines Corporation | Method, system and program product for determining differences between an existing graphical user interface (GUI) mapping file and a current GUI |
US20030236775A1 (en) * | 2002-06-20 | 2003-12-25 | International Business Machines Corporation | Topological best match naming convention apparatus and method for use in testing graphical user interfaces |
US20050166094A1 (en) * | 2003-11-04 | 2005-07-28 | Blackwell Barry M. | Testing tool comprising an automated multidimensional traceability matrix for implementing and validating complex software systems |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5600789A (en) * | 1992-11-19 | 1997-02-04 | Segue Software, Inc. | Automated GUI interface testing |
DE69625751T2 (de) * | 1995-07-07 | 2003-10-02 | Sun Microsystems Inc | Verfahren und System zur Ausführungssynchronisation von Ereignissen beim Testen von Software |
US6701514B1 (en) * | 2000-03-27 | 2004-03-02 | Accenture Llp | System, method, and article of manufacture for test maintenance in an automated scripting framework |
JP2001306358A (ja) * | 2000-04-27 | 2001-11-02 | Ricoh Co Ltd | Guiプログラムのテスト装置、guiプログラムのテスト方法及び該方法に用いる記録媒体 |
US7076713B1 (en) * | 2000-10-31 | 2006-07-11 | Lucent Technologies Inc. | Test generator for converting a model of computer component object behavior and stimulus values to test script |
US7313564B2 (en) * | 2002-12-03 | 2007-12-25 | Symbioware, Inc. | Web-interactive software testing management method and computer system including an integrated test case authoring tool |
US7421683B2 (en) * | 2003-01-28 | 2008-09-02 | Newmerix Corp£ | Method for the use of information in an auxiliary data system in relation to automated testing of graphical user interface based applications |
US6978218B1 (en) * | 2003-10-13 | 2005-12-20 | Sap Ag | System and method for testing applications at the presentation layer |
US20050234708A1 (en) * | 2004-04-19 | 2005-10-20 | Nuvotec, Inc. | Notation enabling all activity between a system and a user to be defined, and methods for using the same |
US20070266371A1 (en) * | 2005-12-30 | 2007-11-15 | Ramakrishnan Suraj | Multiple correction requests occurring from a single request |
WO2007118271A1 (en) * | 2006-04-13 | 2007-10-25 | Todaycom Pty Ltd | A method and system and product for conditioning software |
US7752501B2 (en) * | 2006-07-27 | 2010-07-06 | International Business Machines Corporation | Dynamic generation and implementation of globalization verification testing for user interface controls |
US20080109794A1 (en) * | 2006-11-07 | 2008-05-08 | International Business Machines Corporation | Method for Signaling Runtime Events to an Automated Test Script |
US8473914B2 (en) * | 2007-06-19 | 2013-06-25 | International Business Machines Corporation | Semi-automated update of application test scripts |
EP3249893A1 (en) * | 2008-06-03 | 2017-11-29 | Whirlpool Corporation | Appliance development toolkit |
US9098635B2 (en) * | 2008-06-20 | 2015-08-04 | Cadence Design Systems, Inc. | Method and system for testing and analyzing user interfaces |
US8490056B2 (en) * | 2010-04-28 | 2013-07-16 | International Business Machines Corporation | Automatic identification of subroutines from test scripts |
-
2008
- 2008-02-29 CN CN2008801276276A patent/CN101960448A/zh active Pending
- 2008-02-29 WO PCT/US2008/055479 patent/WO2009108203A1/en active Application Filing
- 2008-02-29 EP EP08731110.6A patent/EP2245551B1/en not_active Not-in-force
- 2008-02-29 US US12/918,389 patent/US10176079B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030202012A1 (en) * | 2002-04-29 | 2003-10-30 | International Business Machines Corporation | Method, system and program product for determining differences between an existing graphical user interface (GUI) mapping file and a current GUI |
US20030236775A1 (en) * | 2002-06-20 | 2003-12-25 | International Business Machines Corporation | Topological best match naming convention apparatus and method for use in testing graphical user interfaces |
US20050166094A1 (en) * | 2003-11-04 | 2005-07-28 | Blackwell Barry M. | Testing tool comprising an automated multidimensional traceability matrix for implementing and validating complex software systems |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722437A (zh) * | 2012-05-29 | 2012-10-10 | 北京空间飞行器总体设计部 | 一种基于组件与脚本的航天器测试系统及测试方法 |
CN102722437B (zh) * | 2012-05-29 | 2015-12-16 | 北京空间飞行器总体设计部 | 一种基于组件与脚本的航天器测试系统及测试方法 |
CN104516633A (zh) * | 2014-11-19 | 2015-04-15 | 微梦创科网络科技(中国)有限公司 | 一种用户界面元素管理方法和装置 |
CN104516633B (zh) * | 2014-11-19 | 2018-05-25 | 微梦创科网络科技(中国)有限公司 | 一种用户界面元素管理方法和装置 |
CN105224462A (zh) * | 2015-10-27 | 2016-01-06 | 小米科技有限责任公司 | 控件元素的识别方法和装置 |
CN105224462B (zh) * | 2015-10-27 | 2018-02-13 | 小米科技有限责任公司 | 控件元素的识别方法和装置 |
CN106845221A (zh) * | 2016-11-09 | 2017-06-13 | 哈尔滨安天科技股份有限公司 | 一种基于语法形式的脚本类文件格式识别方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
EP2245551A1 (en) | 2010-11-03 |
EP2245551A4 (en) | 2012-11-07 |
US20100325492A1 (en) | 2010-12-23 |
EP2245551B1 (en) | 2018-05-30 |
WO2009108203A1 (en) | 2009-09-03 |
US10176079B2 (en) | 2019-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101960448A (zh) | 当前执行组件脚本的元素的识别 | |
CN106844217B (zh) | 对应用的控件进行埋点的方法及装置、可读存储介质 | |
CN110309071B (zh) | 测试代码的生成方法及模块、测试方法及系统 | |
US10310968B2 (en) | Developing software project plans based on developer sensitivity ratings detected from monitoring developer error patterns | |
Kaur et al. | Comparative study of automated testing tools: Testcomplete and quicktest pro | |
US8121824B2 (en) | Predicate checking for distributed systems | |
CN103049385B (zh) | 一种云环境下的php代码调试方法及系统 | |
CN110928772A (zh) | 一种测试方法及装置 | |
US8904358B1 (en) | Methods, systems, and articles of manufacture for synchronizing software verification flows | |
EP2705441B1 (en) | Automatic classification adjustment of recorded actions for automation script | |
Kervinen et al. | Model-based testing through a GUI | |
CN112256581A (zh) | 高仿真证券业交易类系统的日志回放测试方法及装置 | |
CN112433948A (zh) | 一种基于网络数据分析的仿真测试系统及方法 | |
US8850407B2 (en) | Test script generation | |
CN107704389B (zh) | 一种页面测试方法及装置 | |
Heiskanen et al. | Debug support for model-based GUI testing | |
CN116756021A (zh) | 基于事件分析的故障定位方法、装置、电子设备及介质 | |
CN104077225A (zh) | 基于JavaScript的脚本调试方法和脚本调试装置 | |
EP2972879A1 (en) | Method and system for analyzing a trace timeline of computer system activity | |
Belli et al. | Advances in model-based testing of graphical user interfaces | |
CN101727384B (zh) | 自动测试一应用软件的控件的方法 | |
JP5319643B2 (ja) | ソフトウェアプロダクトライン開発支援装置およびその方法 | |
Kugler et al. | Testing scenario-based models | |
Behrens et al. | Requirements analysis and prototyping using scenarios and statecharts | |
JP6072547B2 (ja) | アプリケーション・テストシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110126 |