一种基于uft的应用软件自动测试方法及系统的制作方法

xiaoxiao2021-3-1  199

一种基于uft的应用软件自动测试方法及系统的制作方法
【技术领域】
[0001]本发明属于软件测试技术领域,尤其涉及一种基于UFT的应用软件自动测试方法及系统。
【背景技术】
[0002]随着软件产业的发展,软件产品的质量控制与质量管理正逐渐成为软件企业生存与发展的核心。几乎每个大中型IT企业的软件产品在发布前都需要大量的质量控制、测试和文档工作,而这些工作必须依靠拥有娴熟技术的专业软件人才来完成。在具体工作过程中,测试工程师的工作是利用测试工具按照测试方案和流程对产品进行功能和性能测试。
[0003]目前,在软件的协议识别测试领域,现有的测试解决方法为:测试工程师手动驱动被测试应用软件,到流量控制设备查看识别信息,记录测试结果,整理测试报告。这样,测试工程师的工作就很繁琐,每次测试都要人工驱动应用软件,人工查看识别信息,获得测试结果。由于大量的应用软件需要长期反复测试,工作量很大,人工的方式有些力不从心,并且质量难以严格保障。
[0004]因此,如何提高协议识别测试领域的软件测试自动化水平,降低工作人员的工作强度,提高工作效率,成为技术人员需要考虑的问题。

【发明内容】

[0005]本发明所要解决的技术问题是提供一种基于UFT的应用软件自动测试方法及系统,提高协议识别测试领域的软件测试自动化水平,降低工作人员的工作强度,提高工作效率。
[0006]为了解决上述技术问题,本发明提供了一种基于UFT的应用软件自动测试方法,所述方法包括以下步骤:
[0007]接收设置的待测试应用软件的协议类型与数量;
[0008]获得流量控制设备基础信息;
[0009]驱动待测试应用软件运行,完成指定操作;
[0010]从流量控制设备接口获取完成指定操作后的设备识别信息;
[0011 ]将获取的所述设备识别信息与预定义的标准值进行对比,判断该应用软件的流量是否识别正确,如不正确,给出测试不正确原因;
[0012]将本次测试结果记录到测试报告中。
[0013]优选的,
[0014]所述待测试应用软件的协议类型,包括:测试的协议大类,测试的大类里的小类;
[0015]所述设备识别信息,包括:设定时间段内,设备识别出的协议,所述协议的会话数量和流量大小。
[0016]优选的,所述不正确原因,包括:
[0017]误识别成其它软件协议、流量识别的过少、出现漏识别。
[0018]优选的,所述驱动待测试应用软件运行,完成指定操作,包括:
[0019]通过UFT的对象识别和图像识别技术,编写VBS脚本,操作应用软件,完成指定操作。
[0020]优选的,所述从流量控制设备接口获取完成指定操作后的设备识别信息,包括:调用采用python编写的程序从流量监控设备接口获取本次测试的设备识别信息。
[0021]为了解决上述技术问题,本发明还提供了一种基于UFT的应用软件自动测试系统,所述系统包括:
[0022]接收模块,用于接收设置的待测试应用软件的协议类型与数量;
[0023]检测模块,用于获得流量控制设备基础信息;
[0024]驱动模块,用于驱动待测试应用软件运行,完成指定操作;
[0025]测试信息获取模块,用于从流量控制设备接口获取完成指定操作后的设备识别信息;
[0026]比较模块,用于将获取的所述设备识别信息与预定义的标准值进行对比,判断该应用软件的流量是否识别正确,如不正确,给出不正确原因;
[0027]记录模块,用于将本次测试结果记录到测试报告中。
[0028]优选的,
[0029]所述接收模块,进一步用于接收测试的协议大类,测试的大类里的小类;
[0030]所述测试信息获取模块,进一步用于获取设定时间段内设备识别出的协议、所述协议的会话数量和流量大小。
[0031 ]优选的,
[0032]所述比较模块,进一步用于给出误识别成其它软件协议、流量识别的过少、出现漏识别的测试不正确原因。
[0033]优选的,
[0034]所述驱动模块,用于调用通过UFT的对象识别和图像识别技术编写的VBS脚本,操作应用软件,完成指定操作。
[0035]优选的,所述测试信息获取模块,用于调用采用python编写的程序从流量监控设备接口获取完成指定操作后的设备识别信息。
[0036]本发明通过模拟人工操作应用软件,驱动流量,自动从流量监控设备取出识别信息,将识别信息与预定标准值进行对比,自动判定测试结果,输出测试报告。从而提高了协议识别测试领域的软件测试自动化水平,降低了工作人员的工作强度,提高了工作效率。与人工测试相比,本发明提供的自动测试方法和系统测试效果更加精准、测试过程快速高效、省时省力,可以7*24小时不间断测试。
【附图说明】
[0037]图1为本发明实施例的基于UFT的应用软件自动测试方法流程图。
[0038]图2为本发明实施例中驱动QQ旋风完成下载任务的流程图。
[0039]图3为本发明实施例的基于UFT的应用软件自动测试系统结构示意图。
[0040]图4为本发明应用实例中启动测试后的测试方法流程图。
【具体实施方式】
[0041]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0042]UFT(统一功能测试)软件提供直观的可视化用户体验,将手动、自动化和基于框架的测试整合到一个IDE(Integrated Development Environment,集成开发环境)中,从而实现测试自动化。这一涵盖范围广泛的解决方案可显著降低功能测试流程的成本和复杂性,同时促成持续的高质量。
[0043]本发明的基于UFT的应用软件自动测试方法及系统,其主要思想是:通过模拟人工操作应用软件,驱动流量,自动从流量监控设备取出识别信息,将识别信息与预定标准值进行对比,自动判定测试结果,输出测试报告。从而实现了应用软件的自动化测试。
[0044]参照图1所示,为本发明的基于UFT的应用软件自动测试方法流程图。所述方法包括以下步骤:
[0045]步骤101,接收设置的待测试应用软件的协议类型与数量;
[0046]所述待测试软件的协议类型,包括:测试哪些协议大类,测试大类里的哪些小类;
[0047]步骤102,获得流量控制设备基础信息;
[0048]所述基础信息主要是流量控制设备的版本号,这样出报告的时候可以指定被测设备的版本号。
[0049]步骤103,驱动待测试应用软件运行,完成指定操作;
[0050]步骤104,从流量控制设备接口获取完成指定操作后的设备识别信息;
[0051]步骤105,将获取的所述设备识别信息与预定义的标准值进行对比,判断该应用软件的流量是否识别正确,如不正确,给出不正确原因;
[0052]步骤106,将本次测试结果记录到测试报告中。
[0053]所述测试报告中,包括:测试哪些协议大类、测试大类里的哪些小类、流量控制设备的版本号,应用软件的流量识别是否正确,以及不正确的原因等内容。
[0054]步骤104中的所述设备识别信息,包括:该时间段内,设备识别出的协议、所述协议的会话数量和流量大小,然后与预定义的标准值进行对比。步骤105中所述不正确原因,包括:误识别成其它软件协议、流量识别的过少、出现漏识别等等。
[0055]在本发明的一个优选实施例中,步骤103中所述驱动待测试应用软件运行,完成指定操作,包括:
[0056]通过UFT的对象识别和图像识别技术,编写VBS脚本,操作应用软件,完成指定操作,如驱动QQ旋风完成下载任务,驱动优酷观看视频,驱动QQ软件完成QQ登录等等。参照图2所示,以下以驱动QQ旋风完成下载任务为例,详细说明本发明驱动待测应用软件运行,完成指定操作的步骤:
[0057]步骤201,准备环境:
[0058]1、关闭QQ旋风进程;2、删除QQ旋风资源所在目录;
[0059]步骤202,启动QQ旋风进程;
[0060]步骤203,进入资源中心,点击进入QQ旋风资源中心,如游戏;
[0061]点击游戏的动作是通过UFT的图像识别比对技术完成的,先截取一张QQ旋风带游戏关键字的区域图片,然后指定点击该图片,UFT将拿该图片与QQ旋风界面比对,比对成功,将产生点击动作;
[0062]要完成上述功能,本发明先预设一些测试中应用软件可能需要完成的操作,将所述操作都对应设置自动点击动作,这样在测试过程中就可以自动启动该点击动作,比如,(指定截图对象).click(),UFT就会去窗口找类似的图片,然后点击。
[0063]步骤204,下载资源到设定时间;
[0064]可以在设定时间段内多次执行下载操作,从而达到多次测试的目的,使得测试结果数据更真实;
[0065]步骤205,关闭QQ旋风进程。
[0066]本发明再调用 采用python编写的程序从流量监控设备接口获取本次设备识别信息,具体为:通过使用python的pexpect模块从流量监控设备接口获取信息。
[0067]该信息主要包括该时间段内,流量监控设备都识别出哪些协议,这些协议的会话数量和流量大小,然后将流量监控设备识别信息与预定义的标准值进行对比(这些预定义的标准值是通过有经验的工程师定义的经验值,如QQ旋风下载5个资源,那至少有5条QQ旋风的会话,下载时间5分钟,那QQ旋风所占的流量比例将达到80 %以上,除了会识别成QQ旋风、http、dns等流量外,不会识别成其它协议,如迅雷下载),判断该应用流量是否识别正确,如不正确,给出原因,如误识别成其它软件协议,流量识别的过少出现漏识别等等,并将本次测试结果记录到测试报告中。
[0068]当出现灾难时,比如当测试QQ旋风时,QQ旋风软件突然崩溃,那本系统发现超出故障报警时间,将跳出QQ旋风的测试,进行下一个软件的测试。
[0069]本发明可以设置故障报警时间,当设定时间内没有找到要操作的对象,执行选择的操作,可以重新启动软件,或者执行下一步,本发明在这里采用的方法是:记录是否超时,一旦超时意味对象找不到,就退出这个测试,测试下一个软件。
[0070]图3为本发明的基于UFT的应用软件自动测试系统结构示意图。所述系统包括:
[0071]接收模块301,用于接收设置的待测试软件的协议类型与数量;
[0072]所述待测试软件的协议类型,包括:测试哪些协议大类,测试大类里的哪些小类;
[0073]检测模块302,用于获得流量控制设备基础信息;
[0074]所述基础信息主要是流量控制设备的版本号,这样出报告的时候可以指定被测设备的版本号。
[0075]驱动模块303,用于驱动待测应用软件运行,完成指定操作;
[0076]测试信息获取模块304,用于从流量控制设备接口获取完成指定操作后的设备识别?目息;
[0077]比较模块305,用于将获取的所述设备识别信息与预定义的标准值进行对比,判断该应用软件的流量是否识别正确,如不正确,给出不正确原因;
[0078]记录模块306,用于将本次测试结果记录到测试报告中。
[0079]测试信息获取模块304获取的所述设备识别信息,包括:在设定时间段内,设备识别出的协议,所述协议的会话数量和流量大小,然后与预定义的标准值进行对比。比较模块305给出的所述不正确原因,包括:误识别成其它软件协议,流量识别的过少出现漏识别等等。
[0080]在本发明的一个优选实施例中,驱动模块303驱动待测应用软件运行,完成指定操作,包括:
[0081]通过调用采用UFT的对象识别和图像识别技术编写的VBS脚本,操作应用软件,完成指定操作。如驱动QQ旋风完成下载任务,驱动优酷观看视频,驱动QQ软件完成QQ登录等等。修改VBS脚本可以调整这些操作。
[0082]所述测试信息获取模块304,用于通过调用采用python编写的程序从流量监控设备接口获取完成指定操作后的设备识别信息。
[0083]下面对采用本发明的应用软件自动测试方法及系统对软件进行测试的实际工作过程进行详细描述:
[0084]第一步:测试环境部署;
[0085]本发明的测试系统部署在一台PC上,该PC通过流量监控设备上网,简化拓扑图如下:
[0086]PC流量监控设备Internet
[0087]本发明运用expect和爬虫技术分别通过流量控制设备的命令行和WEB两种方式完成系统与流量控制设备的交互,获取流量控制设备的实时和历史的流量数据;
[0088]第二步:确定测试目标;
[0089]修改配置,指定本次测试的协议类型与数量,如P2P大类里面的迅雷协议和电驴协议;
[0090]第三步:启动测试,完成测试过程。
[0091]参照图4所示,为本发明应用实例中的启动测试后的测试方法流程图,所述测试方法包括:
[0092]步骤401,初始化步骤:
[0093]初始化电脑环境,清除无关进程;系统将关闭PC上无关的通信进程,只保留系统需要的一些进程,确保PC有一个干净的上网环境;
[0094]创建存储报告信息的目录;
[0095]从流量监控设备获取基础信息;
[0096]步骤402,获取测试参数;
[0097]包括测试哪些协议大类,测试大类里的哪些小类;
[0098]步骤403,对待测应用软件逐个进行测试,包括:
[0099]1、清除电脑无关进程;
[0100]2、获取流量监控设备测试前数据;
[0101]3、操作待测应用软件;
[0102]4、退出该软件;
[0103]5、获取流量监控设备测试后数据;
[0104]6、整理流量监控设备识别结果;
[0105]7、将识别结果与预定标准值,进行比对;
[0106]8、判断本次流量监控设备识别是否正确,记录结果;
[0107]步骤404,生成报告,包括:整理测试数据;生成html测试报告。
[0108]与人工测试相比,本发明提供的自动测试方法和系统测试效果更加精准、测试过程快速高效、省时省力,可以7*24小时不间断测试。
[0109]以上所述的【具体实施方式】,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的【具体实施方式】而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种基于UFT的应用软件自动测试方法,其特征在于,所述方法包括以下步骤: 接收设置的待测试应用软件的协议类型与数量; 获得流量控制设备基础信息; 驱动待测试应用软件运行,完成指定操作; 从流量控制设备接口获取完成指定操作后的设备识别信息; 将获取的所述设备识别信息与预定义的标准值进行对比,判断该应用软件的流量是否识别正确,如不正确,给出测试不正确原因; 将本次测试结果记录到测试报告中。2.如权利要求1所述的方法,其特征在于, 所述待测试应用软件的协议类型,包括:测试的协议大类,测试的大类里的小类; 所述设备识别信息,包括:设定时间段内,设备识别出的协议,所述协议的会话数量和流量大小。3.如权利要求1所述的方法,其特征在于,所述不正确原因,包括: 误识别成其它软件协议、流量识别的过少、出现漏识别。4.如权利要求1所述的方法,其特征在于,所述驱动待测试应用软件运行,完成指定操作,包括: 通过UFT的对象识别和图像识别技术,编写VBS脚本,操作应用软件,完成指定操作。5.如权利要求1所述的方法,其特征在于,所述从流量控制设备接口获取完成指定操作后的设备识别信息,包括:调用采用python编写的程序从流量监控设备接口获取本次测试的设备识别信息。6.一种基于UFT的应用软件自动测试系统,其特征在于,所述系统包括: 接收模块,用于接收设置的待测试应用软件的协议类型与数量; 检测模块,用于获得流量控制设备基础信息; 驱动模块,用于驱动待测试应用软件运行,完成指定操作; 测试信息获取模块,用于从流量控制设备接口获取完成指定操作后的设备识别信息; 比较模块,用于将获取的所述设备识别信息与预定义的标准值进行对比,判断该应用软件的流量是否识别正确,如不正确,给出不正确原因; 记录模块,用于将本次测试结果记录到测试报告中。7.如权利要求6所述的系统,其特征在于, 所述接收模块,进一步用于接收测试的协议大类,测试的大类里的小类; 所述测试信息获取模块,进一步用于获取设定时间段内设备识别出的协议、所述协议的会话数量和流量大小。8.如权利要求6所述的系统,其特征在于, 所述比较模块,进一步用于给出误识别成其它软件协议、流量识别的过少、出现漏识别的测试不正确原因。9.如权利要求6所述的系统,其特征在于, 所述驱动模块,用于调用通过UFT的对象识别和图像识别技术编写的VBS脚本,操作应用软件,完成指定操作。10.如权利要求6所述的系统,其特征在于,所述测试信息获取模块,用于调用采用python编写的程序从流量监控设备接口获取完成指定操作后的设备识别信息。
【专利摘要】本发明提供了一种基于UFT的应用软件自动测试方法,所述方法包括以下步骤:接收设置的待测试应用软件的协议类型与数量;获得流量控制设备基础信息;驱动待测试应用软件运行,完成指定操作;从流量控制设备接口获取完成指定操作后的设备识别信息;将获取的所述设备识别信息与预定义的标准值进行对比,判断该应用软件的流量是否识别正确,如不正确,给出测试不正确原因;将本次测试结果记录到测试报告中。本发明通过模拟人工操作应用软件,驱动流量,自动从流量监控设备取出识别信息,将识别信息与预定标准值进行对比,自动判定测试结果,输出测试报告。本发明提高了协议识别测试领域的软件测试自动化水平,提高了工作效率。
【IPC分类】G06F11/36
【公开号】CN105487978
【申请号】CN201510861198
【发明人】李现强, 朱助, 王晓冬
【申请人】北京浩瀚深度信息技术股份有限公司
【公开日】2016年4月13日
【申请日】2015年12月1日

最新回复(0)