软件自动化测试方法及系统技术方案

技术编号:14589545 阅读:34 留言:0更新日期:2017-02-08 18:20
本发明专利技术提供软件自动化测试方法及系统,所述软件的数据存储于与其关联的数据库中,通过生成包括对所述数据库进行增、删、改、查等操作的函数的脚本文件;将所述脚本文件加载到预设的自动化测试框架中;在所述自动化测试框架下,将所述脚本文件中的函数封装成用户关键字,从而使得所述自动化测试框架在编写软件测试用例时能够调用该用户关键字来直接执行所述函数以对所述数据库进行相应的增、删、改、查等操作。本发明专利技术适用于所有的关系型数据库,在数据库服务器发生变更时,无需重新脚本就可以实现对数据库的事务处理,通用性强、灵活度高,大大减轻了测试人员的负担。

Software automatic testing method and system

The invention provides a system and method of software testing, the software of the data storage in the associated database, generated by including the function of add, delete, change, search and other operations on the database of the script file; the script file is loaded into the preset automated testing framework; in the automated testing framework, the function of packaging the script file into the user key, thereby enabling the automation testing framework can call the user key to directly execute the function to the corresponding increase, delete, modify and check operation to the database in the software test cases. The invention is applicable to all the relational database, the database server is changed without re script can realize the database transaction processing, strong versatility, high flexibility, greatly reducing the burden of testing personnel.

【技术实现步骤摘要】

本专利技术涉及软件测试领域,特别是涉及软件的自动化测试方法及系统。
技术介绍
众所周知,大多企业级软件的数据都是依托数据库来存储和管理数据的,所以对于软件测试人员来说,对数据库的操作是软件测试工作中必要的部分。在自动化测试过程中,对数据库进行增、删、改、查等事务型操作一般使用的方法有两种:一种是使用命令,另一种是使用脚本。使用命令的优点在于简单直观,缺点在于当被测对象为非常复杂的业务操作场景时,使用的数据库脚本语言很庞大,不利于自动化测试用例的维护,且可读性差、不易排查。然而,使用脚本就可以很好的解决这个问题,但是这种方法也存在缺点,即复用性差。当更换被测对象时,需要逐一更换脚本中的相关参数,重新制作脚本才能满足相应测试环境的需求,操作同样繁琐,依旧不能满足测试工作的可自动化特性。可见,寻找一种操作简单、通用性强,参数可实时更改的自动化测试方法来实现对数据库进行事务操作是本次专利技术研究的课题。
技术实现思路
鉴于以上所述现有技术的缺点,本专利技术的目的在于提供软件自动化测试方法及系统,用于解决现有技术中的上述问题。为实现上述目的及其他相关目的,本专利技术提供一种软件自动化测试方法,所述软件的数据存储于与其关联的数据库中,所述方法包括:生成脚本文件,所述脚本文件包括:对所述数据库进行操作的函数;将所述脚本文件加载到预设的自动化测试框架中;在所述自动化测试框架下,将所述脚本文件中的函数封装成用户关键字,以供所述自动化测试框架在编写软件测试用例时能够调用来执行所述函数以对所述数据库进行相应的操作。于本专利技术一实施例中,所述预设的自动化测试框架包括:RobotFramwork框架。于本专利技术一实施例中,所述将所述脚本文件加载到预设的自动化测试框架中,包括:将所述脚本文件作为库文件添加到所述RobotFramwork框架中的资源文件中。于本专利技术一实施例中,所述函数的内容还包括以下方式中的一种或多种组合:方式1)在对所述数据库进行操作前连接所述数据库;方式2)在对所述数据库进行操作后断开所述数据库;方式3)在对所述数据库进行操作后判断操作是否成功并返回相应结果。于本专利技术一实施例中,所述连接或断开所述数据库是通过调用与所述数据库对应的Python库模块的接口实现的。为实现上述目的及其他相关目的,本专利技术提供一种软件自动化测试系统,所述软件的数据存储于与其关联的数据库中,所述系统包括:脚本生成模块,用于生成包括对所述数据库进行操作的函数的脚本文件;脚本加载模块,用于将所述脚本文件加载到预设的自动化测试框架中;函数封装模块,用于在所述自动化测试框架下,将所述脚本文件中的函数封装成用户关键字,以供所述自动化测试框架在编写软件测试用例时能够调用来执行所述函数以对所述数据库进行相应的操作。于本专利技术一实施例中,所述预设的自动化测试框架包括:RobotFramwork框架。于本专利技术一实施例中,所述将所述脚本文件加载到预设的自动化测试框架中,包括:将所述脚本文件作为库文件添加到所述RobotFramwork框架中的资源文件中。于本专利技术一实施例中,所述函数的内容还包括以下方式中的一种或多种组合:方式1)在对所述数据库进行操作前连接所述数据库;方式2)在对所述数据库进行操作后断开所述数据库;方式3)在对所述数据库进行操作后判断操作是否成功并返回相应结果。于本专利技术一实施例中,所述连接或断开所述数据库是通过调用与所述数据库对应的Python库模块的接口实现的。如上所述,本专利技术的软件自动化测试方法及系统,具有以下有益效果:1、相比于在数据库服务器上使用命令以及使用脚本实现对数据库增、删、改、查等操作的两种方法来说,本专利技术操作更简单,只需要调用封装好的用户关键字就能实现对数据库做事务处理。此外,在数据库服务器发生变更时,只需要输入不同的参数值,就能对新的服务器、新的数据库执行增、删、改、查等操作,无需编写或者修改脚本,即一个用户关键字就可以实现对所有同类型的数据库做事务处理,通用性更强,更加灵活方便。2、本专利技术适用所有的关系型数据库,例如:Oracle、MySQL、SQLServer、DB2等,只需要加载对应的库模块,编写相应数据库的函数,通过RF封装函数生成用户关键字,就能对该类型的数据库实现增、删、改、查等操作,适用性强。附图说明图1显示为一实施例的自动化测试方法的流程示意图。图2显示为一实施例的调用用户关键字之后执行函数的流程图。图3显示为一实施例的检查某个数据库是否存在某个表的函数示意图。图4显示为一实施例的脚本作为库文件加载到RF的资源文件里的示意图。图5显示为一实施例的创建封装“SQLServer查询存在某个表”的用户关键字示意图。图6显示为一实施例的测试用例中调用封装好的用户关键字的示意图。图7显示为一实施例的自动化测试系统的模块示意图。元件标号说明7自动化测试系统701脚本生成模块702脚本加载模块703函数封装模块S101~S106步骤具体实施方式以下通过特定的具体实例说明本专利技术的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本专利技术的其他优点与功效。本专利技术还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本专利技术的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本专利技术的基本构想,遂图式中仅显示与本专利技术中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。为了解决在关系型数据库环境中,例如:Oracle、MySQL、SQLServer、DB2等,RobotFramework(简称RF)测试框架下没有可以直接调用的关键字来对数据库做复杂的增、删、改、查等事务处理,以及传统的手工测试方法操作复杂繁琐、不具备自动化特性等问题,本专利技术基于RF自动化测试框架,使用Python作为辅助语言编写相关函数,实现数据库的连接后,对数据库增、删、改、查等业务进行自动化测试的方法,核心原理包括:编写Python脚本文件,即定义对数据库业务进行增、删、改、查等操作的函数,再将该Python脚本文件作为一个Library添加至RF的资源文件中,并创建封装成用户关键字。从而,在RF中编写的测试用例时就可以直接调用这个用户关键字,据以调用编写的函数,连接指定的数据库,通过输入对应的参数值就可以实现对连接的数据库做增、删、改、查等业务操作。图1是本专利技术技术方案分解步骤的流程图,显示了从编写Python脚本文件,到封装用户关键字,再到测试用例调用用户关键字的整个流程,具体包括:步骤S101:在已经安装了RF的服务器下,创建一个后缀是.py的Python脚本文件;步骤S102:打开所创建的Python脚本文件,编写脚本:首先,导入要调用的第三方库代码模块;然后,定义一些对数据库做增、删、改、查等操作的函数,例如,需要连接指定数据库的函数,SQL语句,执行结果成功与否的反馈方法等。步骤S103:将编写好的Python脚本文件作为一个Library添加到RF的某个资源文件中;步骤S104:在RF中的该资源文件下,将Pyt本文档来自技高网...

【技术保护点】
一种软件自动化测试方法,其特征在于,所述软件的数据存储于与其关联的数据库中,所述方法包括:生成脚本文件,所述脚本文件包括:对所述数据库进行操作的函数;将所述脚本文件加载到预设的自动化测试框架中;在所述自动化测试框架下,将所述脚本文件中的函数封装成用户关键字,以供所述自动化测试框架在编写软件测试用例时能够调用来执行所述函数以对所述数据库进行相应的操作。

【技术特征摘要】
1.一种软件自动化测试方法,其特征在于,所述软件的数据存储于与其关联的数据库中,所述方法包括:生成脚本文件,所述脚本文件包括:对所述数据库进行操作的函数;将所述脚本文件加载到预设的自动化测试框架中;在所述自动化测试框架下,将所述脚本文件中的函数封装成用户关键字,以供所述自动化测试框架在编写软件测试用例时能够调用来执行所述函数以对所述数据库进行相应的操作。2.根据权利要求1所述的软件自动化测试方法,其特征在于,所述预设的自动化测试框架包括:RobotFramwork框架。3.根据权利要求2所述的软件自动化测试方法,其特征在于,所述将所述脚本文件加载到预设的自动化测试框架中,包括:将所述脚本文件作为库文件添加到所述RobotFramwork框架中的资源文件中。4.根据权利要求2所述的软件自动化测试方法,其特征在于,所述函数的内容还包括以下方式中的一种或多种组合:方式1)在对所述数据库进行操作前连接所述数据库;方式2)在对所述数据库进行操作后断开所述数据库;方式3)在对所述数据库进行操作后判断操作是否成功并返回相应结果。5.根据权利要求4所述的软件自动化测试方法,其特征在于,所述连接或断开所述数据库是通过调用与所述数据库对应的Python库模块的接口实现的。6.一种软件自动化测...

【专利技术属性】
技术研发人员:江源吴海霞
申请(专利权)人:上海爱数信息技术股份有限公司
类型:发明
国别省市:上海;31

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

1