一种自动化测试方法及系统的制作方法

文档序号:9844033阅读:457来源:国知局
一种自动化测试方法及系统的制作方法
【技术领域】
[0001 ]本发明属于软件测试领域,更具体地,涉及一种自动化测试方法及系统。
【背景技术】
[0002]现有的自动化测试,常常由独立的自动化测试团队来执行和维护功能测试人员收到自身编程水平的限制,一般无法十分了解自动化测试包的细节,导致无法按照自身多类型的测试需求来执行自动化脚本。编写自动化脚本成员由于无法准确了解功能测试用例测试点导致编写自动化测试用例缺乏测试重点性,使自动化测试用例很难有效发现测试中的缺陷。

【发明内容】

[0003]针对现有技术的以上缺陷或改进需求,本发明提供了一种自动化测试方法及系统,其目的在于通过挖掘自然语言中测试工作相关的关键字实现相应的测试动作,由此解决现有的自动化技术功能测试人员不了解自动化测试包的细节而变成人员无法准确了解功能测试用例的测试点,造成的测试需求不明或者测试重点性不佳的技术问题。
[0004]为实现上述目的,按照本发明的一个方面,提供了一种自动化测试方法,包括以下步骤:
[0005](I)根据触发机制触发测试代码提取;
[0006](2)挖掘所述测试代码中的测试关键字及测试对象;
[0007](3)将所述测试关键字对应的测试脚本按照测试代码的顺序集合,形成测试代码包;
[0008](4)执行所述测试代码包并生成测试报告。
[0009]优选地,所述自动化测试方法,其步骤(I)所述触发机制为时间触发和/或事件触发。
[0010]优选地,所述自动化测试方法,其步骤(I)所述测试代码提取顺序为先进先出或先进后出。
[0011]优选地,所述自动化测试方法,其步骤(2)所述关键字包括操作关键字和验证关键字。
[0012]优选地,所述自动化测试方法,所述测试对象基于安卓平台;
[0013]所述步骤(3)具体为:将所述关键字对应的测试脚本按照测试代码的顺序集合,形成测试代码包并生成安卓测试应用;
[0014]所述步骤(4)具体为:安装所述安卓测试应用并执行测试代码,生成测试报告。
[0015]按照本发明的另一方面,提供了一种自动化测试系统,包括:
[0016]测试代码管理模块:用于保存功能测试人员开发的测试代码,并根据触发机制触发测试代码提取到测试关键字挖掘模块;
[0017]测试关键字挖掘模块:挖掘所述测试代码中的测试关键字;
[0018]测试代码包生成模块:用于将所述测试关键字对应的测试脚本按照测试代码的顺序集合,形成测试代码包;
[0019]测试报告生成模块:用于执行所述测试代码包并生成测试报告。
[0020]优选地,所述自动化测试系统,其代码管理模块采用时间触发和/或事件触发。
[0021 ]优选地,所述自动化测试系统,其代码管理模块包括测试代码存储单元,用于存储测试代码;所述测试代码存储单元为堆栈结构或队列结构。
[0022]优选地,所述自动化测试系统,其关键字挖掘模块包括测试关键字库,用于存储测试关键字。
[0023]优选地,所述自动化测试系统,所述测试对象基于安卓平台,
[0024]所述代码包生成模块,用于将所述测试脚本打包为安卓测试应用;
[0025]所述测试代码生成模块,用于安装所述安卓测试应用并执行所述测试代码包。
[0026]总体而言,通过本发明所构思的以上技术方案与现有技术相比,由于功能测试人员能利用自然语言描述测试用例,而代码开发人员能根据标准需求开发测试代码,能够取得下列测试自动化、脚本标准化、测试代码稳定性、鲁棒性高、测试报告可靠的有益效果。
【附图说明】
[0027]图1是本发明的自动化测试方法的流程简图;
[0028]图2是本发明的自动化测试系统的结构示意图;
[0029]图3是本发明实施例提供的自动化测试系统的实现示意图;
[0030]图4是本发明实施例提供的自动化测试方法的流程图。
【具体实施方式】
[0031]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0032]本发明提供了一种自动化测试方法,如图1所示,包括以下步骤:
[0033](I)根据触发机制触发测试代码提取;
[0034]所述触发机制可采用时间触发或者事件触发:时间触发如定时触发;事件触发如代码更新时触发。多种触发方式可单一使用或者同时使用。
[0035]所述测试代码提取可采用先进先出或先进后出顺序。
[0036]所述测试代码为功能测试人员根据测试用例编写,可采用自然语言编写,如中文或英文,例如:进入〈登录页〉。
[0037](2)挖掘所述测试代码中的测试关键字及测试对象;
[0038]例如:其中“进入”为动作,“登录页”为测试对象。
[0039]测试关键字为测试常用动作,包括:
[0040]A、操作关键字:进入、进入连接、点击、填写、选择、以及等待。
[0041 ] B、验证关键字:显示、验证数值、验证表格、验证数值差、等待出现、以及不显示。
[0042](3)将所述测试关键字对应的测试脚本按照测试代码的顺序集合,形成测试代码包;
[0043]如所述测试对象基于安卓平台:
[0044]则将所述关键字对应的测试脚本按照测试代码的顺序集合,形成测试代码包并生成安卓测试应用。
[0045]所述测试脚本为开发人员编写,执行测试关键字对应的测试程序,采用计算机语言编写,优选采用脚本语言编写,如Ruby、Python、Ja va等。
[0046](4)执行所述测试代码包并生成测试报告。
[0047]如所述测试对象基于安卓平台:
[0048]所述步骤(4)具体为:安装所述安卓测试应用并执行测试代码,生成测试报告。
[0049]执行所述测试代码包的过程中,如执行成功则记录测试数据,否则进行异常处理,并记录出错数据。执行所述测试代码包记录的所有数据形成测试报告,包括测试数据和出错数据。
[0050]—种自动化测试系统,如图2所示,包括
[0051]测试代码管理模块:用于保存功能测试人员开发的测试代码,并根据触发机制触发测试代码提取到测试关键字挖掘模块。
[0052]所述触发机制可采用时间触发或者事件触发:时间触发如定时触发;事件触发如代码更新时触发。多种触发方式可单一使用或者同时使用。
[0053]所述测试代码管理模块包括测试代码存储单元,所述测试代码存储单元可采用堆栈结构或者队列结构。
[0054]所述测试代码为功能测试人员根据测试用例编写,可采用自然语言编写,如中文或英文。例如:进入〈登录页〉。
[0055]测试关键字挖掘模块:挖掘所述测试代码中的测试关键字和测试对象;
[0056]例如,其中“进入”为测试关键字,“登录页”为测试对象。
[0057]测试关键字为测试常用动作,包括:
[0058]A、操作关键字:进入、进入连接、点击、填与、选择、以及等待。
[0059]B、验证关键字:显示、验证数值、验证表格、验证数值差、等待出现、以及不显示。
[0060]所述关键字挖掘模块,包括测试关键字库,用于存储测试关键字。
[0061]具体地,该模块首先对测试代码进行匹配,以Ruby语言为例:测试用例为“进入〈个人中心〉”,相应脚本中匹配脚本定义为Given厂进入〈(.+ )>$/do | name |。
[0062]测试代码包生成模块:用于将所述测试关键字对应的测试脚本按照测试代码的顺序集合,形成测试代码包;
[0063]所述测试代码包生成模块,包括脚本库,用于存储关键字对应的脚本。
[0064]所述测试脚本为开发人员编写,执行测试关键字对应的测试程序,采用计算机语言编写,优选采用脚本语言编写,如Ruby、Python、Java等;
[0065]测试报告生成模块:用于执行所述测试代码包并生成测试报告。
[0066]执行所述测试代码包的过程中,如执行成功则记录测试数据,否则进行异常处理,并记录出错数据。执行所述测试代码包记录的所有数据形成测试报告,包括测试数据和出错数据。
[0067]以下为实施例:
[0068]以基于Jenkins和Cucumber测试工具实现的本发明所述的自动化测试系统及方法为例。
[0069]Jenkins作为一款成熟的测试工具,是目前业内最流行的快速持续集成工具之一,具有良好的稳定性能和丰富扩展性。所有团队成员均可以通过登陆Jenkins平台Web界面,按照需求任意选择部署在平台上的自动化测试包,目标测试环境,测试集和测试用例,灵活地定
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1