[发明专利]一种软件应用自动化测试方法有效
| 申请号: | 201510170813.X | 申请日: | 2015-04-13 |
| 公开(公告)号: | CN104778124B | 公开(公告)日: | 2017-12-05 |
| 发明(设计)人: | 程永新;宋辉;丁锦良 | 申请(专利权)人: | 上海新炬网络信息技术股份有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 上海科律专利代理事务所(特殊普通合伙)31290 | 代理人: | 袁亚军,金碎平 |
| 地址: | 200063 上海市青浦区外青*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 软件 应用 自动化 测试 方法 | ||
技术领域
本发明涉及一种软件测试方法,尤其涉及一种软件应用自动化测试方法。
背景技术
随着自动化测试的日益普及,各种自动化测试工具盛行,如何能快速、便捷地实施自动化项目,提高自动化项目的水平和质量成了客户的关注焦点。通过对测试技术、经验的累积,得出基于各种自动化测试工具的函数,将通用、个性化和异常处理机制等可复用的函数封装成基础函数集,再按功能组合函数形成测试框架。有了这些测试框架,使测试经验得到传承,提高了开发效率。但不同测试工具、不同平台,甚至不同操作系统上的框架都有很大区别,导致测试工具更新或转换的时候都需要重新开发框架,出现测试资产流失,制约或减缓了测试技术的发展。
目前自动化测试框架主要有以下几种:
一、基础功能测试框架:自动化测试框架概念萌芽阶段的产物。典型例子包括:初始化测试环境、初始化测试数据、到指定文件位置收集日志等脚本命令。其目的主要是提高测试执行过程的效率和准确性。
二、测试工具定制型:自动化测试框架中,最常见、最普遍使用的类型。以某种测试工具为基础,根据被测系统的操作流程做函数封装,按被测试系统使用的语言、代码特性优化测试工具的常用函数,再加以封装,另外,还有部分个性化定制的函数、框架流程、日志输出格式等。
三、通用测试框架:为满足测试项目的多元化需求和适应被测系统的技术发展,需要适当利用不同测试工具的优势和权衡测试成本,衍生出一种通用测试框架。通用测试框架通过调用不同测试工具的应用程序接口(API),封装成内部函数。在执行测试时,通用测试框架通常不会启动整个测试工具,而是调用其执行引擎,执行它内部函数解释出来的语句。测试开发人员不需要知道测试工具的编写语言,而是直接使用通用测试框架的函数开发脚本。
四、分布式自动化测试框架:随着被测系统的复杂度、功能的多元化发展,需要测试的功能点、模块越来越多,但预留测试的时间却越来越短。分布式测试能很好地解决测试时间不足的问题,理论上只要机器资源充沛的情况下,可以无限地增加测试终端,越多终端摊分用例,所需要的时间越少。
目前软件应用自动化测试框架有如下特点:工具依赖性强、设计思路多样、功能实现重复、缺乏提升测试效率的方案。在软件应用测试过程中都存在变更迭代频繁、测试时间短、覆盖面广,如何确保软件应用测试质量、提升测试效率、减少投入资源,规避系统上线风险,是软件应用自动化测试框架必须面对和完善的问题。
发明内容
本发明所要解决的技术问题是提供一种软件应用自动化测试方法,能够大大降低测试工具、操作系统的偶合度,提高测试框架的可复用性,大幅提升测试效率并降低测试风险。
本发明为解决上述技术问题而采用的技术方案是提供一种软件应用自动化测试方法,包括如下步骤:a)获取基于各种自动化测试工具的可复用函数和/或脚本;b)对获取的各种自动化测试工具的脚本和/或函数利用关键字进行映射,并封装成框架语言;c)采用所述框架语言编写执行脚本;d)使用分布式执行机制,将所述执行脚本分发到多个测试引擎上执行。
上述的软件应用自动化测试方法,其中,所述步骤b)的映射过程如下:抽取各种自动化测试工具的可复用函数/脚本的控件对象、操作命令和命令参数;将控件对象的操作命令封装成函数,并对应一个框架语言指定关键字的映射;将各种测试工具的函数/脚本和所述框架语言中的关键字的对应关系保存到映射规则数据库中。
上述的软件应用自动化测试方法,其中,所述步骤c)的框架语言采用关键字编写执行脚本,所述步骤d)根据映射规则数据库将框架语言编写的执行脚本转换成指定工具代码,发送到指定执行引擎并执行代码。
上述的软件应用自动化测试方法,其中,所述步骤d)通过分配权重,监控测试引擎的执行状态来利用空闲资源,并按照设定场景次序执行测试案例,所述测试案例由框架语言编写的执行脚本组成。
上述的软件应用自动化测试方法,其中,所述测试案例根据不同属性和设定场景分成具有不同权重的测试套,所述测试案例的分配过程如下:收集分配的测试引擎个数及配置信息,并检测收集到的测试引擎是否可用;根据测试套权重分配测试任务给可用的测试引擎,并根据测试任务执行情况实时调整测试引擎的可用状态;轮询测试引擎可用状态,如果可用则继续分派未执行测试套,直到测试套分派完毕。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海新炬网络信息技术股份有限公司,未经上海新炬网络信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510170813.X/2.html,转载请声明来源钻瓜专利网。





