[发明专利]一种软件自动化测试系统及方法有效
申请号: | 201110362976.X | 申请日: | 2011-11-16 |
公开(公告)号: | CN102521120A | 公开(公告)日: | 2012-06-27 |
发明(设计)人: | 周海旭 | 申请(专利权)人: | 中国民航信息网络股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京瑞思知识产权代理事务所(普通合伙) 11341 | 代理人: | 李涛 |
地址: | 100010 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软件 自动化 测试 系统 方法 | ||
技术领域
本发明涉及一种软件自动化测试系统及方法,具体地说,涉及基于图形视图的软件自动化测试系统及方法,通过该系统或方法,用户可以很轻松地完成绝大多数类型软件的自动化功能测试。
背景技术
传统的软件自动化测试工具或框架都是以纯代码的形式实现业务流程控制,这导致了以下几个问题:开发和维护测试脚本的成本很高;实施自动化测试对工程师的编码能力有着很苛刻的要求;只能采用函数封装或类封装的方法实现脚本分层,增加了脚本的复杂程度。正因为这些原因,许多项目团队对软件自动化测试望而却步。使用本发明提出的基于图形视图的软件自动化测试框架平台及方法,用户可以将每一个步骤封装在一个独立的、基于图形视图的业务节点中,这些节点可以在测试场景界面中随意拖动,通过添加有向连线进行连接,从而构建出一个完整的业务流程。业务节点可以在当前场景或不同场景中随意复制粘贴,只要简单修改连线顺序就可以构建一个新的业务流程。这种业务流程构建方式就像绘制流程图一样直观和方便。
另外,参数化是自动化测试中一个非常重要的环节。使用传统工具实现这一工作往往十分繁琐,需要设置很多选项,并使脚本变得复杂和难以维护。使用本发明提出的基于图形视图的软件自动化测试框架平台及方法,参数化可以简单地通过拖动鼠标,绘制一个循环体的方式实现(循环体的覆盖范围就是参数化的作用范围)。接下来只要在循环体对应的数据表格中填入参数名称和数值,参数化就完成了。
最后,传统的软件自动化测试工具一般根据对象的句柄等属性值来进行对象识别,而且对于不同的对象类型,往往需要不同的插件支持。对于一些采用了非标准控件的被测程序,传统工具就显得力不从心了。而在本发明提出的基于图形视图的软件自动化测试框架平台及方法中,对象识别是采用先进的计算机视觉技术来完成的,这不仅使得自动化测试脚本的开发和维护难度大大降低,还使得传统自动化测试方法中让人头痛的跨应用对象识别、非标准对象识别、结果捕获等问题得以迎刃而解。
发明内容
本发明的软件自动化测试系统包括:脚本编辑模块、场景组织模块、参数化模块、调试和运行模块、测试报告输出模块。
所述脚本编辑模块提供一个标准的文本编辑界面,借此可快捷输入自动化测试常用函数;脚本编辑模块还允许用户使用复制粘贴或拖放的方式在脚本中加入图片;另外,通过脚本编辑模块还可以快速截图,使得脚本中图像片段的获取、存储和处理更加方便。
场景组织模块提供一个用于搭建测试场景的图形视图界面,借此可以创建多种图形元素,并且可以拖动、复制、剪切、粘贴、删除该图形元素,还可以将多个图形元素用有向连线连接起来,从而构成一个完整的测试过程。所述场景组织模块的核心父类是Qt(一种跨平台的C++图形用户界面库)中用于组织二维图元的QGraphicsScene类(用于组织二维图元的类)。
参数化模块提供参数表格编辑界面,借此可以进行参数信息导入、导出、循环次数设定、参数表格规模设定。所述参数化模块中表达参数表格的核心父类是Qt中QTextTable类(用于表达参数表格的类)。
调试和运行模块能够整合处理场景中的脚本信息,生成Python(一种面向对象、直译式计算机程序设计语言)脚本文件和图片文件,并调用外部接口运行脚本。
测试报告输出模块提供输出测试结果的专用函数,并依据用户的需要生成HTML(Hypertext Markup Language,即超文本标记语言,是用于描述网页文档的一种标记语言)格式的测试报告文件和文本格式的测试脚本运行日志文件。所述测试报告输出模块具有维护框架平台的日志文件的功能。
根据本发明的软件自动化测试系统,其基于图形视图的软件自动化测试方法包括如下步骤:
步骤1,场景组织模块进行业务流分解;
步骤2,脚本编辑模块开发业务节点;
步骤3,场景组织模块构建业务流;
步骤4,对脚本进行必要的参数化(由参数化模块、调试和运行模块完成);
步骤5,调试和运行模块调试运行业务流;
步骤6,测试报告输出模块输出测试报告。
以上步骤与各模块的对应关系如图14所示。
在所述步骤1中,为了提高脚本的可复用性,或是为了实现协作式开发,首先通过场景组织模块,把一个业务流程分解为N个步骤,每个步骤用一个业务节点来封装和实现;分解的策略和颗粒度完全由用户根据实际需要决定。
在所述步骤2中,完成业务流程分解后,在测试场景中加入业务节点,在脚本编辑模块提供的脚本编辑界面上开发可视化测试脚本。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国民航信息网络股份有限公司,未经中国民航信息网络股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110362976.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于硬件虚拟化的密码保护系统
- 下一篇:一种不间断固晶机进料系统