一种基于数据驱动用于虚拟化平台的自动化测试方法与流程

文档序号:13482848阅读:191来源:国知局

本发明属于虚拟化web平台应用自动化测试领域,具体涉及一种基于数据驱动用于虚拟化平台的自动化测试方法。



背景技术:

随着虚拟化技术的迅速发展,尤其是在当今世界倡导低碳节能、环保绿色的节约型社会环境中,服务器虚拟化技术已经受到了越来越多的关注。而随着市场竞争不断加剧,如何提升软件质量、缩短软件迭代开发周期,对软件测试方法和工具提出了更高要求。

软件测试需要多轮迭代,带来测试工作量巨大、周期变长、费用超支和软件延迟交付等一系列问题;而人工测试受时间、费用等条件的限制,特别是受到软件频繁升级的影响,需要不断进行回归测试,效率很低,而自动化测试为解决这些问题提供了可行途径,因而越来越受到重视。

目前软件自动化测试的发展大致经历了3个阶段。第1个阶段是基本的gui测试,这种测试检验了标准的gui对象和控件。测试脚本是非结构化的,并且不可维护。在第2个阶段中,脚本编写者发展了“建立结构良好、健壮的、可维护测试”的能力,其关键特征是测试脚本组件的可重用性。测试自动化的第3个阶段的特征是控制了测试资源。在这个级别上,测试设计和测试自动化被看成是相互分开的行为。对于传统的自动化测试,即其发展的前2个阶段,当遇到数据输入改变、程序流改变和管理应用程序改变等情况时,由于被改编的数据都是经过硬编码的,若要改变或修改它们,必须编辑或重新记录脚本,这必将消耗大量的时间,达不到自动化测试应有效果。传统自动化测试失败的主要原因是与捕获及回放方法相关联的维护的负担。而第3个阶段的用户却用一个不同的方式使用脚本,即单个脚本处理每个测试用例。数据驱动测试以此为基础,将数据包含在输入测试数据文件中,并且数据控制自动化测试脚本执行的流程和动作。采用数据驱动自动化测试方法,既可以改善自动化测试初期比较耗时的情况,又便于自动化测试脚本后期的维护。

目前基于框架的自动化测试,大多数是用录制后的脚本进行修改形成测试用例脚本代码,这样做就导致了页面元素和业务逻辑脚本混合在一起。关键字驱动自动化测试方法,同样由于测试数据和测试逻辑没有分离,如果应用系统的页面元素发生变化,就会直接影响到脚本的正确执行,这样会导致一系列的脚本修改、代码编译的工作量。如何能够减轻测试脚本开发的工作量,减低开发难度,降低测试脚本开发的门滥,是测试人员面临的首要问题。

现有技术之一方案。一种应用于gui的关键字驱动自动化测试方法,是关键字控制整个测试过程。由于测试数据和测试逻辑没有分离,测试数据一旦发生变化,将导致较高的维护成本。而数据驱动测试最典型的特点是测试数据和测试行为进行了完全的分离。也就是说,功能一旦实现,那么只要提供数据即可进行测试。

在这种测试方法中,测试人员首先使用类似excel工作表的表格,以输入关键字的方式建立测试用例。其中图1就是一种关键字驱动测试用例的示例,由关键字和参数组成,其中第一列为关键字,说明要执行的动作,如输入、动作及校验等,第二列和第三列为做必需的参数,最后一列为测试步骤中的结果。测试用例在运行过程中根据关键字调用与之对应脚本,并使用图中其他列作为参数。这种关键字驱动的自动化测试方法的不足之处为:测试数据与测试逻辑绑定在一起,没有分离,使得一个测试用例只能针对一个测试数据。这样,当测试人员的测试数据具有多样性时,测试脚本也必须同时多样性,这样只会增加测试人员的工作量且导致维护成本较高,测试脚本共享性差。

此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种基于数据驱动用于虚拟化平台的自动化测试方法,是非常有必要的。



技术实现要素:

本发明的目的在于,针对上述测试脚本共享性差,复用率低缺陷,提供一种基于数据驱动用于虚拟化平台的自动化测试方法,以解决上述技术问题。

为实现上述目的,本发明给出以下技术方案:

一种基于数据驱动用于虚拟化平台的自动化测试方法,包括如下步骤:

搭建虚拟化web平台的自动化测试管理平台;

编写用于自动化测试虚拟化web平台的数据库文件;

编写用于自动化测试虚拟化web平台的测试用例脚本;测试用例脚本包括测试业务逻辑和测试数据接口;

运行测试用例脚本启动自动化测试;

测试用例脚本通过测试数据接口调用数据库文件来驱动测试业务逻辑对web页面元素进行动作类操作;

输出自动化测试结果,打印测试报告。

进一步地,运行测试用例脚本启动自动化测试步骤之前还包括编写页面元素函数,对web页面元素及其表达式进行封装;

测试用例脚本还包括页面元素函数接口;

启动测试用例脚本自动化测试后,测试业务逻辑通过页面元素函数接口调用页web页面元素,测试业务逻辑通过测试数据接口调用数据库文件来驱动测试业务逻辑对web页面元素进行动作类操作。

进一步地,运行测试用例脚本启动自动化测试步骤之前还包括编写数据选择器,数据选择器对自动化测试数据库文件进行整合,选择出一组或多组测试数据集;

启动测试用例脚本自动化测试后,测试用例脚本通过测试数据接口调用测试数据集来驱动测试业务逻辑对web页面元素进行动作类操作。数据选择器对测试用例数据进行映射,构建所需要的数据类型,当需要批量测试数据时,可使用数据选择器返回多组不同类型但有相同业务流程的测试数据集。

进一步地,通过封装公用类函数编写数据选择器。

进一步地,运行测试用例脚本启动自动化测试步骤之前还包括编写异常业务逻辑函数;

测试用例脚本还包括异常业务逻辑函数接口;

启动测试用例脚本自动化测试后,若出现异常流程,则测试用例脚本通过异常业务逻辑函数接口调用异常业务逻辑函数。

进一步地,编写用于自动化测试虚拟化web平台的数据库文件步骤中,数据库文件包括正常数据流和异常数据流。

进一步地,异常流程包括测试数据异常和测试业务逻辑异常。

进一步地,采用java开发语言,基于selenium2.0框架搭建虚拟化web平台的自动化测试管理平台。

本发明的有益效果在于:

本发明将测试的业务逻辑和数据进行分离,还将影响业务功能实现的异常业务逻辑进行处理,使得测试用例脚本一旦实现,只需提供测试数据即可进行测试,提高了测试用例脚本的复用率。

此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。

由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。

附图说明

图1为现有技术中对虚拟化平台的自动化测试的测试用例示意图;

图2为本发明的方法流程图;

图3为本发明的实施例1自动化测试方法原理图;

图4为应用实施例1的自动化测试结果的日志图;

图5为本发明的实施例2自动化测试方法原理图;

图6为应用实施例2的自动化测试结果的日志图1;

图7为应用实施例2的自动化测试结果的日志图2。

具体实施方式:

为使得本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明具体实施例中的附图,对本发明中的技术方案进行清楚、完整地描述。

如图2所示,本发明提供一种基于数据驱动用于虚拟化平台的自动化测试方法,包括如下步骤:

采用java开发语言,基于selenium2.0框架搭建虚拟化web平台的自动化测试管理平台;

编写用于自动化测试虚拟化web平台的数据库文件;数据库文件包括正常数据流和异常数据流;

通过封装公用类函数编写数据选择器,数据选择器对自动化测试数据库文件进行整合,选择出一组或多组测试数据集;

编写页面元素函数,对web页面元素及其表达式进行封装;

编写异常业务逻辑函数;

编写用于自动化测试虚拟化web平台的测试用例脚本;测试用例脚本包括测试业务逻辑、测试数据接口、异常业务逻辑函数接口和页面元素函数接口;

运行测试用例脚本启动自动化测试;

测试业务逻辑通过页面元素函数接口调用页web页面元素,测试用例脚本通过测试数据接口调用测试数据集来驱动测试业务逻辑对web页面元素进行动作类操作;若出现测试数据异常和测试业务逻辑异常,则测试用例脚本通过异常业务逻辑函数接口调用异常业务逻辑函数;

输出自动化测试结果,打印测试报告。

本发明实施例1提供一种基于数据驱动用于虚拟化平台的自动化测试方法,包括如下步骤:搭建虚拟化web平台的自动化测试管理平台;编写用于自动化测试虚拟化web平台的数据库文件;编写数据选择器,数据选择器对自动化测试数据库文件进行整合,选择出一组或多组测试数据集;编写用于自动化测试虚拟化web平台的测试用例脚本;测试用例脚本包括测试业务逻辑和测试数据接口;运行测试用例脚本启动自动化测试;

如图3所示,测试用例脚本通过测试数据接口调用数据选择器选择出的多组数据集驱动测试业务逻辑对web页面元素进行动作类操作;输出自动化测试结果,打印测试报告。

应用实施例1的基于数据驱动用于虚拟化平台的自动化测试方法在不同存储类型如iscsi、nfs、hba存储库上创建虚拟磁盘;不同存储类型上创新虚拟磁盘具有相同的业务流程,编写测试用例脚本:进入存储管理界面;点击远程存储按钮;点击存储类型按钮(需要存储类型的数据来驱动);点击管理按钮,进入下一步操作;点击添加按钮;输入虚拟磁盘名称(需要虚拟磁盘名称类型的数据来驱动);展开下拉框;选择虚拟磁盘的单位(需要虚拟磁盘的单位类型的数据来驱动);输入虚拟磁盘的大小数值(需要虚拟磁盘的大小数值类型的数据驱动);点击确定按钮;

数据选择器选出在iscis存储库上创建虚拟磁盘对应的一组测试数据集(a按钮,autotestscsidisk1,gb,3)驱动测试用例脚本启动测试;数据选择器选出在nfs存储库上创建虚拟磁盘对应的一组测试数据集(nfs按钮,autotestnfsdisk1,mb,50)驱动测试用例脚本启动测试;数据选择器选出在hba存储库上创建虚拟磁盘对应的一组测试数据集(testhba按钮,autotesthbadisk1,gb,3)驱动测试用例脚本启动测试;输出如图4所示的自动化测试结果,打印测试报告。

本发明实施例2提供一种基于数据驱动用于虚拟化平台的自动化测试方法,包括如下步骤:搭建虚拟化web平台的自动化测试管理平台;编写用于自动化测试虚拟化web平台的数据库文件;数据库文件包括正常数据流和异常数据流;编写数据选择器,数据选择器对自动化测试数据库文件进行整合,选择出一组或多组测试数据集;编写异常业务逻辑函数;编写用于自动化测试虚拟化web平台的测试用例脚本;测试用例脚本包括测试业务逻辑、测试数据接口和异常业务逻辑函数接口;运行测试用例脚本启动自动化测试;

如图5所示,测试用例脚本通过测试数据接口调用数据选择器选择出的多组数据集驱动测试业务逻辑对web页面元素进行动作类操作;若出现测试数据异常或测试业务逻辑异常,则测试用例脚本通过异常业务逻辑函数接口调用异常业务逻辑函数;输出自动化测试结果,打印测试报告。

应用实施例2的基于数据驱动用于虚拟化平台的自动化测试方法在不同存储类型如nfs、hba、iscsi存储库上创建虚拟磁盘;不同存储类型上创新虚拟磁盘具有相同的业务流程,编写测试用例脚本:进入存储管理界面;点击远程存储按钮;点击存储类型按钮(需要存储类型的数据来驱动);点击管理按钮,进入下一步操作;点击添加按钮;输入虚拟磁盘名称(需要虚拟磁盘名称类型的数据来驱动);展开下拉框;选择虚拟磁盘的单位(需要虚拟磁盘的单位类型的数据来驱动);输入虚拟磁盘的大小数值(需要虚拟磁盘的大小数值类型的数据来驱动);编写异常业务流程逻辑函数:若输入磁盘大小数值小于0.001时,此时不创建磁盘,鼠标悬浮时,鼠标处出现提示文本:请输入一个最小为0.001的值;点击确定按钮;

数据选择器选出在nfs存储库上创建虚拟磁盘对应的一组正常测试数据集(nfs按钮,autotestnfsdisk1,mb,50)驱动测试用例脚本启动测试;数据选择器选出在hba存储库上创建虚拟磁盘对应的一组正常测试数据集(testhba按钮,autotesthbadisk1,gb,1)驱动测试用例脚本启动测试;数据选择器选出在iscis存储库上创建虚拟磁盘对应的一组异常测试数据集(a按钮,autotestscsidisk2,gb,0)驱动测试用例脚本启动测试;此时,磁盘大小0为小于允许创建磁盘最小值0.001,出现测试数据异常,调用异常业务流程函数,进行如下处理:鼠标悬浮时,在鼠标出显示提示文本:请输入一个最小为0.001的值;输出如图4所示的自动化测试结果,打印测试报告。

应用实施例2的基于数据驱动用于虚拟化平台的自动化测试方法在不同存储类型如nfs、hba、iscsi存储库上创建虚拟磁盘,编写异常业务逻辑函数:在创建iscsi存储库时出现lun已被使用过的异常业务流程时,则检测一下lun,当检测到可使用的lun时,立即结束检测循环,在该lun上创建iscis存储库;并在日志中打印出如图7所示的自动化测试结果。

selenium,是用于测试web应用程序用户界面(ui)的常用框架。它是一款用于运行端到端功能测试的超强工具,可以使用多个编程语言编写测试,并且selenium能够在一个或多个浏览器中执行这些测试。

nfs,networkfilesystem,即网络文件系统。

hba,hostbusadapter,即主机总线适配器。

iscsi:internetsmallcomputersysteminterface,internet小型计算机系统接口。

lunun,logicalunitnumber,指逻辑单元号。

本发明还可应用到其他涉及页面元素变化和功能点测试逻辑变化的软件产品的web前端自动化测试中。

本发明的实施例是说明性的,而非限定性的,上述实施例只是帮助理解本发明,因此本发明不限于具体实施方式中所述的实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他的具体实施方式,同样属于本发明保护的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1