基于XML封装关键字的GUI自动测试方法及自动测试平台技术

技术编号:4895668 阅读:296 留言:0更新日期:2012-04-11 18:40
基于XML封装关键字的GUI自动测试方法与自动测试平台,所述方法包括:步骤a,测试架构设计人员建立XML架构文件,用以描述测试关键字,所述关键字包括GUI元素;步骤b,测试用例设计人员按照所述关键字编写XML文件,形成测试用例,所述测试用例包括测试用例逻辑、测试数据和预期结果;步骤c,测试平台开发人员开发自动测试引擎,解析所述测试用例中的XML文件,解释所述测试关键字,定位所述GUI元素,执行测试并验证结果。将测试逻辑和测试数据从测试脚本中抽取出来,分别由自动测试开发人员和测试人员构建,充分发挥二者各自优势,二者之间不需要交互。

【技术实现步骤摘要】

本专利技术涉及一种计算机软件测试技术,特别涉及一种Web应用程序GUI自动测试 方法和自动测试平台。
技术介绍
随着计算机软件技术和互联网的发展,Web应用程序得到了越来越多的应用。传统 的Web应用GUI自动测试方法,人们需要编写测试脚本,利用脚本语言编程实现测试逻辑, 驱动被测应用⑶I元素,实现自动测试的目的。许多商业测试工具如HP公司WinRurmer、 QTP,开源测试工具WatiiNSelenium等都是这样的原理。商业工具通常提供录制的功能,可 以记录测试人员的操作,产生测试脚本。这样的方法的弊端在于采用录制的方法,产生的脚本是硬编码的,非结构化的, 很难维护。如果用编程的方法,对测试人员的编程能力要求较高。通常,自动测试开发人员 并不了解测试设计方法和业务知识,测试人员则不熟悉编程语言。为了弥补这些缺陷,传统 方法较好的工作模式是测试人员设计测试用例,形成测试用例文档,自动测试开发人员实 现测试脚本,实际上是将测试用例翻译成脚本语言,调试运行并维护脚本。这样的工作模式 带来的问题是对于测试用例的详细程度和准确性要求极高,需要更多的测试人员和更多 的时间编写测试用例,不同人员之间的交互可能造成理解歧义和不能同步。增加了人力资 源的需求和沟通成本。普通的软件公司不可能提供大量的人员成本和时间,迫切需要一种 轻量级的、使用更方便、更利于维护、更省时省力的方法应用于GUI自动测试。实际上,传统的脚本化自动测试方法更多的将测试驱动、测试逻辑、测试数据混杂 在一起,脚本化意味着可读性较差,测试脚本无法直接用于测试用例评审,必须同时维护一 份测试用例和一份测试脚本。鉴于上述缺陷,本专利技术创作者经过长时间的研究和实践终于获得了本创作。
技术实现思路
本专利技术的目的在于,解决现有脚本化自动测试方法中将测试驱动、测试逻辑、测试 数据混杂在一起,测试脚本无法直接用于测试用例评审,必须同时维护一份测试用例和一 份测试脚本的技术问题。为达到上述目的,本专利技术提供一种基于XML封装关键字的⑶I自动测试方法,包 括步骤a,测试架构设计人员建立XML架构文件,用以描述测试关键字,所述关键字 包括⑶I元素;步骤b,测试用例设计人员按照所述关键字编写XML文件,形成测试用例,所述测 试用例包括测试用例逻辑、测试数据和预期结果;步骤c,测试平台开发人员开发自动测试引擎,解析所述测试用例中的XML文件, 解释所述测试关键字,定位所述GUI元素,执行测试并验证结果。本专利技术还提供一种自动化测试平台,包括关键字描述模块、测试用例模块和自动 测试引擎;所述关键字描述模块中储存一 XML架构文件,用以描述测试关键字,所述关键字 包括⑶I元素;所述测试用例模块中存储多个测试用例,所述测试用例为XML文件,包括测试逻 辑、测试数据和预期结果;所述自动测试引擎解析所述XML文件,解释所述关键字,导航测试执行,定位所述 GUI元素,执行测试并验证结果。进一步,所述自动测试引擎包括项目管理模块、解析模块、导航模块、GUI元素定位 模块、消息处理模块和验证模块;所述项目管理模块建立测试项目,包含测试用例集、设置测试运行时参数,配置选 项;所述解析模块解析测试用例XML文件,保存所述各个关键字对象;所述导航模块解释所述关键字,按照测试对象的不同层次执行各测试用例集、测 试用例、递归执行引用的测试用例;所述GUI元素定位模块读取测试用例中的关键字描述,找到相应的GUI元素;所述消息处理模块在元素对象上触发各种消息,以模拟各种输入;所述验证模块读取所述测试用例中的关键字描述执行测试验证。本专利技术的有益效果在于,设计一种可运行的测试用例,将测试逻辑和测试数据从 测试脚本中抽取出来,分别由自动测试开发人员和测试人员构建,充分发挥二者各自优势, 二者之间不需要交互。同时提高测试逻辑的可读性,约定一批有意义的关键字用以表达测 试逻辑,使其可直接用于测试用例评审,不需要另行编写复杂详细的测试用例文档。附图说明图1为关键字结构图;图2为基于XML封装关键字的GUI自动测试方法的工作流程图;图3为基于XML封装关键字的GUI自动测试平台的结构图。附图标记说明1-关键字描述模块;2-测试用例模块;3-测试报告格式模块;4-GUI对象库;5_自 动测试引擎;501-项目管理模块;502-解析模块;503-导航模块;504-GUI元素定位模块; 505-GUI元素处理模块;506-消息处理模块;507-验证模块;508-日志模块;509-通用数据 模块;510-多线程和Win32API模块。具体实施例方式以下结合附图,对本专利技术上述的和另外的技术特征和优点作更详细的说明。此处 所描述的具体实施例仅仅用以解释本专利技术,并不用以限定本专利技术。首先对本专利技术中的XML关键字、类型及其结构进行说明。请参阅图1所示,其为本 专利技术基于XML封装关键字的GUI自动测试方法的关键字结构图,其定义了关键字之间的结 构。关键字的类型有测试框架类测试用例集、测试用例、测试用例前置条件、测试用例后置条件;弓I用类外部测试用例集、测试数据表;变量类变量、结构体;测试管理支持类对应产品需求、对应测试需求;操作类登录系统、菜单、工具栏、输入域、查询、运行SQL语句、运行程序、暂停执 行;输入域类文字、选择、表格、用户提示、按钮、页签、树、条目;验证类界面元素值、界面元素属性、对话框、数据库、文件;验证逻辑类等于、不等于、包含、不包含、大于、小于、大于等于、小于等于;组合类组合输入域、网页对话框、数据驱动;数据驱动类定步长数据驱动、变步长数据驱动。请参阅图2所示,为基于XML封装关键字的GUI自动测试方法的工作流程图,其包 括的步骤是步骤101,测试架构设计人员通过XML编辑工具建立关键字的XML架构文件(其结 构如图1所示),构成关键字描述模块1,所述关键字包括GUI元素;通过定义一整套XML元素及其类型、属性、约束、数据、枚举值,用以描述测试关键 字;在关键字描述模块1的XML架构文件中,定义组、元素名称、元素类型、属性、约束、数据 类型、缺省值;其中,以枚举方式定义属性的可选值,给测试用例设计提供选项,减少出错 率;在元素值中定义测试数据。通过XML转换工具,可将关键字描述模块1的XML架构文件自动生成各个关键字 类型的定义文件,提供给测试平台开发人员使用。步骤102 测试用例设计人员根据关键字描述模块1的XML架构文件,通过XML编 辑工具编写测试用例,所述测试用例为XML数据文件,其中包括测试用例逻辑、测试数据和 预期结果,并组合成不同的测试用例集,构成测试用例模块2 ;测试用例设计人员可以编写一些公用的测试用例,供其他测试用例设计人员引 用,并组合成不同的测试用例集;测试数据和预期结果值在元素值中定义,可用变量表示,也可以用常数表示,也可 以用引用数据文件表示。所述数据文件为Excel格式。步骤103 测试平台开发人员开发自动测试引擎,自动测试引擎解析测试用例模 块2中的XML文件,解释关键字,导航测试执行,定位GUI元素,将当前的GUI对象缓存到 GUI对象库4,加速下一次测试执行。执行测试并验证结果。执行测试结束后,产生文本测 试日志和XML格式测试报告。相应的,本专利技术提供一种基于XML封装关键本文档来自技高网
...

【技术保护点】
一种基于XML封装关键字的GUI自动测试方法,其特征在于,包括:步骤a,测试架构设计人员建立XML架构文件,用以描述测试关键字,所述关键字包括GUI元素;步骤b,测试用例设计人员按照所述关键字编写XML文件,形成测试用例,所述测试用例包括测试用例逻辑、测试数据和预期结果;步骤c,测试平台开发人员开发自动测试引擎,解析所述测试用例中的XML文件,解释所述测试关键字,定位所述GUI元素,执行测试并验证结果。

【技术特征摘要】
1.一种基于XML封装关键字的GUI自动测试方法,其特征在于,包括步骤a,测试架构设计人员建立XML架构文件,用以描述测试关键字,所述关键字包括 ⑶I元素;步骤b,测试用例设计人员按照所述关键字编写XML文件,形成测试用例,所述测试用 例包括测试用例逻辑、测试数据和预期结果;步骤c,测试平台开发人员开发自动测试引擎,解析所述测试用例中的XML文件,解释 所述测试关键字,定位所述GUI元素,执行测试并验证结果。2.如权利要求1所述的基于XML封装关键字的GUI自动测试方法,其特征在于,所述步 骤a中的XML架构文件中定义所述关键字的组、元素名称、元素类型、属性、约束、数据类型、 缺省值。3.如权利要求1所述的基于XML封装关键字的GUI自动测试方法,其特征在于,所述步 骤a中还包括通过XML转换工具将所述XML架构文件自动生成所述各个关键字类型的定义 文件,提供给测试平台开发人员使用。4.如权利要求1所述的基于XML封装关键字的GUI自动测试方法,其特征在于,所述步 骤b中测试用例设计人员根据所述XML架构文件的提示编写所述测试用例。5.如权利要求1所述的基于XML封装关键字的GUI自动测试方法,其特征在于,所述步 骤b中的测试数据为用变量表示,或者用常数表示,或者用引用独立的数据文件表示。6.如权利要求1所述的基于XML封装关键字的GUI自动测试方法,其特征在于,所述步 骤b中,测试用例设计人员将所述测试用例组合成不同的测试用例集。7.一种基于XML封装关键字的GUI自动测试平台,其特征在于,包括关键字描述模块、 测试用例模块和自动测试引擎;所述关键字描述模块中储存一 XML架构文件,用以描述测试关键字,所述关键字包括 ⑶I元素;所述测试用例模块中存储多个测试用例,所述测试用例为XML文件,包括测试逻辑、测 试数据和预期结果;所述自动测试引擎解析所述XML文件,解释所述关键字,导航测试执行,定位所述GUI 元素,执行测试并验证结果。8.如权利要求7所述的基于XML封装关键字的GUI自动测试平台,其特征在于,所述自 动测试引擎包括项目管理模块、解析模块、导航模块、GUI元素定位模块、消息处理模块和验 证模块;所述项目管理模块建立测试项目,包含测试用例集、设置测试运行时参数,配置选项, 调用所述解析模块...

【专利技术属性】
技术研发人员:胡骥
申请(专利权)人:航天信息股份有限公司
类型:发明
国别省市:11[中国|北京]

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

1