掌桥专利:专业的专利平台
掌桥专利
首页

一种自动测试方法和系统

文献发布时间:2023-06-19 10:29:05


一种自动测试方法和系统

技术领域

本发明涉及信息技术领域,特别是涉及一种自动测试方法和系统。

背景技术

随着互联网软件的蓬勃发展,软件的开发和测试显得尤为重要,其中,网络层面的功能测试往往是软件测试的主要部分。为降低软件测试的人力成本,提高测试的效率,开发人员往往采用现有的工具进行软件的自动化测试,如QTP(自动化测试工具Quick TestProfessional)、WinRunner等。而使用工具进行自动化测试,需要预先依据测试驱动在每一台客户机上手工搭建测试环境、安装测试工具、调试软件环境和网络环境等等,通过工具进行测试脚本的录制和回放,生成测试报告,实现软件的自动化测试。

而且目前的自动化测试中,使用工具编写的脚本往往也并不能直接使用,还需要反复执行、不断调试后才可以用于测试。针对一些测试需求变更频繁、项目周期短的软件,测试人员需要根据需求的变化来更新测试用例以及相关的测试脚本,甚至可能需要更换自动化测试的工具,导致依赖测试环境和测试工具的自动化测试脚本的维护难度大、人力成本高昂。

发明内容

为了解决上述问题,本发明实施例提出了一种自动测试方法和系统,旨在实现适配性强、易于调试的软件自动化测试。

本发明实施例提供了一种自动测试方法,所述方法包括:

编程端主机根据用户的本地化操作,对所述编程端主机本地的文本编辑器进行本地化,并将所述本地化后的文本编辑器作为脚本编辑器;

所述编程端主机获得用户在所述脚本编辑器中输入的针对目标软件的测试脚本,所述测试脚本至少包括所述目标软件的测试参数和针对测试端主机进行测试的配置参数;

所述编程端主机将所述测试脚本传输至所述测试端主机;

所述测试端主机执行所述测试脚本,根据所述配置参数对自身进行相应地配置,启动所述测试端主机本地的浏览器,并根据所述目标软件的测试参数和所述配置参数对所述目标软件进行测试,以实现对所述目标软件的自动化测试。

可选的,所述编程端主机获得所述目标软件的测试参数,包括以下步骤:

所述编程端主机根据用户输入的所述目标软件的测试地址,调用所述编程端主机本地的浏览器对所述目标软件的测试地址进行访问,获取所述目标软件的信息并展示,其中,所述目标软件的信息包括:页面元素对应的地址、页面元素对应的软件服务;

所述编程端主机获得用户根据所述目标软件的信息,在所述测试脚本中输入的所述目标软件的测试参数,其中,所述目标软件的测试参数至少包括:所述目标软件的测试时长、所述目标软件的页面元素以及所述目标软件对应的应用服务器提供的资源内容。

可选的,所述编程端主机获得针对测试端主机进行测试的配置参数,包括以下步骤:

所述编程端主机获取所述测试端主机的环境属性并展示;

所述编程端主机获得用户根据测试需求和所述测试端主机的环境属性,在所述测试脚本中输入的所述配置参数,所述配置参数包括:所述测试端主机本地的浏览器的驱动命令、浏览器运行时长、日志打印路径以及资源收集路径,其中,所述驱动命令至少包括浏览器启动命令、浏览器关闭命令。

可选的,所述方法还包括:

在所述测试端主机对所述目标软件进行测试的过程中,基于所述目标软件的测试参数中的所述目标软件对应的应用服务器提供的资源内容和所述配置参数中的资源收集路径,根据所述目标软件对应的应用服务器上程序的进程或所述进程所属的用户名,向所述应用服务器获取执行所述测试脚本所消耗的系统资源。

可选的,在所述测试端主机对所述目标软件进行测试的过程中,所述方法还包括:

所述测试端主机根据所述配置参数进行对自身进行相应地配置,根据所述测试端主机的文件目录结构,在指定文件目录下,生成目标存储文件夹;

根据所述目标存储文件夹的文件路径,在所述目标存储文件夹下存储所述目标软件的自动化测试的测试结果。

可选的,所述配置参数还包括资源获取时间间隔,所述资源获取时间间隔是所述测试端主机从应用服务器获取执行所述测试脚本所消耗的系统资源的时间间隔;所述方法还包括:

所述测试端主机根据所述资源获取时间间隔,定期向所述应用服务器获取在对所述目标软件进行测试的过程中所消耗的系统资源。

可选的,所述配置参数还包括测试启动时间,所述测试启动时间是所述测试端主机开始对所述目标软件进行测试的时间;

所述测试端主机执行所述测试脚本,根据所述配置参数进行对自身进行相应地配置,启动所述测试端主机本地的浏览器,并根据所述目标软件的测试参数和所述配置参数对所述目标软件进行测试,以实现对所述目标软件的自动化测试,包括:

根据所述测试启动时间,所述测试端主机定时执行所述测试脚本,所述测试端主机根据所述测试脚本对本地的浏览器配置完成后,启动所述测试端主机本地的浏览器,并根据所述目标软件的测试参数和所述配置参数进行测试,以实现对所述目标软件的定时自动化测试。

可选的,在所述测试端主机的数量是多台的情况下,所述编程端主机将所述测试脚本传输至所述测试端主机,包括:

所述编程端主机将所述测试脚本传输至多台测试端主机;

所述测试端主机执行所述测试脚本,包括:

所述多台测试端主机同步执行所述测试脚本,以实现对所述目标软件的自动化并行测试。

本发明实施例还提供了一种自动测试系统,所述系统包括:

环境设置单元,用于编程端主机根据用户的本地化操作,对所述编程端主机本地的文本编辑器进行本地化,并将所述本地化后的文本编辑器作为脚本编辑器;

脚本编写单元,用于所述编程端主机获得用户在所述脚本编辑器中输入的针对目标软件的测试脚本,所述测试脚本至少包括所述目标软件的测试参数和针对测试端主机进行测试的配置参数;

传输单元,用于所述编程端主机将所述测试脚本传输至所述测试端主机;

测试单元,用于所述测试端主机执行所述测试脚本,根据所述配置参数对自身进行相应地配置,启动所述测试端主机本地的浏览器,并根据所述目标软件的测试参数和所述配置参数对所述目标软件进行测试,以实现对所述目标软件的自动化测试。

可选的,所述系统还包括:

软件信息展示单元,用于所述编程端主机根据用户输入的所述目标软件的测试地址,调用所述编程端主机本地的浏览器对所述目标软件的测试地址进行访问,获取所述目标软件的信息并展示,其中,所述目标软件的信息包括:页面元素对应的地址、页面元素对应的软件服务;

测试参数输入单元,用于所述编程端主机获得用户根据所述目标软件的信息,在所述测试脚本中输入的所述目标软件的测试参数,其中,所述目标软件的测试参数至少包括:所述目标软件的测试时长、所述目标软件的页面元素以及所述目标软件对应的应用服务器提供的资源内容。

可选的,所述系统还包括:

环境展示单元,用于所述编程端主机获取所述测试端主机的环境属性并展示;

配置参数输入单元,用于所述编程端主机获得用户根据测试需求和所述测试端主机的环境属性,在所述测试脚本中输入的所述配置参数,所述配置参数包括:所述测试端主机本地的浏览器的驱动命令、浏览器运行时长、日志打印路径以及资源收集路径,其中,所述驱动命令至少包括浏览器启动命令、浏览器关闭命令。

可选的,所述系统还包括:

系统资源获取单元,用于在所述测试端主机对所述目标软件进行测试的过程中,基于所述目标软件的测试参数中的所述目标软件对应的应用服务器提供的资源内容和所述配置参数中的资源收集路径,根据所述目标软件对应的应用服务器上程序的进程或所述进程所属的用户名,向所述应用服务器获取执行所述测试脚本所消耗的系统资源。

可选的,在所述测试端主机对所述目标软件进行测试的过程中,所述系统还包括:

结果路径指定单元,用于所述测试端主机根据所述配置参数进行对自身进行相应地配置,根据所述测试端主机的文件目录结构,在指定文件目录下,生成目标存储文件夹;

测试结果获取单元,用于根据所述目标存储文件夹的文件路径,在所述目标存储文件夹下存储所述目标软件的自动化测试的测试结果。

可选的,所述配置参数还包括资源获取时间间隔,所述资源获取时间间隔是所述测试端主机从应用服务器获取执行所述测试脚本所消耗的系统资源的时间间隔;所述系统还包括:

资源定期获取单元,用于所述测试端主机根据所述资源获取时间间隔,定期向所述应用服务器获取在对所述目标软件进行测试的过程中所消耗的系统资源。

可选的,所述配置参数还包括测试启动时间,所述测试启动时间是所述测试端主机开始对所述目标软件进行测试的时间;所述系统还包括:

定时测试单元,用于根据所述测试启动时间,所述测试端主机定时执行所述测试脚本,所述测试端主机根据所述测试脚本对本地的浏览器配置完成后,启动所述测试端主机本地的浏览器,并根据所述目标软件的测试参数和所述配置参数进行测试,以实现对所述目标软件的定时自动化测试。

可选的,在所述测试端主机的数量是多台的情况下,所述系统还包括:

并行传输单元,用于所述编程端主机将所述测试脚本传输至多台测试端主机;

并行测试单元,用于所述多台测试端主机同步执行所述测试脚本,以实现对所述目标软件的自动化并行测试。

从上述技术方案可以看出,本发明实施例提供了一种自动测试方法和系统,本发明在本地化的通用的文本编辑器中,输入针对目标软件的测试参数和针对测试端主机进行测试的配置参数,完成测试脚本的开发和配置,上述方案脱离了测试环境和测试工具的应用限制,兼容搭载各类平台、系统的终端,能够实现适配性强、易于调试的软件自动化测试。

附图说明

图1是本发明实施例提供的一种自动测试方法的步骤流程图;

图2是本发明提供的一种多项脚本并行执行的运行示意图;

图3是本发明提供的一种整体测试环境的示意图;

图4是本发明实施例提供的一种自动测试系统的结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

对于如今的大部分应用软件来说,获取应用服务器提供的网络服务几乎是不可或缺的,因此,目前的软件自动化测试大都注重于软件的网络功能的可用性和性能。

目前的软件测试往往依赖于测试环境的搭建和测试工具的应用,也就是说,需要在每一台用于测试的客户机上进行繁冗的配置、安装和调试,才可以实现软件的自动化测试。而如今的软件测试几乎都是并行测试,需要多台主机同时进行测试,也就需要同时在多台主机上配置、安装和调试,这样的自动化测试方式增加了测试的人力成本和时间成本,严重影响自动化测试的效率。

面对各种工具自动编写的脚本,开发人员也需要根据脚本中的运行问题和测试需求的变更,在工具上对用于测试的主机进行逐台调试、更新测试用例,甚至需要更换不同的测试工具,不同的平台、系统对特定工具的使用也存在限制,还需要重新进行环境的配置、工具的安装、调试。目前自动化测试脚本的维护难度大,也进一步影响自动化测试的效率,违背了开发人员使用工具进行自动化测试提高测试效率的本意。

基于上述问题,本发明考虑提供一种不依赖特定的测试环境和测试工具,适配性强、易于调试的自动测试方法和系统,在编程端主机本地的通用的文本编辑器内编写测试脚本,并根据从本地浏览器获得的软件信息在测试脚本内设置目标软件的测试参数,以及,根据从测试端主机获得的测试端主机本地的环境信息在测试脚本内输入针对测试端主机进行测试的配置参数,最后在测试端主机执行所述测试脚本,实现软件的自动化测试。

下面将参考附图并结合实施例来详细说明本发明。

参照图1,图1是本发明实施例提供的一种自动测试方法的步骤流程图。如图1所示,所述方法具体包括如下步骤:

S31,编程端主机根据用户的本地化操作,对所述编程端主机本地的文本编辑器进行本地化,并将所述本地化后的文本编辑器作为脚本编辑器。

在相关技术中,测试工具是直接安装在用于测试的主机上的,开发人员也需要在用于测试的主机上的工具内对工具初步编写的脚本进行各种修改和调试,而各台测试的主机上的工具之间却并不能互通,使得开发人员需要对各台测试的主机进行逐台调试,效率低下。以及,各类测试工具往往基于不同的语言和方法逻辑,对测试主机的平台、系统均有各自的要求,各类测试工具之间编写的测试脚本也并不互相适用,进一步导致了当前软件自动化测试的应用不便、维护困难。

有鉴于此,本实施例考虑使用通用的文本编辑器作为脚本编辑器,在通用的文本编辑器编写测试脚本,不再依赖于测试环境的搭建,也不再基于测试工具进行脚本的开发和配置。

以及,考虑到所述测试脚本的通用特性,本实施例中将测试脚本的编写和软件的测试交由编程端主机和测试端主机分别执行,则可以在一台主机上对测试脚本进行统一开发和配置,而针对部分测试端主机的特定需求,也可以在测试端主机本地的文本编辑器内对测试脚本进行任意修改。

其中,可选的文本编辑器包括:记事本、Notepad++、word等。

S32,所述编程端主机获得用户在所述脚本编辑器中输入的针对目标软件的测试脚本,所述测试脚本至少包括所述目标软件的测试参数和针对测试端主机进行测试的配置参数。

在本实施例中,编程端主机可以接收用户对编程端主机本地的浏览器的调用指令,并通过所述浏览器访问目标软件的测试地址,获取目标软件的信息,以在测试脚本中输入所述目标软件的测试参数。

其中,所述目标软件,即,需要被测试的软件;所述目标软件的信息,即,目标软件对应的应用服务器为所述目标软件提供的信息。示例性的,比如软件登录页面的账号输入框、密码输入框,软件内页面的功能按钮、按钮对应的页面内容等等。

具体地,在本实施例中,所述编程端主机获得所述目标软件的测试参数,包括以下步骤:

所述编程端主机根据用户输入的所述目标软件的测试地址,调用所述编程端主机本地的浏览器对所述目标软件的测试地址进行访问,获取所述目标软件的信息并展示,其中,所述目标软件的信息包括:页面元素对应的地址、页面元素对应的软件服务;

所述编程端主机获得用户根据所述目标软件的信息,在所述测试脚本中输入的所述目标软件的测试参数,其中,所述目标软件的测试参数至少包括:所述目标软件的测试时长、所述目标软件的页面元素以及所述目标软件对应的应用服务器提供的资源内容。

其中,所述目标软件的测试时长是执行所述测试脚本,在目标软件对应的应用服务器中执行测试进程的访问时长。

其中,所述目标软件的测试时长可以是对软件的单项的Web功能的测试时长。示例性地,针对软件登录过程,可以设置测试时长为5秒,5秒后无论是否登录成功,均执行下一项测试。

在本实施例中,在编程端主机上获得所述目标软件的测试参数,并写入测试脚本,根据目标软件的特性设置目标软件的测试时长,并对目标软件预期获得的页面元素和资源内容进行录制,可以用于后续测试过程中参考比对。

示例性地,在编程端主机获取目标软件某一特定页面文字、图片、音视频、功能按钮共M项元素,则在后续脚本执行的测试过程中也应该在这一特定页面的测试中获取该M项元素,才能视为软件通过该项测试。

在本实施例中,由于在编程端主机进行测试脚本的编写,还可以获取测试端主机的本地环境属性,所述本地环境属性至少包括测试端主机的平台、系统、浏览器类型、浏览器版本等等,根据测试端主机的本地环境在所述测试脚本中输入配置参数,以便所述测试脚本对测试端主机本地的浏览器进行启动、访问测试地址、关闭、设置浏览器的运行时长等等。

其中,平台可以是Windows、Linux等等,系统可以具体为Windows XP、Windows 7、Windows 10等等,浏览器类型可以是Chrome、Firefox等等。

具体地,在本实施例中,所述编程端主机获得针对测试端主机进行测试的配置参数,包括以下步骤:

所述编程端主机获取所述测试端主机的环境属性并展示;

所述编程端主机获得用户根据测试需求和所述测试端主机的环境属性,在所述测试脚本中输入的所述配置参数,所述配置参数包括:所述测试端主机本地的浏览器的驱动命令、浏览器运行时长、日志打印路径以及资源收集路径,其中,所述驱动命令至少包括浏览器启动命令、浏览器关闭命令。

其中,所述浏览器的运行时长可以是浏览器从开启至关闭期间的时长。

在本实施例中,所述测试脚本可以命令所述测试端主机本地的浏览器模拟目标软件运行时发出的指令,对目标软件对应的应用服务器的特定的测试地址进行访问,包括目标软件的账号登录、页面元素的获取、账号退出登录等等,以实现对目标软件的各项Web功能的自动化测试。其中,账号登录、退出登录和页面元素的获取可以均批量执行。

其中,可以在编写脚本时使输入的所述配置参数支持多种浏览器,以避免频繁修改配置参数。

S33,所述编程端主机将所述测试脚本传输至所述测试端主机。

具体地,所述编程端主机与所述测试端主机预先建立网络连接或通过端口建立连接,将所述测试脚本传输至所述测试端主机的指定位置,而所述测试脚本在所述测试端主机的任意存储位置下,均可执行。

可选的,所述编程端主机可以将单项的测试脚本或全部的测试脚本传输至所述测试端主机。

示例性地,当编程端主机均为Linux主机时,可以选用SCP(secure copy远程拷贝)将所述测试脚本以文件的形式传输至所述测试端主机。

S34,所述测试端主机执行所述测试脚本,根据所述配置参数对自身进行相应地配置,启动所述测试端主机本地的浏览器,并根据所述目标软件的测试参数和所述配置参数对所述目标软件进行测试,以实现对所述目标软件的自动化测试。

在本实施例中,根据所述配置参数对自身进行相应地配置,包括:

根据所述测试端主机本地的浏览器的驱动命令,命令所述测试端主机本地的浏览器进行启动、关闭;

还可以根据所述浏览器运行时长使浏览器在运行指定的一段时间后自动关闭,进而使得完成目标软件的指定测试后能够自动退出浏览器;

其中,日志打印路径以及资源收集路径,可以使用HTML路径,以供所述测试端主机根据日志打印路径以及资源收集路径,从服务器指定的文件位置获取测试日志和系统资源,以便用户根据测试日志查看目标软件运行中出现的问题,了解测试的详细情况等。

其中,可以选择运行单项的测试脚本,执行单项的功能测试;也可以选择运行全部的测试脚本,执行全部的功能测试,所述测试脚本可以批量执行,即,同时执行多项功能测试。

参照图2,图2是本发明提供的一种多项脚本并行执行的运行示意图。如图2所示,将测试端主机作为客户端,将目标软件对应的应用服务器作为服务端;客户端可以并行执行包括脚本1、脚本2、脚本3、脚本4在内的多项脚本,要求服务端的对应测试地址提供相应的服务,同时收集服务器提供的系统资源。

示例性的,在执行单项测试脚本A以测试目标软件的页面A的功能和内容时,也可以同时执行单项测试脚本B,以测试目标软件的页面B的功能和内容。

在本实施例中,在测试需求的目标软件变更时,可以在编程端主机上主要对目标软件的测试参数进行更改即可;在测试需求的测试端主机变更时,可以在编程端主机上主要对针对测试端主机进行测试的配置参数进行更改即可。在调试完成后,编程端主机再将所述测试脚本发送至测试端主机,无需逐台调试和配置。因此,本实施例提供的方法能够实现易于调试的自动化测试。

通过上述实施例,本发明实施例不需要在特定的本地编写脚本和测试,不需要安装指定的测试工具和开发工具,也不需要配置被测软件环境,直接在本地化的通用的文本编辑器中,输入针对目标软件的测试参数和针对测试端主机进行测试的配置参数,不被开发工具、测试工具、环境以及脚本语言束缚,直接在本地通过文本编辑器进行脚本开发和脚本配置,来实现自动化测试,实现兼容各平台系统,易于调试的自动化测试。

参考图3,图3是本发明提供的一种整体测试环境的示意图。如图3所示,在本实施例中,可以在在编程端主机上进行本地化文本编辑器、测试脚本的开发、测试脚本的配置,编程端主机可以与测试端主机建立通信连接,测试端主机和编程端主机都可以与服务器建立通信连接。

其中,测试脚本的开发,即,对测试脚本框架的编写和基础功能的实现;测试脚本的配置,即,在所述测试脚本内输入所述目标软件的测试参数和针对测试端主机进行测试的配置参数。

结合上述实施例,在一种实施方式中,本发明还提供了一种获取服务器资源的方法,在对所述目标软件进行自动化测试的过程中,执行如下步骤:

在所述测试端主机对所述目标软件进行测试的过程中,基于所述目标软件的测试参数中的所述目标软件对应的应用服务器提供的资源内容和所述配置参数中的资源收集路径,根据所述目标软件对应的应用服务器上程序的进程或所述进程所属的用户名,向所述应用服务器获取执行所述测试脚本所消耗的系统资源。

具体地,本实施例可以通过截图的方式,从系统服务器获取执行所述测试脚本所消耗的系统资源,即目标软件的自动化测试时所消耗系统资源。

其中,所述系统资源可以包括:目标软件对应的应用服务器的当前任务数、队列任务数、CPU负载率、内存占用等。

通过本实施例,可以在进行软件自动化测试的同时,实时了解系统服务器的负载情况,以避免对所述目标软件的Web功能性和性能的误判。示例性地,若预设页面元素D的预期响应时长为150ms,但是在某一批测试中响应时长均大于500ms,这时候通过获知的所述系统资源了解到应用服务器为高负载状态,可能影响了软件的测试,则可以不记录目标软件不通过测试的测试结果,而是等待一段时间后重新测试。

结合上述实施例,在一种实施方式中,本发明还提供了一种存储测试结果的方法,具体包括:

在所述测试端主机对所述目标软件进行测试的过程中,所述方法还包括:

所述测试端主机根据所述配置参数进行对自身进行相应地配置,根据所述测试端主机的文件目录结构,在指定文件目录下,生成目标存储文件夹;

根据所述目标存储文件夹的文件路径,在所述目标存储文件夹下存储所述目标软件的自动化测试的测试结果。

在本实施例中,还可以通过设置配置参数,配置浏览器即时获取测试结果的时间间隔。比如,在测试过程中,每隔200ms请求获取一次测试结果。

其中,所述测试结果可以是自动与预期结果进行比对后的分析结果。示例性地,缺少了某一张图片或者缺少了某一个功能按钮等等。

通过本实施例,通过指定路径记录测试过程,以实现测试结果的自动存储。

结合上述实施例,在一种实施方式中,本发明还提供了一种定期获取服务器资源的方法,具体包括:

所述配置参数还包括资源获取时间间隔,所述资源获取时间间隔是所述测试端主机从应用服务器获取执行所述测试脚本所消耗的系统资源的时间间隔;所述方法还包括:

所述测试端主机根据所述资源获取时间间隔,定期向所述应用服务器获取在对所述目标软件进行测试的过程中所消耗的系统资源。

其中,所述资源获取时间间隔可以是100ms、200ms、300ms等等。根据时间间隔前后的系统资源的差异,即可以了解负载变化。

此外,所述系统资源获取时间间隔还可以根据单项脚本的测试时长确定,且获取资源的时间点可以与单项脚本的测试的时间点保持同步。

具体的,可以在单项脚本的测试前与测试时,分别从服务器获取两次系统资源。

通过本实施例,通过设置资源获取时间间隔,定期获取在对所述目标软件进行测试的过程中所消耗的系统资源,可以进一步了解因目标软件的测试引起的服务器负载变化,以此对软件进行调试。示例性地,当数百台测试端主机同时测试某一项需要大量计算的Web功能时,根据可以以此计算应用服务器执行该项功能的负载消耗。

示例性的,两次获取结果中CPU负载率分别为33%和35%,则可以了解到应用服务器在该次测试中消耗了服务器2%的CPU资源。

结合上述实施例,在一种实施方式中,本发明还提供了一种定时自动化测试的方法,具体包括:

所述配置参数还包括测试启动时间,所述测试启动时间是所述测试端主机开始对所述目标软件进行测试的时间;

所述测试端主机执行所述测试脚本,根据所述配置参数进行对自身进行相应地配置,启动所述测试端主机本地的浏览器,并根据所述目标软件的测试参数和所述配置参数对所述目标软件进行测试,以实现对所述目标软件的自动化测试,包括:

根据所述测试启动时间,所述测试端主机定时执行所述测试脚本,所述测试端主机根据所述测试脚本对本地的浏览器配置完成后,启动所述测试端主机本地的浏览器,并根据所述目标软件的测试参数和所述配置参数进行测试,以实现对所述目标软件的定时自动化测试。

具体的,类似于定时器的使用,可以在测试脚本中修改配置参数,设置测试启动时间。

通过本实施例,可以预设自动化测试的具体测试时间,使测试脚本在开发人员预期的时间内进行测试。

示例性地,为了使软件测试避开投用中的应用服务器被调用的高峰期,可以将进行自动化测试的时间设置为凌晨3点。

结合上述实施例,在一种实施方式中,本发明还提供了一种多台主机并行测试的方法,具体包括:

在所述测试端主机的数量是多台的情况下,所述编程端主机将所述测试脚本传输至所述测试端主机,包括:

所述编程端主机将所述测试脚本传输至多台测试端主机;

所述测试端主机执行所述测试脚本,包括:

所述多台测试端主机同步执行所述测试脚本,以实现对所述目标软件的自动化并行测试。

目前的软件测试基本以多台主机并行测试为主,在本实施例中,所述测试脚本调试完毕后,所述编程端主机可以同时将所述测试脚本传输至多台测试端主机,使多台测试端主机进行自动化并行测试。

通过上述实施例,本发明实现了以下有益效果:

(1)、本发明实施例提供的方法和系统不再依赖于特定的测试环境和工具,易于实现测试脚本在跨平台、跨系统的主机上的执行;

(2)、本发明实施例提供的方法和系统可以使用通用的文本编辑器,可以只在编程端主机编写和调试测试脚本,无需逐台编写和调试,而针对特殊情况也可以在测试端调试;

(3)、本发明实施例提供的方法和系统,兼容搭载各类平台、系统的终端,适配性强、易于调试。

参照图4,图4是本发明实施例提供的一种自动测试系统的结构框图。如图4所示,结合上述实施例,本发明实施例提供了一种自动测试系统,所述系统包括:

环境设置单元61,用于编程端主机根据用户的本地化操作,对所述编程端主机本地的文本编辑器进行本地化,并将所述本地化后的文本编辑器作为脚本编辑器;

脚本编写单元62,用于所述编程端主机获得用户在所述脚本编辑器中输入的针对目标软件的测试脚本,所述测试脚本至少包括所述目标软件的测试参数和针对测试端主机进行测试的配置参数;

传输单元63,用于所述编程端主机将所述测试脚本传输至所述测试端主机;

测试单元64,用于所述测试端主机执行所述测试脚本,根据所述配置参数对自身进行相应地配置,启动所述测试端主机本地的浏览器,并根据所述目标软件的测试参数和所述配置参数对所述目标软件进行测试,以实现对所述目标软件的自动化测试。

可选的,所述系统还包括:

软件信息展示单元,用于所述编程端主机根据用户输入的所述目标软件的测试地址,调用所述编程端主机本地的浏览器对所述目标软件的测试地址进行访问,获取所述目标软件的信息并展示,其中,所述目标软件的信息包括:页面元素对应的地址、页面元素对应的软件服务;

测试参数输入单元,用于所述编程端主机获得用户根据所述目标软件的信息,在所述测试脚本中输入的所述目标软件的测试参数,其中,所述目标软件的测试参数至少包括:所述目标软件的测试时长、所述目标软件的页面元素以及所述目标软件对应的应用服务器提供的资源内容。

可选的,所述系统还包括:

环境展示单元,用于所述编程端主机获取所述测试端主机的环境属性并展示;

配置参数输入单元,用于所述编程端主机获得用户根据测试需求和所述测试端主机的环境属性,在所述测试脚本中输入的所述配置参数,所述配置参数包括:所述测试端主机本地的浏览器的驱动命令、浏览器运行时长、日志打印路径以及资源收集路径,其中,所述驱动命令至少包括浏览器启动命令、浏览器关闭命令。

可选的,所述系统还包括:

系统资源获取单元,用于在所述测试端主机对所述目标软件进行测试的过程中,基于所述目标软件的测试参数中的所述目标软件对应的应用服务器提供的资源内容和所述配置参数中的资源收集路径,根据所述目标软件对应的应用服务器上程序的进程或所述进程所属的用户名,向所述应用服务器获取执行所述测试脚本所消耗的系统资源。

可选的,在所述测试端主机对所述目标软件进行测试的过程中,所述系统还包括:

结果路径指定单元,用于所述测试端主机根据所述配置参数进行对自身进行相应地配置,根据所述测试端主机的文件目录结构,在指定文件目录下,生成目标存储文件夹;

测试结果获取单元,用于根据所述目标存储文件夹的文件路径,在所述目标存储文件夹下存储所述目标软件的自动化测试的测试结果。

可选的,所述配置参数还包括资源获取时间间隔,所述资源获取时间间隔是所述测试端主机从应用服务器获取执行所述测试脚本所消耗的系统资源的时间间隔;所述系统还包括:

资源定期获取单元,用于所述测试端主机根据所述资源获取时间间隔,定期向所述应用服务器获取在对所述目标软件进行测试的过程中所消耗的系统资源。

可选的,所述配置参数还包括测试启动时间,所述测试启动时间是所述测试端主机开始对所述目标软件进行测试的时间;所述系统还包括:

定时测试单元,用于根据所述测试启动时间,所述测试端主机定时执行所述测试脚本,所述测试端主机根据所述测试脚本对本地的浏览器配置完成后,启动所述测试端主机本地的浏览器,并根据所述目标软件的测试参数和所述配置参数进行测试,以实现对所述目标软件的定时自动化测试。

可选的,在所述测试端主机的数量是多台的情况下,所述系统还包括:

并行传输单元,用于所述编程端主机将所述测试脚本传输至多台测试端主机;

并行测试单元,用于所述多台测试端主机同步执行所述测试脚本,以实现对所述目标软件的自动化并行测试。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本实施例中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本发明所提供的一种自动测试方法和系统,进行了详细介绍,本实施例中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

相关技术
  • 一种自动测试系统以及该测试系统所用的自动测试方法
  • 一种自动化攻击测试方法及基于此的自动化安全测试方法
技术分类

06120112568595