[发明专利]跨模型的图形用户界面测试脚本自动修复方法无效
| 申请号: | 201110419535.9 | 申请日: | 2011-12-15 |
| 公开(公告)号: | CN102567201A | 公开(公告)日: | 2012-07-11 |
| 发明(设计)人: | 陈振宇;高则宝;邹云潇;骆斌 | 申请(专利权)人: | 南京大学 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F9/44 |
| 代理公司: | 南京天翼专利代理有限责任公司 32112 | 代理人: | 黄明哲 |
| 地址: | 210093 江*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | 跨模型的图形用户界面测试脚本自动修复方法,对在旧版本图形用户界面GUI程序上录制的GUI测试脚本,针对新版本的GUI程序进行自动修复,本发明提出使用两个事件可达性模型互补的方法,以更加完整和准确的描述应用程序的GUI结构和事件可达性模型,使用两个事件可达性模型检验GUI测试脚本语句的合法性,并对在新版本GUI程序中不正确的GUI测试脚本给出自动修复方案;本发明使用两个模型协作来完成脚本的合法性验证和修复,自建事件可达性模型在修复过程中不断完善,不再需要测试工程师过多确认,两个模型的共同分析验证保证了完整描绘GUI应用程序中包含的全部事件流程,实现GUI测试脚本合法性验证和修复的自动化。 | ||
| 搜索关键词: | 模型 图形 用户界面 测试 脚本 自动 修复 方法 | ||
【主权项】:
跨模型的图形用户界面测试脚本自动修复方法,其特征是对在旧版本图形用户界面GUI程序上录制的GUI测试脚本,针对新版本的GUI程序进行自动修复, 1) 使用工具自动获得新版本GUI程序的自动化事件可达性模型,通过GUI测试脚本语句中描述的GUI控件的层次信息,在自动化事件可达性模型中描述的GUI层次结构中找到对应的GUI控件元素,事件可达性模型中GUI控件和其点击事件一一对应, GUI测试脚本的GUI控件对应映射到自动化事件可达性模型中的点击事件,完成事件流映射;2)建立一个自建事件可达性模型,自建事件可达性模型为有向图结构,图中的节点为GUI事件,包含事件相关的GUI控件信息以及事件类型信息,GUI控件信息包括GUI控件的名称、类型、以及父级GUI元素的层级关系, 图中的有向边A‑>B表示从事件A到事件B可达,也即应用程序在触发事件A之后可以直接触发事件B,自建事件可达性模型初始为空;3)使用自动化事件可达性模型和自建事件可达性模型分析GUI测试脚本的事件流,当检查到某行GUI测试脚本语句相应的事件在自动化事件可达性模型以及自建事件可达性模型中找不到对应节点的时候,出现了事件不可识别的问题:3.1) 如果测试工程师指出没有找到的节点是因为相应GUI控件在新版本GUI程序中已经被删除,则使用跳过此节点直到找到下一个合法节点的方法修复GUI测试脚本;3.2) 如果测试工程师指出没有找到节点是因为GUI名称变更,则由测试工程师指定由旧版本GUI程序到新版本GUI程序的映射方式,然后根据映射后新的节点在两个事件可达性模型中检测节点是否存在,并且保存下测试工程师提供的映射关系:3.2.1) 如果映射后节点在两个事件可达性模型中找到,则认为修复完成;其中,如果测试工程师只指明了节点名称变更,而没有指出从GUI测试用例中的上个事件到当前事件可达性失效的问题,则认为从上个事件到映射后的当前事件不存在可达性失效的问题;如果测试工程师明确指明了从GUI测试用例中的上个事件到映射后的事件不再可达,并且指明了上个事件到当前事件之间需要添加的事件流,则修复过程中在上个事件和当前事件之间添加测试工程师指定的事件流,并且将添加的事件流相关的节点和边添加到自建事件可达性模型中;3.2.2) 如果映射后节点在两个事件可达性模型中找不到,则认为此处问题是自动化事件可达性模型的不完整,需要完善自建事件可达性模型,将涉及的GUI测试脚本语句所对应的事件添加到自建事件可达性模型中,并且在自建事件可达性模型中添加从上一个事件到当前事件的一条边,至此认为修复完成;4)如果检测到某行GUI测试脚本语句相应的事件在两个事件可达性模型中存在对应节点,则进一步检验从上一个事件到当前事件的可达性: 4.1)如果通过两个事件可达性模型检测到从GUI测试用例中的上个事件节点到当前事件节点可达,则此处合法性检验通过,无需修复;4.2)如果通过两个事件可达性模型检测到从GUI测试用例中的上个事件节点到当前事件节点不可达,则使用图搜索算法在两个事件可达性模型中搜寻出一条从上个事件到当前事件的合法路径,完成脚本修复;4.3)如果出现跨模型问题,即GUI测试用例中的上一个事件和当前事件分别处于自动化事件可达性模型和自建事件可达性模型中,除非测试工程师特别指定需要添加的事件流,否则默认跨模型的两个事件是可达的,如果测试工程师指定了需要添加的事件流,则将指定的事件流添加到最终的修复结果以及自建事件可达性模型中;5)生成测试用例集修复结果报告:对于可修复的失效的GUI测试脚本给出自动化修复之后的可在新版本GUI程序上执行的GUI测试脚本;对于不可修复的失效的GUI测试脚本给出问题报告;对于整个GUI测试脚本的修复给出全局的修复信息报告;得到的自建事件可达性模型和自动化事件可达性模型一起用于后续其它旧版本GUI程序的GUI测试脚本的自动修复,实现GUI测试脚本合法性验证和修复的自动化。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201110419535.9/,转载请声明来源钻瓜专利网。





