论文部分内容阅读
随着自动化测试技术的不断发展,很多公司都为自动化测试开发了专业的测试软件。但是不同的自动化测试软件,所能够识别并运行的自动化测试脚本都是基于完全不同的语言。也就是说,如果用户已经使用了一种自动化测试工具软件,那么此用户所有的自动化测试脚本都是基于这个软件而开发的,当用户想转而使用其他的测试软件时,就意味着必须要重写所有的测试脚本,这个工作是相当巨大而又繁琐的。本文提出的测试脚本转换框架就是基于这样需求开发的,尽量减少测试脚本重写的工作量,最大限度的实现脚本重用,基本实现自动化转换。基于软件工程中逆向工程的思想,设计、实现这一框架。首先以WinRunner TSL脚本作为基础案例进行分析,在ANTLR环境下进行编程,得到词法分析器、语法分析器和语法树。对TSL进行词法分析和语法分析后,把脚本解析为与测试相关的基本动作集。这样就得到了不同软件测试脚本之间有共性的基本动作集。再使用RDF三元组作为标准格式,把这样的基本动作集定义为中间语言。并通过设计知识库组件,不断扩充用户的自定义函数、动作,进而实现多种测试脚本的自动化转换。通过模板替换,把中间语言的基本动作,映射到PACAS模块XML文件的相应位置。再通过转换测试用例的解析器、翻译器和底层平台的具体支持框架,实现从中间语言到目标语言的自动化翻译。这样就建立起了一个从已有脚本到中间语言,再从中间语言到目标语言的测试脚本自动化转换框架模型。模型的实现和仿真是通过以WinRunner TSL为基础的测试案例到RationalFunctional Tester测试案例来进行的,该框架可以自动化实现85%-95%的翻译工作,另外由于个别原因(如目标软件不提供原软件某个特定功能)不能实现自动化转换的部分,可由测试人员辅助实现翻译工作。