发明内容
本申请的目的在于提供一种基于网络的软件测试方法、客户端及待测试设备,用以解决传统的软件测试方法和测试装置手动执行繁琐、无法遍历待测试软件的所有控件以及无法实时查看测试数据的技术问题。
为了解决上述问题,本申请提供了基于网络的软件测试方法,应用于软件测试客户端侧,包括:
接收关键字段的输入,根据所述关键字段获取预设的软件设计模型对应的测试内容;
根据测试内容生成操作区配置在操作界面显示;
接收在操作界面输入的操作指令;
根据操作指令生成软件测试任务并将所述测试任务发送至待测试设备上;
接收所述待测试设备反馈的测试结果并保存。
本申请并提供一种基于网络的软件测试方法,应用于应用于待测试设备侧,包括:
接收所述软件测试任务,执行所述软件测试任务并生成测试结果,并将所述测试结果反馈至软件测试客户端。
本申请并提供一种基于网络的软件测试客户端,包括:
输入模块,用于接收关键字段的输入,根据所述关键字段获取预设的软件设计模型对应的测试内容;
操作界面模块,用于根据测试内容生成操作区配置在操作界面显示,并接收在操作界面输入的操作指令;
测试任务模块,用于根据操作指令生成软件测试任务并将所述测试任务发送至待测试设备上;
反馈信息处理模块,用于接收所述待测试设备反馈的测试结果并保存。
本申请并提供一种基于网络的软件待测试设备,所述设备上设有待测试应用软件,包括:测试任务处理模块,用于接收所述软件测试任务,执行所述软件测试任务并生成测试结果,反馈模块,用于将所述测试结果反馈至软件测试客户端。
与现有技术相比,本申请可以获得包括以下技术效果:
本申请提供的基于网络的软件测试方法、客户端及待测试设备通过网络抓包和/或硬件检测获取当前的网络连接模式,以获取多模式下软件测试的共性特征,根据共性特征的关键字段获取预设的软件设计模型对应的测试内容以生成自定义的、智能的测试任务,代替大部分手工操作,从而解决传统的软件测试方法和测试系统手动执行繁琐以及无法实时查看性能指标数据的技术问题,方便测试或开发人员实时监控被测应用软件的性能数据,节省了大部分手工测试时间,同时,还方便开发人员调试程序。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
实施例描述
如图2所示,图2是本申请实施例一的基于网络的软件测试方法的流程图。本申请实施例一提供一种基于网络的软件测试方法,应用于软件测试客户端侧,包括:
S1、接收关键字段的输入,根据所述关键字段获取预设的软件设计模型对应的测试内容;
首先,运行软件测试客户端的测试程序,该测试程序提供一操作入口供输入关键字段,所述关键字段可为测试人员自定义设置输入,也可为通过网络抓包和/或硬件检测获知当前的网络连接模式,根据网络连接模式生成的关键字段。网络抓包指的是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,目的是用来分析网络数据包的内容,通过分析网络抓包获取的网络数据包的内容提取关键字段,其中,网络抓包获取的网络数据包包括当前的网络环境信息,可通过网络数据包解析出使用的网络协议等以获取当前网络连接模式,如P2P模式、客户端模式、客户服务器模式等,通过分析多种模式的网络连接模式下的共性特征作为关键字段;也可通过硬件检测获取网络环境的信息,从该网络环境的信息中获知当前网络连接模式,通过分析多种模式的网络连接模式下的共性特征提取出关键字段,该网络环境信息包括带宽,稳定性,包的传输延时,传播时长,传输线路的距离,掉包率和干扰级别,设备相关参数等信息等。
通过输入的关键字段可以获取与关键字段对应的软件设计模型中的测试内容,该软件设计模型为预先设定,可以为软件瀑布开发设计模型,V设计模型等,每种软件设计模型把测试分成集成测试,分布测试和单元测试等若干模块,也可以说每种软件设计模型对应一种测试方案,测试方案可分解为测试单元和自定义的测试规范;软件设计模型中的每个模块或测试单元对应一测试内容。
S2、根据测试内容生成一操作区配置在一操作界面显示;
通过输入的关键字段获取到对应的测试内容时,根据测试内容生成操作区,可提供通过微软的spy++抓取界面操作区,同时将该操作区配置在操作界面上显示且可实现选中等操作。
S3、接收在操作界面输入的操作指令;
根据待测试应用软件的需要在操作界面上配置测试内容以形成一套符合要求的测试方案,该操作界面为QT界面,QT界面是由一个跨平台C++图形用户界面应用程序开发框架开发的GUI程序,是面向对象的框架,易于扩展,允许组件编程使用特殊的代码生成扩展(称为元对象编译器(MetaObjectCompiler,moc))以及一些宏。
在QT界面上设有应用软件的测试项,也设置有通过关键字段获取的测试内容选项,通过选中、排序等操作触发一系列操作指令,接收并响应所述输入的操作指令完成测试内容的选择以形成一测试方案。
S4、根据操作指令生成软件测试任务并将所述测试任务发送至待测试设备上;
通过在QT界面上输入操作指令配置应用软件的测试项和与关键字段对应的软件设计模型中的测试内容以完成一项测试方案,根据该测试方案生成测试任务,将该测试任务发送至安装有待测试应用软件的待测试设备上。
其中,该测试任务还包括漏洞扫描任务,用于扫描应用软件是否存在漏洞,可通过Nessus,NeXpose,Dradis等工具进行漏洞扫描。
其中,在完成测试方案之后,根据测试方案分析软件测试任务的可行性,根据分析结果生成软件测试任务,若软件测试客户端与服务器端为客户服务器模式,则分析软件测试任务的可行性可在客户端,也可在服务器端进行,当服务器分析软件测试任务的可行性完成后,将分析结果反馈至软件测试客户端。
S5、接收所述待测试设备反馈的测试结果并保存。
当待测试应用软件根据测试任务测试完成后,生成一份测试结果报告并反馈至软件测试客户端,软件测试客户端接收该测试结果进行保存。
本申请实施例一通过自定义设置关键字段及预设的软件设计模型对应的测试内容以生成自定义的、智能的测试任务,代替大部分手工操作,从而解决传统的软件测试方法和测试系统手动执行繁琐以及无法实时查看性能指标数据的技术问题,节省了大部分手工测试时间,同时,还方便开发人员调试程序。
如图3所示,本申请实施例二提供一种基于网络的软件测试方法,应用于软件测试客户端侧,基于上述实施例一的基础上还包括:
S0、通过网络抓包和/或硬件检测获取当前的网络连接模式,根据获取的网络连接模式生成关键字段;
在接收关键字段的输入之前,还可以通过网络抓包和/或硬件检测获知当前的网络连接模式,根据网络连接模式生成的关键字段。网络抓包指的是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,目的是用来分析网络数据包的内容,通过分析网络抓包获取的网络数据包的内容提取关键字段,其中,网络抓包获取的网络数据包包括当前的网络环境信息,可通过网络数据包解析出使用的网络协议等以获取当前网络连接模式,如P2P模式、客户端模式、客户服务器模式等,网络连接模式通过分析多种模式的网络连接模式下的共性特征作为关键字段;也可通过硬件检测获取网络环境的信息,从该网络环境的信息中获知当前网络连接模式,通过分析多种模式的网络连接模式下的共性特征提取出关键字段,该网络环境信息包括带宽,稳定性,包的传输延时,传播时长,传输线路的距离,掉包率和干扰级别,设备相关参数等信息等。
其中,所述关键字段为多模式下软件测试的共性特征,所述多种模式包括P2P模式、客户端模式、客户服务器模式等网络连接模式。
本申请实施例二通过网络抓包和/或硬件检测获取关键字段与自定义设置关键字段相结合的方式更准确的得到关键字段,通过上述两种方式得到的关键字段与预设的软件设计模型对应的测试内容以生成自定义的、智能的测试任务,代替大部分手工操作,从而解决传统的软件测试方法和测试系统手动执行繁琐的技术问题,节省了大部分手工测试时间,同时,还方便开发人员调试程序。
如图4所示,本申请实施例三提供一种基于网络的软件测试方法,应用于软件测试客户端侧,基于上述实施例一的基础上还包括:
S6、记录测试过程以生成日志信息并保存;
根据实施例一的步骤完成一次测试时,记录本次测试完成的过程以生成日志信息并保存,记录测试过程可在软件测试客户端进行,也可通过使用log4cxx日志服务器完成。
S7、对日志信息进行统计分析,将所述分析结果通过短信发送和/或消息栏显示的方式进行反馈;
将保存的日志信息进行统计分析,以分析当前的测试进展状态、是否存在异常退出或控件无响应或等,并将所述分析的结果反馈至测试人员以便测试人员能准确、快速获取测试进展,及时采取措施;反馈测试结果的方式可以通过手机短信、推送消息、消息栏提醒等。
本申请实施例三在通过记录测试过程形成日志信息,对日志信息进行分析并提醒,从而解决传统的软件测试方法和测试系统无法实时查看性能指标数据的技术问题,方便测试或开发人员实时监控被测应用软件的性能数据,还方便开发人员调试程序。
如图5所示,本申请实施例四提供一种基于网络的软件测试方法,应用于待测试设备,包括:
S10、接收所述软件测试任务;
所述待测试设备为设置有待测试应用软件的终端设备,可以是服务器,也可以是智能移动终端。待测试设备监听接入的局域网或广域网的网络接口,当监听到有数据推送时,接收所述数据并进行解析。
进一步地,在接收所述软件测试任务之前
S20、执行所述软件测试任务并生成测试结果;
当接收的数据解析为软件测试客户端发送的软件测试任务时,进一步解析该软件测试任务并按该软件测试任务逐一执行测试,测试完毕后生成一份测试结果报告。
S30、将所述测试结果反馈至软件测试客户端。
通过接入的局域网或广域网将所述测试结果反馈至软件测试客户端。
本申请实施例四通过自定义设置关键字段及预设的软件设计模型对应的测试内容以生成自定义的、智能的测试任务,代替大部分手工操作,从而解决传统的软件测试方法和测试系统手动执行繁琐以及无法实时查看性能指标数据的技术问题,节省了大部分手工测试时间,同时,还方便开发人员调试程序。
如图6所示,图6是本申请实施例一的基于网络的软件测试客户端的框架示意图。本申请实施例一提供一种基于网络的软件测试客户端,包括:
输入模块,用于接收关键字段的输入,根据所述关键字段获取预设的软件设计模型对应的测试内容;
操作界面模块,用于根据测试内容生成一操作区配置在一操作界面显示,并接收在操作界面输入的操作指令;
测试任务生成模块,用于根据操作指令生成软件测试任务并将所述测试任务发送至待测试设备上;进一步地,所述测试任务生成模块还包括测试方案分析单元,用于根据测试方案分析软件测试任务的可行性,根据分析结果生成软件测试任务。进一步地,所述测试任务生成模块还包括漏洞扫描模块,用于扫描应用软件是否存在漏洞。
反馈信息处理模块,用于接收所述待测试设备反馈的测试结果并保存。
首先,运行软件测试客户端的测试程序,该测试程序提供一操作入口供输入关键字段,输入模块中输入的所述关键字段可为测试人员自定义设置输入,也可为通过网络抓包和/或硬件检测获知当前的网络连接模式,根据网络连接模式生成的关键字段。网络抓包指的是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,目的是用来分析网络数据包的内容,通过分析网络抓包获取的网络数据包的内容提取关键字段,其中,网络抓包获取的网络数据包包括当前的网络环境信息,可通过网络数据包解析出使用的网络协议等以获取当前网络连接模式,如P2P模式、客户端模式、客户服务器模式等,通过分析多种模式的网络连接模式下的共性特征作为关键字段;也可通过硬件检测获取网络环境的信息,从该网络环境的信息中获知当前网络连接模式,通过分析多种模式的网络连接模式下的共性特征提取出关键字段,该网络环境信息包括带宽,稳定性,包的传输延时,传播时长,传输线路的距离,掉包率和干扰级别,设备相关参数等信息等。
通过输入的关键字段可以获取与关键字段对应的软件设计模型中的测试内容,该软件设计模型为预先设定,可以为软件瀑布开发设计模型,V设计模型等,每种软件设计模型把测试分成集成测试,分布测试和单元测试等若干模块,也可以说每种软件设计模型对应一种测试方案,测试方案可分解为测试单元和自定义的测试规范;软件设计模型中的每个模块或测试单元对应一测试内容。
通过输入的关键字段获取到对应的测试内容时,操作模块根据测试内容生成操作区,可提供通过微软的spy++抓取界面操作区,同时将该操作区配置在操作界面上显示且可实现选中等操作。
操作界面模块设有应用软件的测试项,也设置有通过关键字段获取的测试内容选项,通过选中、排序等操作触发一系列操作指令,接收并响应所述输入的操作指令完成测试内容的选择以形成一测试方案。
通过在操作界面模块生成的QT界面上输入操作指令配置应用软件的测试项和与关键字段对应的软件设计模型中的测试内容以完成一项测试方案,测试任务生成模里根据该测试方案生成测试任务,将该测试任务发送至安装有待测试应用软件的待测试设备上。
其中,该测试任务还包括漏洞扫描任务,用于扫描应用软件是否存在漏洞,可通过Nessus,NeXpose,Dradis等工具进行漏洞扫描。
测试任务生成模块包括:方案生成单元,用于接收在操作界面配置应用软件的测试项及与软件设计模型对应的测试内容而输入的操作指令以形成测试方案;任务生成单元,用于根据测试方案分析软件测试任务的可行性,根据分析结果生成软件测试任务。
其中,在完成测试方案之后,根据测试方案分析软件测试任务的可行性,根据分析结果生成软件测试任务,若软件测试客户端与服务器端为客户服务器模式,则分析软件测试任务的可行性可在客户端,也可在服务器端进行,当服务器分析软件测试任务的可行性完成后,将分析结果反馈至软件测试客户端。
当待测试应用软件根据测试任务测试完成后,生成一份测试结果报告并反馈至软件测试客户端,软件测试客户端的反馈信息处理模块接收该测试结果进行保存。
本申请实施例一通过自定义设置关键字段及预设的软件设计模型对应的测试内容以生成自定义的、智能的测试任务,代替大部分手工操作,从而解决传统的软件测试方法和测试系统手动执行繁琐以及无法实时查看性能指标数据的技术问题,节省了大部分手工测试时间,同时,还方便开发人员调试程序。
如图7所示,图7是本申请实施例二的基于网络的软件测试客户端的框架示意图。本申请实施例二提供一种基于网络的软件测试客户端,在实施例一的基础上还包括:
获取模块,用于通过网络抓包和/或硬件检测获取当前的网络连接模式,根据获取的网络连接模式生成关键字段,其中,所述关键字段为多模式下软件测试的共性特征。
本申请实施例二通过网络抓包和/或硬件检测获取关键字段与自定义设置关键字段相结合的方式更准确的得到关键字段,通过上述两种方式得到的关键字段与预设的软件设计模型对应的测试内容以生成自定义的、智能的测试任务,代替大部分手工操作,从而解决传统的软件测试方法和测试系统手动执行繁琐以的技术问题,节省了大部分手工测试时间,同时,还方便开发人员调试程序。
如图8所示,图8是本申请实施例三的基于网络的软件测试客户端的框架示意图。本申请实施例三提供一种基于网络的软件测试客户端,在实施例一的基础上还包括:
日志信息模块,用于记录测试过程以生成日志信息并保存;还用于对日志信息进行统计分析,将所述分析结果通过短信发送和/或消息栏显示的方式进行反馈。
本申请实施例三在通过记录测试过程形成日志信息,对日志信息进行分析并提醒,从而解决传统的软件测试方法和测试系统无法实时查看性能指标数据的技术问题,方便测试或开发人员实时监控被测应用软件的性能数据,还方便开发人员调试程序。
如图9所示,图9是本申请实施例四的基于网络的软件待测试设备的框架示意图。本申请实施例四提供一种基于网络的待测试设备,包括:测试任务处理模块,用于接收所述软件测试任务,执行所述软件测试任务并生成测试结果;反馈模块,用于将所述测试结果反馈至软件测试客户端。
上述说明示出并描述了本申请的若干优选实施例,但如前所述,应当理解本申请并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本申请的精神和范围,则都应在本申请所附权利要求的保护范围内。