本发明涉及的是软件自动化测试领域,尤其是一种软件自动化测试方法及测试平台。
背景技术:
如何提升产品的质量和竞争力,高效的软件测试无疑发挥着举足轻重的作用。自动化测试就是希望能够通过自动化测试工具或其他手段,按照测试工程师的预定计划进行自动的测试,目的是减轻手工测试的劳动量,从而达到提高软件质量的目的。软件自动化测试框架是软件自动化测试的能否成功的关键。
而目前,一般的公司软件自动化测试都是盲目的,将系统测试的用例直接转化为自动化测试脚本,一个脚本对应一个用例,脚本之间独立、不可共享,造成脚本编写复杂、可维护性差,往往造成自动化测试半途而废的后果,造成人力、物力的浪费。
经过一段时间的摸索,公司的自动化脚本倾向于结构化脚本,即能够实现小业务流脚本的复用,从一定程度上提高了代码的稳定性和可维护性,但仍然无法避免需求变动时代码的“大换血”,而且按照以上脚本实现方式,编写自动化脚本需要专业人才、花费大量时间来完成,往往测试完成了,脚本还没写出来,从而使自动化测试略显鸡肋。
技术实现要素:
本发明的目的就是针对现有技术所存在的不足,而提供一种软件自动化测试方法及测试平台,该方案通过引用控件简化自动化脚本编写难度,使普通的软件测试人员就可以独立的编写自动化测试脚本,这样,即使软件需求产生变更,自动化测试脚本能够快速更迭并投入使用,从而提高自动化测试在实际测试中的作用。
本方案是通过如下技术措施来实现的:一种软件自动化测试方法,包括:1)建立控件库;2)利用控件库中的操作单元完成自动化测试脚本的编写,保存自动化测试脚本以备测试使用;3)根据测试需要选择要执行的自动化测试脚本,并设置测试参数,进行自动化测试。控件包括:将web页面操作的最小单元抽象为控件,包括但不限于单击、双击、右击、单选、多选、输入、下载、上传、翻页等;将自动化工具的常用基本操作抽象为控件,包括但不限于断言、循环、随机数、打开浏览器、获取元素值、设置等待时间等;以及其他的脚本中可以通用的操作单元。引入控件,降低自动化测试脚本的编写难度,提升自动化脚本的编写速度,可复用,控件为自动化脚本的组成元素;在编写自动化脚本时,仅需要按照软件的业务逻辑引入相应的控件,并填写控件操作的页面元素的“id”,即可完成脚本的编写,通过平台的设置执行功能,实现自动化脚本的批量执行,并得到测试报告。
步骤2)中,在进行自动化测试脚本的编写时,21)在控件库中搜索要编写脚本的关键字控件,导入到脚本编辑框;22)在脚本编辑框中,编辑关键字控件,即可完成自动化测试脚本的编写。如编写自动化测试脚本用于云操作系统登录测试,控件库搜索“打开浏览器”控件,导入到脚本编辑框;在脚本编辑框中,编辑“打开浏览器控件”,编写人员只需要输入云操作系统的访问地址即可,即完成了打开云操作系统登陆界面的自动化脚本编写;引入“输入”控件,编辑用户名输入框的id及输入内容,完成登陆用户名输入的自动化脚本编写;引入“输入”控件,边界密码输入框的id及输入内容,完成登陆密码输入的自动化脚本编写;引入“单击”控件,输入登陆按钮的id,完成登陆操作的自动化脚本编写;实现了“云操作系统登陆”业务流的自动化测试脚本编写。这样使自动化测试脚本的编写功能简单化、快速化,从而使自动化测试在整个测试过程中发挥更大的作用。
步骤3)中设置测试参数包括:设置自动化测试脚本执行的时间、设置自动化测试脚本执行失败尝试次数、设置某个自动化测试脚本执行错误后其他自动化测试脚本是否继续执行。
一种软件自动化测试平台,包括:控件库模块,用于存储控件;控件库管理模块,用于管理控件的增加、删除、修改和查询,即控件的增、删、改、查;脚本库管理模块,利用控件对自动化测试脚本进行编写,并保存自动化测试脚本,即可以供软件测试人员编写自动化脚本并保存;设置模块,用于调取自动化测试脚本的批量执行,并对自动化测试脚本进行参数设置;结果展示模块,用于自动化脚本执行完成后,统计显示执行时长、执行成功个数、失败个数及展示脚本执行失败的具体位置。上述的控件为将web页面操作的最小单元抽象为控件,包括但不限于单击、双击、右击、单选、多选、输入、下载、上传、翻页等;将自动化工具的常用基本操作抽象为控件,包括但不限于断言、循环、随机数、打开浏览器、获取元素值、设置等待时间等;以及其他的脚本中可以通用的操作单元。
参数设置包括设置自动化测试脚本执行的时间、设置自动化测试脚本执行失败尝试次数、设置某个自动化测试脚本执行错误后其他自动化测试脚本是否继续执行。这样就可以设置脚本定期执行的时间、执行失败后尝试次数,便于进行自动化测试。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
图1为本发明具体实施方式的流程图。
图2为云操作系统登陆的自动化测试脚本编写流程图。
图3为脚本执行流程图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过一个具体实施方式,并结合其附图,对本方案进行阐述。
通过附图1可以看出,本方案的软件自动化测试方法,包括:1)建立控件库;2)利用控件库中的操作单元完成自动化测试脚本的编写,保存自动化测试脚本以备测试使用;3)根据测试需要选择要执行的自动化测试脚本,并设置测试参数,进行自动化测试。控件包括:将web页面操作的最小单元抽象为控件,包括但不限于单击、双击、右击、单选、多选、输入、下载、上传、翻页等;将自动化工具的常用基本操作抽象为控件,包括但不限于断言、循环、随机数、打开浏览器、获取元素值、设置等待时间等;以及其他的脚本中可以通用的操作单元。
通过图2可以看出,编写自动化测试脚本用于云操作系统登录的自动化测试脚本时,控件库搜索“打开浏览器”控件,导入到脚本编辑框;在脚本编辑框中,编辑“打开浏览器控件”,编写人员只需要输入云操作系统的访问地址即可,即完成了打开云操作系统登陆界面的自动化脚本编写;引入“输入”控件,编辑用户名输入框的id及输入内容,完成登陆用户名输入的自动化脚本编写;引入“输入”控件,边界密码输入框的id及输入内容,完成登陆密码输入的自动化脚本编写;引入“单击”控件,输入登陆按钮的id,完成登陆操作的自动化脚本编写;实现了“云操作系统登陆”业务流的自动化测试脚本编写。
图3可以看出,脚本执行时,设置测试参数包括:设置自动化测试脚本执行的时间、设置自动化测试脚本执行失败尝试次数、设置某个自动化测试脚本执行错误后其他自动化测试脚本是否继续执行。
一种用于上述软件自动化测试方法的测试平台平台,包括:控件库模块,用于存储控件;控件库管理模块,用于管理控件的增加、删除、修改和查询;
脚本库管理模块,利用控件对自动化测试脚本进行编写,并保存自动化测试脚本;设置模块,用于调取自动化测试脚本的批量执行,并对自动化测试脚本进行参数设置;结果展示模块,用于自动化脚本执行完成后,统计显示执行时长、执行成功个数、失败个数及展示脚本执行失败的具体位置。所述的控件为将web页面操作的最小单元抽象为控件,包括但不限于单击、双击、右击、单选、多选、输入、下载、上传、翻页等;将自动化工具的常用基本操作抽象为控件,包括但不限于断言、循环、随机数、打开浏览器、获取元素值、设置等待时间等;以及其他的脚本中可以通用的操作单元。参数设置包括设置自动化测试脚本执行的时间、设置自动化测试脚本执行失败尝试次数、设置某个自动化测试脚本执行错误后其他自动化测试脚本是否继续执行。
本发明并不仅限于上述具体实施方式,本领域普通技术人员在本发明的实质范围内做出的变化、改型、添加或替换,也应属于本发明的保护范围。