标识软件的GUI部件的方法和装置制造方法及图纸

技术编号:2819619 阅读:285 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种用于标识软件的GUI部件的方法和装置,该方法包括以下步骤:在该软件的运行过程中,确定GUI窗口对象及其标识;确定该GUI窗口对象中的所有GUI部件或属于一相同类型的所有GUI部件;将该GUI窗口对象的显示区域划分为多个区域,以使得每一个所述GUI部件仅包含在一个区域中;为包含GUI部件的区域指定唯一标识;以所述GUI窗口对象的标识以及GUI部件所在的区域的标识、或者以所述GUI窗口对象的标识以及GUI部件所属的类型的标识和GUI部件所在的区域的标识来标识GUI部件,从而获得该GUI部件的标识属性。

【技术实现步骤摘要】

本专利技术涉及计算机领域,具体涉及软件自动测试,更具体地,涉及一 种用于标识软件的GUI部件(GUIwidget)的方法和装置。
技术介绍
如人们所知的,软件质量保证(QA),由于其在软件被交付给最终用 户之前对于确保软件质量的贡献,因而是整个软件开发生命周期中的一个 非常重要的部分。然而,软件质量保证的大部分工作却不得不以非常原始 的方式来完成。4艮多QA工程师不得不手工地和一遍遍地在4皮测应用 (AUT)的GUI部件(甚至基于文本的接口 )上进行点击或输入。特别是 在全球化测试环境中,QA工程师的工作量会随着4皮测应用的目标语言的 增加而成倍增加。这正是对于开发测试自动化技术存在着巨大需求的原因。 然而,迄今为止,使用现有的测试自动化技术却很难实现全球化环境 中的GUI测试自动化。全球化是当前软件行业的一个重要趋势,因为几乎 所有的软件厂商都试图将其产品扩大到世界市场。在这种情况下,其产品 将被本地化为不同的语言,以满足可能具有不同母语的用户的偏好。这对 于QA工程师将带来挑战。他们必须ilHE软件在多种语言中的功能,以确 保软件在其他语言版本中可以如在其初始语言版本(例如,英文版本)中 一样地工作。使用现有的测试自动化技术,QA工程师可以在一种语言平 台(例如,英文)上如所预期地开发测试资产(test asset),然而他们会 发现这些测试脚本无法在基于另一种语言的平台上运行。这样,他们不得 不在初始语言平台上自动运行测试脚本,而在其他语言平台上进行手工测 试或重新生成测试脚本,尽管被测应用的不同语言版本具有相同的功能和相同的GUI部件布局,而只有由不同语言本地化造成的呈现上的差别。也 就是i兌,在初始语言环境中生成的测试脚本无法在其他语言环境中重用, 从而造成了在多种语言环境中分别生成和执行测试脚本的大量冗余工作, 以及时间、资源和成本的浪费。从根本上说,造成该问题的原因是传统的GUI测试自动化技术在GUI 部件标识上的局限。一方面,在GUI自动化技术中,常见的工作流程是首先通过记录或开 发来生成诸如测试脚本(以Java或其他语言编写的)等测试资产,然后在 最终环境中回放它们。在这两个阶段中,第一个阶段是更重要的,其主要 任务是收集和存储关于测试哪些GUI部件及其相关逻辑(这些GUI部件 和逻辑是必须回放的)的信息,以便"告知"运行时引擎哪些GUI部件需 要在何处调用哪些逻辑例如单击、双击等。然而,尤其是由于GUI部件标 识的问题,收集和存储关于测试哪些GUI部件及其相关逻辑并不容易。这 是因为,不管使用哪种方法,必须为GUI部件定义和确定一组稳定的标识 属性。另一方面,在现有技术例如IBM的Rational Functional Tester、 HP Mercury的Quick Test Professional等中用来标识GUI部件的属性是语言 敏感的,这使得测试脚本无法在全球化环境中工作。图1和图2为示出了 这种情况的一个例子。其中,在图1所示的英文环境中,GUI控件"Button" (按钮)由语言敏感的属性"&Finish"所标识,而同一个GUI控件在图 2所示的中文环境中由语言敏感的属性"完成(&F)"所标识,这将使得 在英文环境中记录和开发的测试脚本无法在中文环境中重用,因为相同的 GUI部件在不同的语言环境中将被标识为不同的东西。因此,需要这种一种解决方案,该解决方案能够通过发现一种独立于 语言的标识属性,来正确的、唯一地和稳定地在不同语言平台之间标识GUI 部件。
技术实现思路
根据本专利技术的一个方面,提供了一种用于标识软件的GUI部件的方 法,该方法包括以下步骤在该软件的运行过程中,确定GUI窗口对象及 其标识;确定该GUI窗口对象中的所有GUI部件或属于一相同类型的所 有GUI部件;将该GUI窗口对象的显示区域划分为多个区域,以使得每 一个所述GUI部件仅包含在一个区域中;为包含GUI部件的区域指定唯 一标识;以所述GUI窗口对象的标识以及GUI部件所在的区域的标识、 或者以所述GUI窗口对象的标识以及GUI部件所属的类型的标识和GUI 部件所在的区域的标识来标识该GUI部件,作为该GUI部件的标识属性。才艮据本专利技术的另一个方面,提供了一种软件自动测试方法,该方法包 括以下步骤在测试脚本的回放阶段,在该软件的第二版本的运行过程中, 读取存储在所述测试脚本中的所述GUI部件的标识属性,其中,所述GUI 部件的标识属性是使用上述方法对该软件的第一版本中的GUI部件进行 标识而获得的;4吏用与用于获得所述测试脚本中的GUI部件标识属性相同 的标识方法来获得该软件的第二版本中的GUI部件的标识属性;以及根据 所述读取的GUI部件的标识属性和所述标识步骤所生成的所述软件的第 二版本中的GUI部件的标识属性之间的匹配关系来针对所述软件的第二 版^l^行所述测试脚本。根据本专利技术的又一个方面,提供了一种用于标识软件的GUI部件的装 置,该装置包括GUI窗口对象确定装置,用于在该软件的运行过程中确 定GUI窗口对象及其标识;GUI部件确定装置,用于确定该GUI窗口对 象中的所有GUI部件或属于一相同类型的所有GUI部件;区域划分装置, 用于将该GUI窗口对象的显示区域划分为多个区域,以使得每一个所述 GXJI部件仅包含在一个区域中;区域标识指定装置,用于为包含GUI部件 的区域指定唯一标识;GUI部件标识装置,用于以所述GUI窗口对象的标 识以及GUI部件所在的区域的标识、或者以所述GUI窗口对象的标识以 及GUI部件所属的类型的标识和GUI部件所在的区域的标识来标识GUI 部件,从而获得该GUI部件的标识属性。根据本专利技术的再一个方面,提供了一种软件自动测试系统,该系统包括测试脚本回放装置,该测试脚本回放装置包括读取装置,其用于读 取存储在测试脚本中的GUI部件的标识属性,其中,所述GUI部件的标 识属性是4吏用上述方法对该软件的第一版本中的GUI部件进行标识而获 得的;上述用于标识软件的GUI部件的装置,其用于在该软件的第二版本 的运行过程中,使用与用于获得所述测试脚本中的GUI部件标识属性相同 的标识方法获得该软件中的GUI部件的标识属性;和脚W行装置,用于 根据所述读取的GUI部件的标识属性和所述获得的所述软件的第二版本 中的GUI部件的标识属性之间的匹配关系来针对所述软件的第二版^it 行所述测试脚本。附图说明所附权利要求中阐述了被认为是本专利技术的特点的新颖特征。但是,通 过结合附图阅读下面对说明性实施例的详细说明将更好地理解专利技术本身以 及其优选使用模式、另外的目标以及优点,在附图中图l示出了一示例应用的英文版本中的一 GUI窗口及其中的以英文标 识的GUI部件;图2示出了所述示例应用的中文版本中的相应GUI窗口及其中的以中 文标识的GUI部件;图3例示了一 GUI窗口对象的布局在不同语言版本中保持不变的情况;图4示出了根据本专利技术的实施例的用于标识GUI部件的方法;图5例示了使用本专利技术的方法划分一示例被测软件的窗口,从而形成 该窗口中每一按钮的唯一标识;图6例示了使用根据本专利技术的 一 实施例的划分GUI窗口对象的方法划 分一示例被测软件的窗口 、从而形成该窗口中每本文档来自技高网
...

【技术保护点】
一种用于标识软件的GUI部件的方法,包括以下步骤: 在该软件的运行过程中,确定GUI窗口对象及其标识; 确定该GUI窗口对象中的所有GUI部件或属于一相同类型的所有GUI部件; 将该GUI窗口对象的显示区域划分为多个区域,以使得每一个所述GUI部件仅包含在一个区域中; 为包含GUI部件的区域中指定唯一标识; 以所述GUI窗口对象的标识以及GUI部件所在的区域的标识、或者以所述GUI窗口对象的标识以及GUI部件所属的类型的标识和GUI部件所在的区域的标识来标识GUI部件,从而获得该GUI部件的标识属性。

【技术特征摘要】

【专利技术属性】
技术研发人员:赵乃岩
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利