基于断点的自动化测试方法及装置的制作方法

文档序号:6579501阅读:259来源:国知局
专利名称:基于断点的自动化测试方法及装置的制作方法
技术领域
本发明涉及通信领域,具体而言,涉及一种基于断点的自动化测试方法及装置。
背景技术
软件测试,是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批 测试用例,并且利用上述测试用例运行软件,以发现软件错误的过程。由于软件测试直接关 系到软件产品的质量,因而如何更加全面有效地执行软件测试已被越来越多的软件测试工作者关注。自动化测试方法,作为能够更好辅助软件测试的方法,在软件测试中已占有一席 之地,目前正在逐步的完善和普及。自动化测试一般指软件测试的自动化,可理解为通过执行程序语言编制的测试脚 本、模拟测试用例、手工测试步骤,并记录测试结果的过程。通常一个测试用例可以由一个 或多个脚本语言编写的自动化测试脚本实现。为更好的发挥自动化测试优势,有效的利用 测试资源和节约测试时间,通常会采用自动化测试计划来实现多个测试环境下多个测试脚 本的不间断执行。测试环境指对软件系统进行各类测试所基于的软、硬件设备和配置。一般包括硬 件环境、网络环境、操作系统环境、应用服务器平台环境、数据库环境以及各种支撑环境等。目前,对自动化测试计划的执行,主要采用通过脚本解释器启动解析程序获取自 动化测试计划中的环境参数和测试脚本内容,然后按顺序依次执行测试脚本并记录相关测 试数据方法。但该方法在实际应用过程中还存在以下不足1、在测试脚本执行期间可能会出现程序异常中断的情况,而脚本解释器在重新执 行自动化测试计划时,只能通过修改自动化测试计划中的测试脚本个数来避免以完成测试 的脚本重复执行。2、由于有些自动化测试脚本执行时间很长,特别是自动化测试脚本中包含了循环 执行的测试步骤情况下,如果脚本执行异常中断,再次执行时脚本解释器只能从头开始执 行,即延长了测试时间又浪费了测试环境。3、由于测试资源的限制,在执行自动化程序过程中可能会有另一紧急任务争夺自 动化测试资源,但目前自动化脚本解释器只能够预先设定程序断点,不能实现暂时停止自 动化测试,并在测试资源空闲是继续执行未完成测试的功能。目前,还缺乏克服上述不足的技术方案。

发明内容
针对相关技术中存在的测试脚本解释器只能逐条执行脚本语句,无法对自动化测 试计划执行过程进行记录,以及无法对未执行完成的自动化测试计划由断点位置恢复执行 的问题而提出本发明,为此,本发明的主要目的在于提供一种改进的基于断点的测试方法 及装置,以解决上述问题至少之一。
根据本发明的一个方面,提供了一种基于断点的自动化测试方法。根据本发明的基于断点的自动化测试方法包括在当前测试计划执行期间,存储 测试进度信息,并将断点所在的测试进度信息作为断点信息,其中,断点信息包括测试场 景信息、测试脚本信息;获取断点信息,并在断点信息所指示的位置继续进行当前测试计 划。根据本发明的另一方面,提供了一种基于断点的自动化测试装置。根据本发明的基于断点的自动化测试装置包括存储单元、获取单元、执行单元, 其中,存储单元,用于在当前测试计划执行期间,存储测试进度信息,其中,测试进度信息包 括断点信息,断点信息包括测试场景信息、测试脚本信息;获取单元,用于从存储单元中 获取断点信息;执行单元,用于在断点信息所指示的位置继续进行当前测试计划。通过本发明,在当前测试计划执行期间,存储测试进度信息,将断点所在的测试进 度信息作为断点信息,获取上述断点信息,并在断点信息所指示的位置继续进行当前测试 计划。解决了相关技术中存在的测试脚本解释器只能逐条执行脚本语句,无法对自动化测 试计划执行过程进行记录,以及无法对未执行完成的自动化测试计划由断点位置恢复执行 的问题,进而可以对测试脚本执行进度信息记录,并能对未正常执行完成的自动化测试计 划,实现精确到测试步骤和循环变量的恢复。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变 得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明 书、权利要求书、以及附图中所特别指出的结构来实现和获得。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1为自动化测试计划的结构示意图;图2为根据本发明实施例的基于断点的自动化测试方法的流程图;图3为根据本发明优选实施例的基于断点的自动化测试方法的详细流程图;图4为根据本发明优选实施例的基于断点的自动化测试方法中断点脚本解析的 流程图;图5为根据本发明优选实施例的基于断点的自动化测试方法中保存断点信息的 流程图;图6为根据本发明实施例的基于断点的自动化测试装置的结构框图;图7为根据本发明优选实施例的基于断点的自动化测试装置的结构框图。
具体实施例方式功能概述考虑到相关技术中存在的测试脚本解释器只能逐条执行脚本语句,无法对自动化 测试计划执行过程进行记录,以及无法对未执行完成的自动化测试计划由断点位置恢复执 行的问题,本发明实施例提供了一种通过模块化的自动化测试计划设计与自动化测试解析 程序,对自动化测试计划执行逻辑的控制实现自动化测试断点执行方法。其中,在自动化测试解析程序中扩展了存储主执行数据文件的单元,用以记录解析程序所执行的自动化测试 计划进度信息,包括自动化测试计划是否执行完成、测试计划断点信息和日志路径等内容; 还扩展了断点信息存取程序和断点执行程序,其中,断点信息存取程序,在解析程序执行自 动化测试计划的过程中,将每一个执行进度信息的改变记录在主执行数据文件中,当自动 化程序中止时,上述信息可以作为该测试计划的断点信息,在下一次执行同一测试计划时, 由主执行数据文件中读取断点信息供断点执行模块使用;断点执行程序,是实现测试计划 由断点位置恢复测试的核心程序,主要功能包括确定断点脚本位置,恢复测试脚本环境,执 行断点测试步骤。本发明自动化测试计划断点执行方法通过上各模块间相互关联和逻辑控制实现, 具体如下启动解析程序执行一个自动化测试计划,读取自动化测试计划内容。如果该自动 化测试计划未执行完成,提示用户选择是否由断点处执行。进行断点处执行时,读取主执行 数据文件断点字段内容,否则将断点字段赋为空。在进入自动化测试断点执行阶段后,将当 前执行脚本列表设为断点所在及断点后测试脚本。执行断点所在脚本时,首先执行初始化 步骤恢复测试环境,然后跳转到中断步骤开始执行并对脚本中的循环参数根据断点信息重 新进行赋值。每当自动化测试执行到一个新的进度时,即变换场景、测试脚本改变和执行一 个测试步骤等,断点信息存取模块会将包括测试脚本、测试步骤、循环量等断点信息记录到 主执行数据文件中。测试计划全部执行完成后,在主执行数据文件写入完成标识。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相 互组合。下面将参考附图并结合实施例来详细说明本发明。为实现对测试中断点的精确定位,本发明采用了模块化结构实现一个自动化测试 过程。图1为自动化测试计划模块以及解析程序模块的结构示意图,如图1所示,根据实际 测试的需要,该自动化测试计划可以包括以下模块自动化测试计划、自动化测试场景、自 动化测试脚本等。其中,每个自动化测试脚本进一步包括初始化步骤和各测试步骤。以下 结合图1描述各模块构成与功能自动化测试计划中包含了数个测试场景(图中示出了 2个,自动化测试场景1、2) 及测试场景对应的数个自动化测试脚本列表(图中示出了 3个,自动化测试脚本1、2、3),解 析程序根据自动化测试计划内容依次执行测试脚本。自动化测试脚本由数个自动化测试步骤构成,测试步骤一般按测试用例步骤和实 现某种功能原则划分,至少应包括一个初始化步骤、一个结束步骤和中间步骤,每一个测试 步骤都可以解析出唯一标识用作执行和断点标记。测试步骤(图中示出初始化步骤、步骤1、步骤2.....步骤N、以及结束步骤)包
含数个函数体、能够指示下一测试步骤的标识和循环测试步骤标识。其中,循环测试步骤的实现方式又分为静态循环和动态循环两种模式,该两种模 式在测试步骤中使用不同的循环标识量识别。静态循环是指在自动化脚本编写中普遍常用并且是通过依次执行循环列表内容 直到列表结束来实现循环功能,例如,常用的网元端口列表、Modem端口列表和环路端口列 表的循环,静态循环主要构成元素示例表 权利要求
一种基于断点的自动化测试方法,其特征在于,包括在当前测试计划执行期间,存储测试进度信息,并将断点所在的测试进度信息作为断点信息,其中,所述断点信息包括测试场景信息、测试脚本信息;获取所述断点信息,并在所述断点信息所指示的位置继续进行所述当前测试计划。
2.根据权利要求1所述的方法,其特征在于,所述测试进度信息包括测试计划名、测试日志信息、当前测试场景信息、当前测试脚本信息、静态循环标识、动 态循环标识。
3.根据权利要求1或2所述的方法,其特征在于,所述在所述断点信息所指示的位置继 续进行所述当前自动化测试包括执行所述测试场景信息所指示的测试场景,根据所述断点信息对所述测试场景信息中 的环境变量进行赋值;执行所述测试脚本信息所指示的测试脚本。
4.根据权利要求3所述的方法,其特征在于,执行所述测试脚本信息所指示的测试脚 本包括通过调度所述测试脚本中的初始化程序对所述测试脚本进行初始化操作; 从所述测试脚本信息所指示的测试脚本的中断步骤开始执行测试,并对所述测试脚本 信息中的循环参数进行赋值。
5.根据权利要求4所述的方法,其特征在于,从所述测试脚本信息所指示的测试脚本 的中断步骤开始执行测试包括如果所述中断步骤存在循环步骤,且所述循环步骤为动态循环,则获取所述动态循环 中的断点内容,并从所述断点内容开始执行所述中断步骤;如果所述中断步骤不存在循环步骤,或者存在循环步骤但所述循环步骤不是动态循 环,则执行所述中断步骤。
6.根据权利要求2所述的方法,其特征在于,获取了所述断点信息之后,所述方法还包括对所述测试计划名和所述测试日志信息进行存储。
7.根据权利要求3所述的方法,其特征在于,在根据所述断点信息将所述测试场景信 息中的环境变量进行赋值之后,所述方法还包括对进行环境变量赋值后的所述当前测试场景信息进行存储。
8.一种基于断点的自动化测试装置,其特征在于,包括存储单元,用于在当前测试计划执行期间,存储测试进度信息,其中,所述测试进度信 息包括断点信息,所述断点信息包括测试场景信息、测试脚本信息; 获取单元,用于从所述存储单元中获取所述断点信息; 执行单元,用于在所述断点信息所指示的位置继续进行所述当前测试计划。
9.根据权利要求8所述的装置,其特征在于,所述执行单元包括场景执行子单元,用于执行所述测试场景信息所指示的测试场景,根据所述断点信息 对所述测试场景信息中的环境变量进行赋值;脚本执行子单元,用于执行所述测试脚本信息所指示的测试脚本。
10.根据权利要求9所述的装置,其特征在于,所述脚本执行子单元包括初始化模块,用于通过调度所述测试脚本中的初始化程序对所述测试脚本进行初始化 操作;执行模块,用于从所述测试脚本信息所指示的测试脚本的中断步骤开始执行测试,并 对所述测试脚本信息中的循环参数进行赋值。
11.根据权利要求10所述的装置,其特征在于,所述执行模块包括 判断子模块,用于判断所述中断步骤是否存在循环步骤,并在存在循环步骤的情况下, 判断所述循环步骤是否为动态循环;获取子模块,用于获取所述动态循环中的断点内容; 执行子模块,用于从所述断点内容开始执行所述中断步骤。
全文摘要
本发明公开了一种基于断点的自动化测试方法及装置,上述方法包括在当前测试计划执行期间,存储测试进度信息,并将断点所在的测试进度信息作为断点信息,其中,断点信息包括测试场景信息、测试脚本信息;获取断点信息,并在断点信息所指示的位置继续进行当前测试计划。根据本发明提供的技术方案,可以对测试脚本执行进度信息记录,并能对未正常执行完成的自动化测试计划,实现精确到测试步骤和循环变量的恢复。
文档编号G06F11/36GK101989225SQ20091016085
公开日2011年3月23日 申请日期2009年7月29日 优先权日2009年7月29日
发明者臧月琦, 陆新华 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1