CN1938690B - 将自动测试脚本持续转换成抽象测试用例表示的方法和系统 - Google Patents

将自动测试脚本持续转换成抽象测试用例表示的方法和系统 Download PDF

Info

Publication number
CN1938690B
CN1938690B CN2005800064163A CN200580006416A CN1938690B CN 1938690 B CN1938690 B CN 1938690B CN 2005800064163 A CN2005800064163 A CN 2005800064163A CN 200580006416 A CN200580006416 A CN 200580006416A CN 1938690 B CN1938690 B CN 1938690B
Authority
CN
China
Prior art keywords
test case
application
test
abstract
abstract representation
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.)
Expired - Fee Related
Application number
CN2005800064163A
Other languages
English (en)
Other versions
CN1938690A (zh
Inventor
约翰·兰道尔·维斯特
萨希施·K.·M.·戈皮纳兰内尔
安德鲁·海安-查尔·金
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.)
Harman Connected Services Inc
Original Assignee
Symphony Services Corp
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 Symphony Services Corp filed Critical Symphony Services Corp
Publication of CN1938690A publication Critical patent/CN1938690A/zh
Application granted granted Critical
Publication of CN1938690B publication Critical patent/CN1938690B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明提供一种使用语义分析的一般技术,其可以用于将从通常可用或专有测试自动工具产生的特定自动测试脚本(及其底层的测试用例)转换成抽象测试用例表示。抽象测试用例表示基于包括应用状态(状态信息)、外部指令序列(控制流信息)和输入数据的测试用例表示模型。抽象表示本质上提供测试用例的平台独立表示。应用对象模型提供捕获测试下应用的结构和行为性质所需的表示能力。抽象测试用例表示可以相对于来自应用元数据仓库的特定对象信息而确认并进一步由该信息丰富。最后,对象信息和输入数据可以与控制流信息分离以提供测试脚本的自动参数确定。

Description

将自动测试脚本持续转换成抽象测试用例表示的方法和系统
技术领域
本发明一般地涉及管理测试用例的方法和系统,尤其涉及转换已转换成抽象表示的测试用例的方法和系统。
背景技术
在暴露程序缺陷方面提供足够覆盖和效力的适当测试用例的创建和维护是一项非常有挑战性且资源密集的活动。测试用例管理的当前方法不保证测试用例的可重用性和可维护性。这导致从一个版本到另一个版本、从一种环境到另一种环境以及从一种平台到另一种平台测试用例创建的重复周期。
测试用例创建的当前方法是以多种编程语言中一种手工编程或使用记录/回放系统记录测试用例。在两种方法中,测试用例作为已知为测试脚本的编程语言语句序列创建和管理。这些测试脚本然后通过将它们看作存储磁盘上的文件的一组实用程序管理。
这样管理测试用例的一个缺点在于它们依赖于目标执行环境。不同测试执行环境支持不同的脚本语言并且相同的操作在这些环境中将由不同的语句表示。如果企业软件公司决定改变测试执行环境,所有他们的测试用例不得不在新的环境中重新创建。
考虑到这种努力所需的基本投资,许多软件开发组织将依赖于单个厂商的测试执行环境。另外,在用户化环境中测试企业应用也表现出一种挑战。大多数企业应用基本上在它们客户环境中用户化。相对于一套标准测试程序测试应用可以保证应用没有以不期望的方式更改。假设这种测试用例可以减少这种应用在客户场所的首次展示时间以及提高现场支持活动的效率。客户不能支持与软件供应商相同的测试执行环境使这变得不可能。
企业应用需要跨越大量平台的测试。这些平台涉及彼此配合的操作系统、数据库系统和其他应用的技术堆栈。为了有效管理测试用例,脚本将不依赖于任何特定平台。
几乎所有企业应用都支持国际化和地方化,相同的测试可以使用不同语言和不同地区格式的数据集执行是重要的。为了实现这一点,数据集必须与测试场景分离。当测试用例作为脚本管理时,这需要一个人手工确定脚本的参数。这又涉及高等技工的基本投资。
如前一段落描述的确定参数的测试用例也需要保证足够的覆盖。相同的测试场景必须以不同的数据集、不同的边界条件值例如执行以保证系统的正常机能。
当企业应用从一个版本迁移至下一个时,甚至细小改变例如用户界面的布局改变可能导致测试用例的改变。使用脚本的测试用例表示中抽象的缺乏基本上降低测试用例的可重用性而增加维护成本。
所有企业应用都具有在许多不同上下文中重复的功能性。以模块化方式创建测试用例的能力提高其可重用性。针对相同功能性的测试用例可以在使用相同功能性的测试场景中重复使用。大多数脚本编辑环境通过过程支持提供模块化。这种过程抽象局限于它们的能力,因为测试用例不仅包括过程抽象而且包括数据抽象。设计测试用例管理系统中的适当抽象使得测试用例可以模块化方式建立并有效且有力地重新组合。
需要将自动测试脚本转换成抽象测试用例表示的改进系统和方法。
发明内容
因此,本发明的一个目的在于提供将特定自动测试脚本转换成抽象测试用例表示的方法和系统。
本发明的另一个目的在于提供使用语义分析的方法和系统,用于将从通常可用或专有测试自动工具产生的特定自动测试脚本(及其底层的测试用例)转换成抽象测试用例表示。
本发明的另一个目的在于提供将特定自动测试脚本转换成抽象测试用例表示的方法和系统,其中抽象测试用例表示基于包括应用状态(状态信息)、外部交互序列(控制流信息)和输入数据的测试用例表示模型。
本发明的再一个目的在于提供将特定自动测试脚本转换成抽象测试用例表示的方法和系统,抽象表示提供测试用例的平台独立表示。
本发明的又一个目的在于提供将特定自动测试脚本转换成抽象测试用例表示的方法和系统,其中抽象测试用例表示基于提供捕获测试下应用的结构和行为性质所需的表示能力的测试用例表示模型。
本发明的另一个目的在于提供将特定自动测试脚本转换成抽象测试用例表示的方法和系统,并且抽象测试用例表示相对于来自应用元数据仓库的特定对象信息而确认并且由该信息丰富。
本发明的另一个目的在于提供将特定自动测试脚本转换成抽象测试用例表示的方法和系统,其中对象信息和输入数据与控制流信息分离以提供测试脚本的自动参数确定。
本发明的这些和其他目的在转换测试用例的方法中实现,其导入以一种或多种脚本语言编写的测试用例。测试用例转换成包括应用状态、外部交互序列和输入数据的抽象表示。测试用例的抽象表示存储在数据库系统中。
在本发明另一种实施方案中,转换测试用例的系统包括导入以一种或多种脚本语言编写的测试用例的处理器。提供用于将测试用例转换成包括应用状态、外部交互序列和输入数据的抽象表示的逻辑;以及存储测试用例的抽象表示的数据库。
在本发明另一种实施方案中,计算机系统包括连接到存储器的处理器。存储器存储可由处理器执行的、用于将测试用例转换成包括应用状态、外部交互序列和输入数据的抽象表示的程序指令。数据库存储测试用例的抽象表示。
在本发明另一种实施方案中,载体介质包括将测试用例转换成包括应用状态、外部交互序列和输入数据的抽象表示的程序指令。数据库存储测试用例的抽象表示的程序指令。
为了实现本发明,提供了一种将测试用例转换成抽象表示的方法,包括:导入以一种或多种脚本语言编写的测试用例;分析导入的测试用例的脚本的语法,其中语法分析产生抽象语法树形式的分析树;使用语义分析将导入的测试用例转换成抽象表示,其中所述语义分析基于应用对象模型将抽象语法树转换为测试用例的抽象表示,所述抽象表示包括应用状态、外部交互序列和输入数据,其中每个应用状态表示应用在定义外部交互上下文的测试下的运行时间快照并且包括一组应用对象、其属性和属性值,外部交互序列表示由外部代理在应用对象上调用的事件,所述输入数据包括与所述事件相对应的数据;以及将所述测试用例的所述抽象表示存储到数据库系统中。
为了实现本发明,提供了一种用于将测试用例转换成抽象表示的系统,包括:用于导入以一种或多种脚本语言编写的测试用例的装置;用于分析导入的测试用例的脚本的语法的装置,其中语法分析产生抽象语法树形式的分析树;用于使用语义分析将导入的测试用例转换成抽象表示的装置,其中所述语义分析基于应用对象模型将抽象语法树转换为测试用例的抽象表示,所述抽象表示包括应用状态、外部交互序列和输入数据,其中每个应用状态表示应用在定义外部交互上下文的测试下的运行时间快照并且包括一组应用对象、其属性和属性值,外部交互序列表示由外部代理在应用对象上调用的事件,并且所述输入数据包括与所述事件相对应的数据;以及用于将所述测试用例的所述抽象表示存储到数据库系统中的装置。
附图说明
图1是说明本发明的测试用例转换实施方案的一种实施方案的示意图。
图2是说明图1实施方案的一般流程图。
图3是说明在本发明一种实施方案中使用的应用状态和交互表示的关系的示意图。
图4是说明以本发明的方式使用的测试用例导入的一种实施方案的示意图。
图5是说明以本发明的方式使用的导入处理的一种实施方案的流程图。
图6是说明可以本发明一种实施方案的方式使用的应用对象模型的示意图。
图7是说明可以本发明的方式使用的语义分析的一种实施方案的流程图。
图8是说明可以用来实现本发明的图1测试用例转换实施方案的计算机系统的示意图。
图9是说明本发明测试用例转换实施方案的一种实施方案的示意图。
图10是说明使用组成、抽象形式和确认的本发明测试用例转换实施方案的一种实施方案的示意图。
图11是说明可以用来实现图9和10测试转换实施方案的计算机系统的示意图。
具体实施方式
参考图1和2,本发明的一种实施方案是转换测试用例的系统10和方法。导入以一种或多种脚本语言编写的测试用例12。测试用例12然后转换成抽象表示14,其包括一种或多种应用状态16、外部交互序列18和输入数据20。抽象表示14存储在数据库系统22中。多种不同的数据库系统22可以使用,包括但不局限于,关系数据库管理系统、XML数据库管理系统等。
应用状态16表示应用在定义外部交互上下文的测试下的运行时间快照。在一种实施方案中,如图3所示,应用状态16是一组应用对象24,例如网页或窗口控制或账户对象等。每个应用对象24与一组属性26及其值相关联。例如,网页可以具有称作url的属性26,其包含与当前网页相对应的统一资源定位器(URL),以及称作标题的属性26,其包含当前网页的标题。在一种实施方案中,该组应用状态16在测试用例12中表示并且以分层方式排列。
使用的脚本语言可以是用于记录或编辑测试用例的类型化或未类型化编程语言。外部交互序列18可以表示由外部代理28在应用对象24上调用的事件。外部代理28可以是人工代理或其他软件代理。交互序列可以包括捕获顺序、并发、循环、条件交互等的流控制结构32。
如图4所示,在一种实施方案中,语法分析34可以为引入的脚本而实现。语法分析器34可以为每种脚本语言实现一个。语法分析器34可以利用在扩展巴科斯诺尔范式(EBNF)中指定的语法分析规则36。语法分析可以产生抽象语法树(AST)38形式的分析树。使用本发明处理脚本的方法的一种实施方案在图5流程图中说明。
在一种实施方案中,实现基于应用对象模型(AOM)44将AST 38转换成抽象测试用例表示42的语义分析40。语义分析40将表示为AST 38的测试用例分解为应用状态16、外部交互序列和输入数据。
如图6所示,AOM 44可以是在测试下模拟应用的元数据表示。元数据表示的组成部分包括,但不局限于,应用对象24的应用对象类型定义48,每个应用对象24类型的属性定义50,由每个应用对象24类型支持的方法和事件52的定义,事件52在应用状态16上效果的定义等。使用本发明执行语义分析的方法的一种实施方案在图7流程图中说明。
应用对象类型定义48可以包括每个应用对象24类型的另外分类,并且可以是(i)分层,(ii)容器和(iii)简单(simple)。分层对象类型与其自己的应用状态16相关联。可以包含其他对象实例的应用对象类型16是容器型。例如,网页可以由分层对象类型表示且网页中的表格由容器型表示。页面中的标签由简单对象类型表示。与分层应用对象类型16相关联的状态是模态应用状态或非模态应用状态。模态应用状态限制对当前应用状态16中可用的应用对象24实例的可能交互。对话窗口例如将所有用户交互限制于当前对话窗口。
事件52在应用状态16上的效果捕获事件52对应用状态16的一个或多个结果。事件52的结果可以是给定类型对象实例的创建、对象类型实例的删除、该类型现有对象属性的修改、对象类型实例的选择等。
分层对象类型的创建或选择可以导致新的应用状态16的形成,与该对象类型相关联的应用状态16的选择等。
在另一种实施方案中,测试用例12的抽象表示14使用来自应用元数据仓库54的信息丰富。测试用例12的抽象表示14可以通过提取与在引入的测试脚本中缺少的测试用例12相关联的应用对象24的那些属性26的值来丰富。测试用例12的丰富可以分离测试用例12及其记录或编辑环境等,并且允许在应用元数据表示54中固定的属性26的使用。例如,应用元数据仓库54中的识别字段56可以用来识别给定对象24,代替依赖语言的显示标签。这提高测试用例12的可重用性。因为不同的测试执行环境可以使用不同的属性26来识别相同的应用对象16,这种分离提供平台独立性。
在一种实施方案中,应用对象属性26和输入数据与外部交互序列分离以提供自动参数确定。通过自动分离数据和测试用例场景,系统10极大地减少确定脚本参数所涉及的手工劳动。使用应用对象模型,与每个事件52相关联的输入数据与场景定义分离。应用相同的处理以存储对象属性26。输入数据定义形成为场景中涉及的事件52而驱动的嵌套表格数据类型定义,以及应用对象模型中的对象事件定义。这允许匹配该定义的任何数据集应用于同一组场景。
在本发明另一种实施方案中,如图8所示,计算机系统110包括连接到存储器114的处理器112。存储器114存储可由处理器112执行的程序指令116,用于将测试用例转换成包括应用状态、外部交互序列和输入数据的抽象表示。数据库116存储测试用例的抽象表示。语法分析器118可以为引入的脚本而包括。语法分析器118产生抽象语法树(AST)120形式的分析树。
逻辑122提供以实现语义分析并且基于应用对象模型(AOM)将AST 120转换成抽象测试用例表示122。逻辑124使用来自应用元数据仓库126的信息丰富抽象测试用例表示。逻辑126将应用对象属性和输入数据与外部交互序列分离以提供自动参数确定。
在本发明另一种实施方案中,如图9和10所示,提供产生测试用例212的方法和系统210。测试用例212从包括应用状态216、外部交互序列218和来自数据存储222的测试用例的输入数据220的抽象表示214中产生。测试用例212产生,然后被确认。测试用例212转换成测试脚本224。多种数据存储222可以使用,包括但不局限于,关系数据库管理系统、XML数据库管理系统、文件系统等。
应当理解,应用状态216可以与应用状态26相同。
在一种实施方案中,规则226为测试用例定义的组成部分,也就是应用状态216、外部交互序列218和输入数据220的选择而提供,像数据驱动测试用例产生的规则228一样。选择规则226可以使用查询语言来指定,包括但不局限于,SQL、Xquery、从以编程语言编写的代码中调用的API等。查询语言的使用允许测试用例从现场客户数据产生。
在本发明一种实施方案中,测试用例212的产生包括如测试用例212的输入数据集222指示地组成测试用例212。多个数据集230可以为测试用例212的输入数据集220的至少一部分或全部提供。这导致多个测试用例212或在每个数据集230的循环控制结构中重复的外部交互序列的产生。对于输入数据220的一部分,多个数据集230的使用导致与在循环控制结构例如“while”循环中重复的输入数据的该部分相对应的交互序列。
在一种实施方案中,输入数据220的每个元素使用数据有效性标记232标记为有效或无效。输入数据220中有效性标记232的存在,其不同于当记录或编辑测试用例212时与输入数据220相对应的有效性标记,导致包括异常处理的适当交互序列的产生步骤。例如,存储在抽象表示214中的测试用例可以具有当提供有效输入数据集220时的正常交互序列218。抽象表示也可以包含在异常条件例如无效数据进入的情况下遵循的交互序列218。当从该抽象表示以及无效输入数据产生测试用例212的产生器将创建包括异常情况的交互序列218而不是正常交互交互序列的测试用例。
产生的测试用例212可以相对于外部应用元数据仓库238而确认。确认行为可以通过另外的确认规则240来控制。
测试用例212从内部表示到脚本语言的转换可以通过平台相关映射234。平台相关映射包括语言映射和其他环境映射。使用的语言映射可以将作为关于应用对象的事件而捕获的外部交互218映射成脚本语言236的适当语句。不止一种语言映射可以同时提供。这允许多种测试执行环境的测试脚本的产生。另外的环境映射提供以支持另外的平台独立性。例如,如果测试下的应用使用第三方报表书写程序,测试用例可以使用一般报表书写程序对象表示,并且特定报表书写程序的映射可以通过环境映射而提供。这一级别的支持可以延伸到任何级别的底层平台。
在本发明另一种实施方案中,如图11所示,提供有计算机系统310,其包括处理器312和连接到处理器310的存储器314。存储器314存储测试用例316从抽象表示318的基于规则的产生。抽象表示318包括应用状态、外部交互序列以及来自数据存储的测试用例的输入数据以产生测试用例。逻辑320确认测试用例。逻辑322为将测试用例转换成测试脚本而提供。
逻辑320规定测试用例定义的组成部分,也就是应用状态、外部交互序列和输入数据彼此以及与应用对象模型一致。逻辑320可以是外部确认逻辑。外部确认逻辑可以包括相对于应用元数据仓库确认产生的测试用例的步骤。
计算机系统310也可以包括提供测试用例定义的组成部分,也就是应用状态、外部交互序列和输入数据的选择规则;数据驱动测试用例产生的规则的逻辑324。计算机系统310也可以包括提供数据驱动测试用例产生的逻辑326。逻辑326可以如输入数据指示地组成测试用例。
虽然本发明的实施方案已经说明和描述,这些实施方案并不打算说明和描述本发明的全部可能形式。相反地,在本说明书中使用的文字是描述而不是限制的文字,并且应当理解,可以进行各种改变而不背离本发明的本质和范围。

Claims (35)

1.一种将测试用例转换成抽象表示的方法,包括:
导入以一种或多种脚本语言编写的测试用例;
分析导入的测试用例的脚本的语法,其中语法分析产生抽象语法树形式的分析树;
使用语义分析将导入的测试用例转换成抽象表示,其中所述语义分析基于应用对象模型将抽象语法树转换为测试用例的抽象表示,所述抽象表示包括应用状态、外部交互序列和输入数据,其中每个应用状态表示应用在定义外部交互上下文的测试下的运行时间快照并且包括一组应用对象、其属性和属性值,外部交互序列表示由外部代理在应用对象上调用的事件,所述输入数据包括与所述事件相对应的数据;以及
将所述测试用例的所述抽象表示存储到数据库系统中。
2.根据权利要求1的方法,其中与测试用例相对应的应用状态以分层方式排列。
3.根据权利要求1的方法,其中数据库系统是关系数据库管理系统。
4.根据权利要求1的方法,其中数据库系统是XML数据库管理系统。
5.根据权利要求1的方法,其中脚本语言是用于记录或编辑测试用例的类型化或未类型化编程语言。
6.根据权利要求1的方法,其中外部代理是人工代理或软件代理。
7.根据权利要求1的方法,其中交互序列包括捕获顺序、并发、循环和条件交互的流控制结构。
8.根据权利要求1的方法,其中为每种脚本语言实现一个用于分析脚本的语法分析器。
9.根据权利要求8的方法,其中语法分析器利用在扩展巴科斯诺尔范式中指定的语法分析规则。
10.根据权利要求1的方法,其中语义分析将表示为抽象语法树的测试用例分解为应用状态、外部交互序列和输入数据。
11.根据权利要求1的方法,其中应用对象模型是在测试下模拟应用的元数据表示。
12.根据权利要求11的方法,其中元数据表示包括应用对象的对象类型定义。
13.根据权利要求11的方法,其中元数据表示包括每个应用对象类型的属性定义。
14.根据权利要求11的方法,其中元数据表示包括由每个应用对象类型支持的方法和事件的定义。
15.根据权利要求11的方法,其中元数据表示包括事件在应用状态上的效果的定义。
16.根据权利要求12的方法,其中应用对象类型定义包括每个应用对象类型到分层、容器和简单类型的分类。
17.根据权利要求16的方法,其中分层应用对象类型与其自己的应用状态相关联;其中可以包含其他对象实例的应用对象类型称为容器型。
18.根据权利要求17的方法,其中与分层应用对象类型相关联的状态是模态应用状态或非模态应用状态。
19.根据权利要求18的方法,其中模态应用状态限制对当前应用状态中可用的应用对象实例的可能交互。
20.根据权利要求16的方法,其中事件在应用状态上的效果是捕获事件对应用状态的一个或多个结果。
21.根据权利要求20的方法,其中事件的结果选自给定类型的新的对象实例的创建、给定类型的对象实例的删除、现有对象实例属性的修改以及对象类型实例的选择。
22.根据权利要求21的方法,其中分层类型的对象的新实例的创建导致新的应用状态的创建。
23.根据权利要求21的方法,其中分层类型的对象实例的选择导致与该对象实例相关联的应用状态的选择。
24.根据权利要求1的方法,还包括:
使用来自应用元数据仓库的信息丰富测试用例的抽象表示。
25.根据权利要求24的方法,其中测试用例的抽象表示的丰富包括:提取与在引入的测试脚本中缺少的测试用例相关联的应用对象的属性的值。
26.根据权利要求24的方法,其中丰富测试用例的抽象表示包括分离测试用例及其记录或编辑环境。
27.根据权利要求24的方法,其中丰富测试用例的抽象表示允许在应用元数据表示中固定的属性的使用。
28.根据权利要求27的方法,包括:使用应用元数据仓库中给定对象的识别字段来提高测试用例的可重用性,代替使用用来表示可以基于应用的场所改变的用户接口中相同对象的标签。
29.根据权利要求27的方法,包括:使用识别字段来识别不同测试执行环境中的给定应用对象,其中所述不同测试执行环境使用不同属性来识别相同的应用对象。
30.根据权利要求29的方法,其中丰富测试用例的抽象表示允许测试执行环境独立的测试用例的表示。
31.根据权利要求1的方法,还包括:
将应用对象属性和输入数据从外部交互序列中分离以提供自动参数确定。
32.一种用于将测试用例转换成抽象表示的系统,包括:
用于导入以一种或多种脚本语言编写的测试用例的装置;
用于分析导入的测试用例的脚本的语法的装置,其中语法分析产生抽象语法树形式的分析树;
用于使用语义分析将导入的测试用例转换成抽象表示的装置,其中所述语义分析基于应用对象模型将抽象语法树转换为测试用例的抽象表示,所述抽象表示包括应用状态、外部交互序列和输入数据,其中每个应用状态表示应用在定义外部交互上下文的测试下的运行时间快照并且包括一组应用对象、其属性和属性值,外部交互序列表示由外部代理在应用对象上调用的事件,并且所述输入数据包括与所述事件相对应的数据;以及
用于将所述测试用例的所述抽象表示存储到数据库系统中的装置。
33.根据权利要求32的系统,还包括:
用于选择分层类型的对象实例以导致与该对象实例相关联的应用状态的选择的装置。
34.根据权利要求32的系统,还包括:
用于丰富测试用例的抽象表示以允许测试执行环境独立的测试用例的表示的装置。
35.根据权利要求32的系统,还包括:
用于将应用对象属性和输入数据从外部交互序列中分离以提供自动参数确定的装置。
CN2005800064163A 2004-01-13 2005-01-06 将自动测试脚本持续转换成抽象测试用例表示的方法和系统 Expired - Fee Related CN1938690B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/756,894 US7581212B2 (en) 2004-01-13 2004-01-13 Method and system for conversion of automation test scripts into abstract test case representation with persistence
US10/756,894 2004-01-13
PCT/US2005/000641 WO2005071543A2 (en) 2004-01-13 2005-01-06 Method and system for conversion of automation test scripts into abstract test case representation with persistence

Publications (2)

Publication Number Publication Date
CN1938690A CN1938690A (zh) 2007-03-28
CN1938690B true CN1938690B (zh) 2010-07-07

Family

ID=34749376

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800064163A Expired - Fee Related CN1938690B (zh) 2004-01-13 2005-01-06 将自动测试脚本持续转换成抽象测试用例表示的方法和系统

Country Status (7)

Country Link
US (1) US7581212B2 (zh)
EP (1) EP1709539A2 (zh)
JP (1) JP2007519105A (zh)
CN (1) CN1938690B (zh)
CA (1) CA2553441A1 (zh)
IL (1) IL176821A0 (zh)
WO (1) WO2005071543A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103559153A (zh) * 2011-11-11 2014-02-05 洛克威尔自动控制技术股份有限公司 数据资源身份

Families Citing this family (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8306991B2 (en) * 2004-06-07 2012-11-06 Symantec Operating Corporation System and method for providing a programming-language-independent interface for querying file system content
US8239826B2 (en) * 2004-07-16 2012-08-07 International Business Machines Corporation Automating modular manual tests including framework for test automation
US7627589B2 (en) * 2004-08-10 2009-12-01 Palo Alto Research Center Incorporated High performance XML storage retrieval system and method
US20060230319A1 (en) * 2005-04-12 2006-10-12 Ryali Jogarao M Automated migration of software instructions
US7721225B2 (en) * 2005-05-03 2010-05-18 Novell, Inc. System and method for creating and presenting modal dialog boxes in server-side component web applications
CN100370434C (zh) * 2005-11-01 2008-02-20 华为技术有限公司 一种实现软件自动测试的方法及系统
US8015550B2 (en) * 2005-12-01 2011-09-06 Siemens Corporation Systems and methods for hazards analysis
US8225285B2 (en) * 2006-04-03 2012-07-17 International Business Machines Corporation Generating a test suite to test support for routines
US8751946B2 (en) * 2006-04-05 2014-06-10 International Business Machines Corporation Enhanced display of properties for a program object
US8812556B2 (en) * 2006-04-06 2014-08-19 International Business Machines Corporation Storing modification data for recreating modifications
US7716653B2 (en) * 2006-04-06 2010-05-11 International Business Machines Corporation Configurable importers and resource writers for converting data into another format
US8332818B1 (en) * 2006-06-26 2012-12-11 Versata Development Group, Inc. Flash testing framework
US8443341B2 (en) * 2006-11-09 2013-05-14 Rogue Wave Software, Inc. System for and method of capturing application characteristics data from a computer system and modeling target system
US7631227B2 (en) * 2006-11-21 2009-12-08 Etaliq Inc. Automated testing and control of networked devices
DE502007001843D1 (de) * 2007-01-18 2009-12-10 Siemens Ag Verfahren zum Betrieb eines Automatisierungssystems
US8561024B2 (en) * 2007-01-23 2013-10-15 International Business Machines Corporation Developing software components and capability testing procedures for testing coded software component
US20080222501A1 (en) * 2007-03-06 2008-09-11 Microsoft Corporation Analyzing Test Case Failures
US7958495B2 (en) * 2007-03-08 2011-06-07 Systemware, Inc. Program test system
US20080244323A1 (en) * 2007-03-27 2008-10-02 Tim Kelso Program Test System
US20080244320A1 (en) * 2007-03-27 2008-10-02 Tim Kelso Program Test System
US20080244524A1 (en) * 2007-03-27 2008-10-02 Tim Kelso Program Test System
US20080244322A1 (en) * 2007-03-27 2008-10-02 Tim Kelso Program Test System
US20080244523A1 (en) * 2007-03-27 2008-10-02 Tim Kelso Program Test System
US20090037881A1 (en) * 2007-07-31 2009-02-05 Caterpillar Inc. Systems and methods for testing the functionality of a web-based application
US8276117B2 (en) * 2007-08-03 2012-09-25 International Business Machines Corporation Displaying and refactoring programs that include database statements
US8473915B2 (en) * 2007-08-03 2013-06-25 International Business Machines Corporation Coverage analysis tool for testing database-aware software applications
CN101221530B (zh) * 2008-01-22 2010-06-16 中兴通讯股份有限公司 一种测试用例自动导入方法
US8321839B2 (en) * 2008-05-12 2012-11-27 Microsoft Corporation Abstracting test cases from application program interfaces
US8438295B2 (en) 2008-10-14 2013-05-07 Microsoft Corporation Declarative programming model for modeling and execution of triggers for resource oriented system
US8490052B2 (en) * 2008-10-14 2013-07-16 Microsoft Corporation Declarative programming model for authoring and execution control and data flow for resource oriented system
US8533666B2 (en) * 2008-10-17 2013-09-10 Microsoft Corporation Interactive design environments to visually model, debug and execute resource oriented programs
US8566823B2 (en) * 2010-02-05 2013-10-22 Tripwire, Inc. Systems and methods for triggering scripts based upon an alert within a virtual infrastructure
KR101495021B1 (ko) 2010-10-04 2015-02-24 에스케이플래닛 주식회사 문자열 입력장치 및 방법
GB201018991D0 (en) * 2010-11-10 2010-12-22 Net Magnus Ltd Opus
US8719795B2 (en) * 2011-04-12 2014-05-06 Miami International Security Exchange, Llc System and method for automating testing of computers
US9201774B1 (en) 2011-05-08 2015-12-01 Panaya Ltd. Generating test scenario templates from testing data of different organizations utilizing similar ERP modules
US9311224B1 (en) 2011-05-08 2016-04-12 Panaya Ltd. Manipulating a test based on a subset of similar divergent routes from different organizations
US9032360B1 (en) 2011-05-08 2015-05-12 Panaya Ltd. Selecting a test scenario template based on similarity of testing profiles belonging to different organizations
US9239777B1 (en) 2011-05-08 2016-01-19 Panaya Ltd. Generating test scenario templates from clusters of test steps utilized by different organizations
US9201775B1 (en) 2011-05-08 2015-12-01 Panaya Ltd. Manipulating a test scenario template based on divergent routes found in test runs from different organizations
US9170809B1 (en) 2011-05-08 2015-10-27 Panaya Ltd. Identifying transactions likely to be impacted by a configuration change
US9069904B1 (en) 2011-05-08 2015-06-30 Panaya Ltd. Ranking runs of test scenarios based on number of different organizations executing a transaction
US9201776B1 (en) 2011-05-08 2015-12-01 Panaya Ltd. Updating a test scenario template according to divergent routes
US9201772B1 (en) 2011-05-08 2015-12-01 Panaya Ltd. Sharing test scenarios among organizations while protecting proprietary data
US9348735B1 (en) 2011-05-08 2016-05-24 Panaya Ltd. Selecting transactions based on similarity of profiles of users belonging to different organizations
US9201773B1 (en) 2011-05-08 2015-12-01 Panaya Ltd. Generating test scenario templates based on similarity of setup files
US9170926B1 (en) 2011-05-08 2015-10-27 Panaya Ltd. Generating a configuration test based on configuration tests of other organizations
US9104815B1 (en) 2011-05-08 2015-08-11 Panaya Ltd. Ranking runs of test scenarios based on unessential executed test steps
US9317404B1 (en) 2011-05-08 2016-04-19 Panaya Ltd. Generating test scenario templates from test runs collected from different organizations
US9235412B1 (en) 2011-05-08 2016-01-12 Panaya Ltd. Identifying dependencies between configuration elements and transactions
US9170925B1 (en) 2011-05-08 2015-10-27 Panaya Ltd. Generating test scenario templates from subsets of test steps utilized by different organizations
US9134961B1 (en) 2011-05-08 2015-09-15 Panaya Ltd. Selecting a test based on connections between clusters of configuration changes and clusters of test scenario runs
US9092579B1 (en) 2011-05-08 2015-07-28 Panaya Ltd. Rating popularity of clusters of runs of test scenarios based on number of different organizations
US9317412B1 (en) 2011-05-08 2016-04-19 Panaya Ltd. Selecting a configuration test based on testing data from different organizations
US9104811B1 (en) 2011-05-08 2015-08-11 Panaya Ltd. Utilizing testing data collected from different organizations to generate test scenario templates that suit a user profile
AU2012203333A1 (en) 2011-06-15 2013-01-10 Agile Software Pty Limited Method and apparatus for testing data warehouses
US8893087B2 (en) 2011-08-08 2014-11-18 Ca, Inc. Automating functionality test cases
US20130117005A1 (en) * 2011-11-08 2013-05-09 International Business Machines Corporation Coverage analysis for multiple test methodologies
US8606853B1 (en) * 2012-06-07 2013-12-10 Software Ag Systems and/or methods for server-controlled display of nested multi-level client dialogs
EP2831741A4 (en) 2012-07-31 2015-12-30 Hewlett Packard Development Co PREPARATION OF A TEST CENTERED MODEL OF ONE APPLICATION
CN102955738B (zh) * 2012-11-13 2014-10-29 中原工学院 一种针对仿真系统的主动被动混合测试方法
US11138628B2 (en) * 2013-03-13 2021-10-05 Eversight, Inc. Promotion offer language and methods thereof
US10846736B2 (en) * 2013-03-13 2020-11-24 Eversight, Inc. Linkage to reduce errors in online promotion testing
CN103353857B (zh) * 2013-05-31 2016-04-20 国家电网公司 一种变电站综合监测单元的通信测试方法
US9934136B2 (en) 2013-07-23 2018-04-03 Landmark Graphics Corporation Automated generation of scripted and manual test cases
US10394533B2 (en) * 2013-09-30 2019-08-27 The Mathworks, Inc. Reusable component in a modeling environment
CN104850490B (zh) * 2014-02-18 2017-11-24 国际商业机器公司 用于软件测试的方法和系统
CN103885882A (zh) * 2014-04-10 2014-06-25 国家电网公司 一种基于sap平台的测试脚本及参数整合方法
WO2016105366A1 (en) * 2014-12-23 2016-06-30 Hewlett Packard Enterprise Development Lp Load testing
US9952837B1 (en) 2015-04-01 2018-04-24 The Mathworks, Inc. Reusable component in a modeling environment
US20180307592A1 (en) * 2015-10-19 2018-10-25 Leapwork A/S Method, apparatus and system for task automation of computer operations based on visual flowchart script design and image/text recognition
US10289534B1 (en) 2015-10-29 2019-05-14 Amdocs Development Limited System, method, and computer program for efficiently automating business flow testing
CN106681901B (zh) * 2015-11-10 2019-12-06 中国电信股份有限公司 一种测试样本生成的方法和装置
CN105354035A (zh) * 2015-11-17 2016-02-24 天津橙子科技有限公司 用于编写web工程测试用例的方法
CN105808423B (zh) * 2016-02-04 2018-11-13 天津橙子科技有限公司 构建基于web工程测试用例编程语言的执行引擎的方法
US10650046B2 (en) 2016-02-05 2020-05-12 Sas Institute Inc. Many task computing with distributed file system
US10642896B2 (en) 2016-02-05 2020-05-05 Sas Institute Inc. Handling of data sets during execution of task routines of multiple languages
US10795935B2 (en) 2016-02-05 2020-10-06 Sas Institute Inc. Automated generation of job flow definitions
US10776251B1 (en) 2016-07-22 2020-09-15 Amdocs Development Limited System, method, and computer program for automatically converting manual test cases to automated test structures in a software testing project
CN106569949A (zh) * 2016-11-03 2017-04-19 北京奇鱼时代科技有限公司 用于执行测试用例的方法和装置
US10055330B2 (en) * 2016-11-29 2018-08-21 Bank Of America Corporation Feature file validation tool
US10229042B2 (en) 2017-01-19 2019-03-12 International Business Machines Corporation Detection of meaningful changes in content
US9996454B1 (en) * 2017-01-19 2018-06-12 International Business Machines Corporation Exemplary testing of software
USD898059S1 (en) 2017-02-06 2020-10-06 Sas Institute Inc. Display screen or portion thereof with graphical user interface
US10204033B2 (en) * 2017-03-11 2019-02-12 Wipro Limited Method and system for semantic test suite reduction
USD898060S1 (en) 2017-06-05 2020-10-06 Sas Institute Inc. Display screen or portion thereof with graphical user interface
CN107391366B (zh) * 2017-07-07 2021-01-29 华为技术有限公司 一种测试用例的生成方法及执行方法和装置
US10613856B2 (en) 2017-08-24 2020-04-07 International Business Machines Corporation Automatic machine-learning high value generator
US10503498B2 (en) 2017-11-16 2019-12-10 Sas Institute Inc. Scalable cloud-based time series analysis
US10496529B1 (en) 2018-04-18 2019-12-03 Palantir Technologies Inc. Data unit test-based data management system
CN109857665B (zh) * 2019-01-30 2022-03-15 北京云测信息技术有限公司 一种测试用例的测试执行方法及装置
KR102024275B1 (ko) * 2019-06-10 2019-09-23 한화시스템(주) 스크립트를 활용한 시험 프로그램 개발 시스템 및 그 방법
US10977166B1 (en) * 2019-10-15 2021-04-13 Bank Of America Corporation System for automated error analysis in an application testing environment using robotic process automation
CN111143205B (zh) * 2019-12-19 2023-04-21 华东师范大学 一种面向安卓平台的测试用例自动化生成方法及生成系统
US11341012B2 (en) * 2020-05-14 2022-05-24 EMC IP Holding Company LLC Test platform employing test-independent fault insertion
CN111813652B (zh) * 2020-05-28 2023-07-04 杭州览众数据科技有限公司 一种数据缺失相关的数据异常值校验的自动化测试方法
CN112256591A (zh) * 2020-11-12 2021-01-22 北京联创信安科技股份有限公司 一种测试用例生成方法、装置、测试设备及存储介质
CN112966105B (zh) * 2021-03-04 2021-09-10 南京审计大学 一种利用违规问题分析自动生成审计试题的方法
CN114238097B (zh) * 2021-12-09 2024-09-20 深圳慕智科技有限公司 一种基于场景描述语言的自动驾驶系统仿真测试技术
CN114968806A (zh) * 2022-06-16 2022-08-30 平安国际融资租赁有限公司 单元测试用例的生成方法、装置、设备及介质
AT526816A1 (de) 2022-12-23 2024-07-15 Avl List Gmbh Verfahren zum Adaptieren von Testfällen für eine Sicherheitsüberprüfung
CN115688108B (zh) * 2023-01-04 2023-04-21 北京微步在线科技有限公司 一种webshell静态检测方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0869433A2 (en) * 1997-03-31 1998-10-07 Siemens Corporate Research, Inc. A test development system and method for software with a graphical user interface
US5892947A (en) * 1996-07-01 1999-04-06 Sun Microsystems, Inc. Test support tool system and method
CN1286432A (zh) * 1999-11-27 2001-03-07 深圳市中兴通讯股份有限公司 状态迁移图分解、遍历回路处理和测试用例自动生成方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5600789A (en) * 1992-11-19 1997-02-04 Segue Software, Inc. Automated GUI interface testing
US6609248B1 (en) * 1999-06-30 2003-08-19 Microsoft Corporation Cross module representation of heterogeneous programs
WO2001022228A1 (en) * 1999-09-17 2001-03-29 Nortel Networks Limited System and method for producing a verification system for verifying procedure interfaces
US6976246B1 (en) * 2000-05-26 2005-12-13 Microsoft Corporation Finite state model-based testing user interface
US6505342B1 (en) * 2000-05-31 2003-01-07 Siemens Corporate Research, Inc. System and method for functional testing of distributed, component-based software
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
US7219338B2 (en) * 2003-03-25 2007-05-15 Microsoft Corporation Multi-language compilation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5892947A (en) * 1996-07-01 1999-04-06 Sun Microsystems, Inc. Test support tool system and method
EP0869433A2 (en) * 1997-03-31 1998-10-07 Siemens Corporate Research, Inc. A test development system and method for software with a graphical user interface
CN1286432A (zh) * 1999-11-27 2001-03-07 深圳市中兴通讯股份有限公司 状态迁移图分解、遍历回路处理和测试用例自动生成方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
牛家浩,黄志球,张静,刘佳.基于抽象语法树的软件度量工具的设计与实现.计算机应用23 10.2003,23(10),第39~41页.
牛家浩,黄志球,张静,刘佳.基于抽象语法树的软件度量工具的设计与实现.计算机应用23 10.2003,23(10),第39~41页. *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103559153A (zh) * 2011-11-11 2014-02-05 洛克威尔自动控制技术股份有限公司 数据资源身份
CN103559153B (zh) * 2011-11-11 2016-12-07 洛克威尔自动控制技术股份有限公司 数据资源身份

Also Published As

Publication number Publication date
CA2553441A1 (en) 2005-08-04
US20050160322A1 (en) 2005-07-21
US7581212B2 (en) 2009-08-25
EP1709539A2 (en) 2006-10-11
JP2007519105A (ja) 2007-07-12
CN1938690A (zh) 2007-03-28
WO2005071543A3 (en) 2006-05-26
IL176821A0 (en) 2006-10-31
WO2005071543A2 (en) 2005-08-04

Similar Documents

Publication Publication Date Title
CN1938690B (zh) 将自动测试脚本持续转换成抽象测试用例表示的方法和系统
CN100511176C (zh) 从抽象测试用例表示中基于规则产生自动测试脚本的方法和系统
CN103441900B (zh) 集中式跨平台自动化测试系统及其控制方法
CN100472434C (zh) 智能ui记录和重放结构
CN101887370B (zh) 创建系统用户界面的方法及装置
EP2228726B1 (en) A method and system for task modeling of mobile phone applications
Shaw Toward higher-level abstractions for software systems
US20060195817A1 (en) Visual workflow modeling tools for user interface automation
CN101025686A (zh) 一种自动化测试系统及测试脚本的生成和运行方法
KR101326985B1 (ko) 오브젝트 단위의 동적 컴파일리스 프로그램의 저작, 배포 및 구동 방법 및 장치
Jácome-Guerrero et al. Software development tools in model-driven engineering
Cheong et al. Frame-based method for customizing generic software architectures
CN101329625A (zh) 专家系统开发平台
CN1770101A (zh) 嵌入式检测对象
Rugaber A tool suite for evolving legacy software
CN114036039A (zh) 自动化测试框架的对象层构建方法和ui自动化测试框架
Power et al. Object-oriented modeling and GIS integration in a decision support system for the management of eastern hemlock looper in Newfoundland
Saxon et al. Opening the black-box of model transformation
Takala Model-driven application integration for manufacturing execution systems
Pradhan User interface test automation and its challenges in an industrial scenario
CN100472512C (zh) 文档处理装置和方法
Isazadeh Architectural analysis of MetaCASE: a study of capabilities and advances.
Salminen Modelling documents in their context
CN117215562A (zh) 一种低代码的应用数据模型的建模方法、系统及存储介质
CN118567978A (zh) 一种数据库自动化测试方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100707

Termination date: 20130106

CF01 Termination of patent right due to non-payment of annual fee