一种软件应用自动化测试方法技术

技术编号:11740283 阅读:2189 留言:0更新日期:2015-07-16 00:11
本发明专利技术公开了一种软件应用自动化测试方法,包括如下步骤:a)获取基于各种自动化测试工具的可复用函数和/或脚本;b)对获取的各种自动化测试工具的脚本和/或函数利用关键字进行映射,并封装成框架语言;c)采用所述框架语言编写执行脚本;d)使用分布式执行机制,将所述执行脚本分发到多个测试引擎上执行。本发明专利技术提供的软件应用自动化测试方法,通过关键字映射方法,可以快速方便地整合多种主流测试工具软件的函数/脚本,形成直观、形象的框架语言,能够大大降低测试工具、操作系统的偶合度,提高测试框架的可复用性,利用分布式执行机制,合理地利用空闲资源,大幅提升测试效率并降低测试风险。

【技术实现步骤摘要】

本专利技术涉及一种软件测试方法,尤其涉及。
技术介绍
随着自动化测试的日益普及,各种自动化测试工具盛行,如何能快速、便捷地实施 自动化项目,提高自动化项目的水平和质量成了客户的关注焦点。通过对测试技术、经验的 累积,得出基于各种自动化测试工具的函数,将通用、个性化和异常处理机制等可复用的函 数封装成基础函数集,再按功能组合函数形成测试框架。有了这些测试框架,使测试经验得 到传承,提高了开发效率。但不同测试工具、不同平台,甚至不同操作系统上的框架都有很 大区别,导致测试工具更新或转换的时候都需要重新开发框架,出现测试资产流失,制约或 减缓了测试技术的发展。 目前自动化测试框架主要有以下几种: 一、基础功能测试框架:自动化测试框架概念萌芽阶段的产物。典型例子包括:初 始化测试环境、初始化测试数据、到指定文件位置收集日志等脚本命令。其目的主要是提高 测试执行过程的效率和准确性。 二、测试工具定制型:自动化测试框架中,最常见、最普遍使用的类型。以某种测试 工具为基础,根据被测系统的操作流程做函数封装,按被测试系统使用的语言、代码特性优 化测试工具的常用函数,再加以封装,另外,还有部分个性化定制的函数、框架流程、日志输 出格式等。 三、通用测试框架:为满足测试项目的多元化需求和适应被测系统的技术发展,需 要适当利用不同测试工具的优势和权衡测试成本,衍生出一种通用测试框架。通用测试框 架通过调用不同测试工具的应用程序接口(API),封装成内部函数。在执行测试时,通用测 试框架通常不会启动整个测试工具,而是调用其执行引擎,执行它内部函数解释出来的语 句。测试开发人员不需要知道测试工具的编写语言,而是直接使用通用测试框架的函数开 发脚本。 四、分布式自动化测试框架:随着被测系统的复杂度、功能的多元化发展,需要测 试的功能点、模块越来越多,但预留测试的时间却越来越短。分布式测试能很好地解决测 试时间不足的问题,理论上只要机器资源充沛的情况下,可以无限地增加测试终端,越多终 端摊分用例,所需要的时间越少。 目前软件应用自动化测试框架有如下特点:工具依赖性强、设计思路多样、功能实 现重复、缺乏提升测试效率的方案。在软件应用测试过程中都存在变更迭代频繁、测试时间 短、覆盖面广,如何确保软件应用测试质量、提升测试效率、减少投入资源,规避系统上线风 险,是软件应用自动化测试框架必须面对和完善的问题。
技术实现思路
本专利技术所要解决的技术问题是提供,能够大大降低 测试工具、操作系统的偶合度,提高测试框架的可复用性,大幅提升测试效率并降低测试风 险。 本专利技术为解决上述技术问题而采用的技术方案是提供一种软件应用自动化测试 方法,包括如下步骤:a)获取基于各种自动化测试工具的可复用函数和/或脚本;b)对获 取的各种自动化测试工具的脚本和/或函数利用关键字进行映射,并封装成框架语言;c) 采用所述框架语言编写执行脚本;d)使用分布式执行机制,将所述执行脚本分发到多个测 试引擎上执行。 上述的软件应用自动化测试方法,其中,所述步骤b)的映射过程如下:抽取各种 自动化测试工具的可复用函数/脚本的控件对象、操作命令和命令参数;将控件对象的操 作命令封装成函数,并对应一个框架语言指定关键字的映射;将各种测试工具的函数/脚 本和所述框架语言中的关键字的对应关系保存到映射规则数据库中。 上述的软件应用自动化测试方法,其中,所述步骤c)的框架语言采用关键字编写 执行脚本,所述步骤d)根据映射规则数据库将框架语言编写的执行脚本转换成指定工具 代码,发送到指定执行引擎并执行代码。 上述的软件应用自动化测试方法,其中,所述步骤d)通过分配权重,监控测试引 擎的执行状态来利用空闲资源,并按照设定场景次序执行测试案例,所述测试案例由框架 语言编写的执行脚本组成。 上述的软件应用自动化测试方法,其中,所述测试案例根据不同属性和设定场景 分成具有不同权重的测试套,所述测试案例的分配过程如下:收集分配的测试引擎个数及 配置信息,并检测收集到的测试引擎是否可用;根据测试套权重分配测试任务给可用的测 试引擎,并根据测试任务执行情况实时调整测试引擎的可用状态;轮询测试引擎可用状 态,如果可用则继续分派未执行测试套,直到测试套分派完毕。 上述的软件应用自动化测试方法,其中,所述步骤d)还包括设置重跑次数让测试 过程自动重跑,所述重跑过程如下:记录失败案例及测试套;根据失败案例所属测试套,重 新组合失败案例形成新的测试套并分配权重;根据失败测试套的权重分派给测试引擎执行 测试。 上述的软件应用自动化测试方法,其中,所述步骤d)通过设置代理服务端来检测 收集到的测试引擎是否可用,每个测试引擎上设置代理客户端,所述代理客户端监控测试 任务的执行状态,执行来自代理服务端的指令,并完成与代理服务端的文件传输。 本专利技术对比现有技术有如下的有益效果:本专利技术提供的软件应用自动化测试方 法,通过关键字映射方法,可以快速方便地整合多种主流测试工具软件的函数/脚本,形成 直观、形象的框架语言,能够大大降低测试工具、操作系统的偶合度,提高测试框架的可复 用性,利用分布式执行机制,合理地利用空闲资源,大幅提升测试效率并降低测试风险。【附图说明】 图1为本专利技术软件应用自动化测试框架架构示意图; 图2为本专利技术软件应用自动化测试流程示意图; 图3为本专利技术软件应用自动化测试脚本与关键字映射关系示意图; 图4为本专利技术软件应用自动化测试脚本与关键字映射实现示意图; 图5为本专利技术通过部署代理端传输文件及监控测试任务的执行状态示意图; 图6为本专利技术利用套件设定场景案例权重及执行次序示意图; 图7为本专利技术测试案例分配执行示意图; 图8为本专利技术分布式执行测试任务流程示意图。【具体实施方式】 下面结合附图和实施例对本专利技术作进一步的描述。 现有的自动化测试框架是一个从无到有、从专一定制到多元化整合,再到效率大 幅提升的发展过程;是以累积自动化测试经验,提高测试工具对被测系统适应度,改进自动 化测试程度,提高效率和降低测试风险为目标出发的。对被测系统的适应性、测试时间的 要求都有很大进步。仔细分析现有的软件应用自动化测试框架及其发展变化,发现如下问 题: 1)依赖性强。大部分的软件应用自动化测试框架都是基于某种特定的测试工具软 件为基础设计,而测试工具软件又必须依赖于指定的操作系统及相关运行环境。这种多重 的依赖关系制约了软件应用测试的发展,而软件应用所使用的新技术、新设计却在不断更 新,导致测试技术严重滞后于软件开发。 2)思路繁多,功能重复。在软件应用测试的需求、测试行业前景的引导下,催生了 各种各样的软件应用自动化测试框架。基于不同的出发点和思路下,测试框架的功能多样 化,但功能重复难以统一利用,就算是融合几个框架都需要花费大量的人力物力去整理资 源。 3)自动化程度低。尽管根据各自的需求和测试工具软件的技术特点开发出多种多 样的测试框架,但框架间缺乏有效的整体设计思路,无法融合在一起使用,更大限度地提升 自动化测试效率,造成在测试过程中需要手当前第1页1 2 本文档来自技高网
...
一种软件应用自动化测试方法

【技术保护点】
一种软件应用自动化测试方法,其特征在于,包括如下步骤:a)获取基于各种自动化测试工具的可复用函数和/或脚本;b)对获取的各种自动化测试工具的脚本和/或函数利用关键字进行映射,并封装成框架语言;c)采用所述框架语言编写执行脚本;d)使用分布式执行机制,将所述执行脚本分发到多个测试引擎上执行。

【技术特征摘要】

【专利技术属性】
技术研发人员:程永新宋辉丁锦良
申请(专利权)人:上海新炬网络信息技术有限公司
类型:发明
国别省市:上海;31

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

1