一种软件测试系统及方法.pdf

上传人:t**** 文档编号:1630578 上传时间:2018-06-30 格式:PDF 页数:12 大小:946.93KB
返回 下载 相关 举报
摘要
申请专利号:

CN201410757945.8

申请日:

2012.03.02

公开号:

CN104360952A

公开日:

2015.02.18

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 11/36申请日:20120302|||公开

IPC分类号:

G06F11/36

主分类号:

G06F11/36

申请人:

北京奇虎科技有限公司; 奇智软件(北京)有限公司

发明人:

张钊

地址:

100088北京市西城区新街口外大街28号D座112室(德胜园区)

优先权:

专利代理机构:

北京国昊天诚知识产权代理有限公司11315

代理人:

许志勇

PDF下载: PDF下载
内容摘要

本发明公开了一种软件测试系统及方法,所述系统包括一台或多台阵列服务器,用于存储对应于不同测试环境的虚拟镜像文件,所述测试环境包括操作系统及对应的应用程序;一台或多台测试服务器;中心服务器,用于接收并存储待测试软件及待测试的测试环境信息,并根据所述测试环境信息将存储于阵列服务器中的对应的虚拟镜像文件加载并运行于一台或多台测试服务器中;通讯模块,用于随虚拟镜像文件加载并运行于对应的测试服务器中,与中心服务器通讯,从中心服务器下载待测试软件,并在测试服务器中运行该待测试软件。本发明在整个测试过程中无需测试人员参与,免除了很多人工操作,同时测试机与测试环境无需一一对应,实现比较灵活。

权利要求书

权利要求书
1.  一种软件测试系统,包括:
一台或多台阵列服务器,用于存储对应于不同测试环境的虚拟镜像文件,所述测试环境包括操作系统及对应的应用程序;
一台或多台测试服务器,用于执行测试;
中心服务器,用于接收并存储待测试软件及待测试的测试环境信息,并根据所述测试环境信息将存储于阵列服务器中的对应的虚拟镜像文件加载并运行于一台或多台测试服务器中;
通讯模块,用于随虚拟镜像文件加载并运行于对应的测试服务器中,与中心服务器通讯,从中心服务器下载待测试软件,并在测试服务器中运行该待测试软件。

2.  如权利要求1所述的系统,其特征在于,所述通讯模块,进一步用于在待测试软件执行完毕后关闭该待测试软件,重启对应的测试服务器中运行的操作系统,同时向中心服务器发送第一次通知,并在重启成功后向中心服务器发送第二次通知;
所述中心服务器,如果在收到所述第一次通知后的预定时间间隔内未收到第二次通知,则记录对应的测试服务器中运行的测试环境信息。

3.  如权利要求1所述的系统,其特征在于,所述通讯模块,进一步用于在所述待测试软件运行过程中与中心服务器保持心跳连接;
所述中心服务器,如果侦测到与所述通讯模块的心跳连接中断,则记录对应的测试服务器中运行的测试环境信息。

4.  如权利要求1所述的系统,其特征在于,所述通讯模块存储于所述阵列服务器中,且所述不同的操作系统分别对应有相匹配的通讯模块,随虚拟镜像文件加载并运行于对应的测试服务器中。

5.  如权利要求2或3所述的系统,其特征在于,所述中心服务器在记录对应的测试服务器中运行的测试环境信息后,进一步用于执行对应测试环境的增量备份或镜像还原。

6.  如权利要求1所述的系统,其特征在于,所述中心服务器根据测试服务器的负载状态,将对应的虚拟镜像文件加载并运行于一台或多台选定的测试服务器中;所述中心服务器判断测试服务器负载状态的指标包括CPU使用率,内存使用率,硬盘吞吐量,和/或当前协议连接数。

7.  如权利要求1所述的系统,其特征在于,所述中心服务器进一步用于为不同测试环境分配不同的权值,并将权值高的测试环境对应的虚拟镜像文件优先加载并运行于测试服务器中。

8.  如权利要求7所述的系统,其特征在于,所述中心服务器进一步用于将当前权值最高的测试环境对应的虚拟镜像文件对应加载至当前负载状态最轻的测试服务器中运行。

9.  一种软件测试方法,包括:
提供一台或多台阵列服务器,以存储对应于不同测试环境的虚拟镜像文件,所述测试环境包括操作系统及对应的应用程序;
提供一台或多台测试服务器,以执行测试;
提供至少一台中心服务器,以接收并存储待测试软件及待测试的测试环境信息,并根据所述测试环境信息将存储于阵列服务器中的对应的虚拟镜像文件加载并运行于一台或多台测试服务器中;
提供一通讯模块,随虚拟镜像文件加载并运行于对应的测试服务器中,与中心服务器通讯,从中心服务器下载待测试软件,并在测试服务器中运行该待测试软件。

10.  如权利要求9所述的方法,其特征在于,所述通讯模块在待测试软件执行完毕后关闭该待测试软件,重启对应的测试服务器中运行的操作系统,同时向中心服务器发送第一次通知,并在重启成功后向中心服务器发送第二次通知;
所述中心服务器如果在收到所述第一次通知后的预定时间间隔内未收到第二次通知,则记录对应的测试服务器中运行的测试环境信息。

说明书

说明书一种软件测试系统及方法
技术领域
本发明涉及计算机技术领域,尤其涉及一种软件测试系统及方法。
背景技术
现有的软件测试系统,出于兼容性的考虑,需要准备相当多的测试环境来进行测试,而每种测试环境都需要独立的安装并运行于一台计算机中,以对应进行测试,并需要手工记录各种测试结果,工作量很大。
特别是对于一些操作系统的补丁程序,例如,当微软发布某些补丁时,对于安全产品的开发团队来说,为了保障这些补丁可以正常的安全的运行于用户计算机中,就需要开发团队快速测试这些当期发布的补丁在各种操作系统(例如xp sp2,xp sp3,vista,win732的各种版本,win764的各种版本,2000,2003server,2008server等)或各种应用程序环境(安装有office 32或子版本,office 64,adobe各版本,flash各版本等)下是否可以正常安装补丁,确保安装过程中或安装重启后不出现蓝屏等问题。
通常情况下,测试人员会针对上述各环境遍历测试这些新补丁安装情况,若出现安装异常(如蓝屏)需记录,并提交给漏洞库组修改补丁条件以屏蔽该环境的补丁安装。
由此可见,现有的软件测试需要大量的测试人员才能完成,而且需要测试机与环境一一对应,只能测完一个再测另一个,测试效率比较低。
发明内容
本发明所要解决的技术问题在于提供一种软件测试系统及方法,以改善软件测试过程中的工作效率。
为解决上述技术问题,本发明提供一种软件测试系统,包括:
一台或多台阵列服务器,用于存储对应于不同测试环境的虚拟镜像文件,所述测试环境包括操作系统及对应的应用程序;
一台或多台测试服务器,用于执行测试;
中心服务器,用于接收并存储待测试软件及待测试的测试环境信息,并根据所述测试环境信息将存储于阵列服务器中的对应的虚拟镜像文件加载并运行于一台或多台测试服务器中;
通讯模块,用于随虚拟镜像文件加载并运行于对应的测试服务器中,与中心服务器通讯,从中心服务器下载待测试软件,并在测试服务器中运行该待测试软件。
本发明另提供一种软件测试方法,包括:
提供一台或多台阵列服务器,以存储对应于不同测试环境的虚拟镜像文件,所述测试环境包括操作系统及对应的应用程序;
提供一台或多台测试服务器,以执行测试;
提供至少一台中心服务器,以接收并存储待测试软件及待测试的测试环境信息,并根据所述测试环境信息将存储于阵列服务器中的对应的虚拟镜像文件加载并运行于一台或多台测试服务器中;
提供一通讯模块,随虚拟镜像文件加载并运行于对应的测试服务器中,与中心服务器通讯,从中心服务器下载待测试软件,并在测试服务器中运行该待测试软件。
本发明在整个测试过程中无需测试人员参与,免除了很多人工操作,同时测试机与测试环境无需一一对应,实现比较灵活,同时,测试时由中心服务器自动判断测试服务器的负载性能,从而可实现并行测试。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明的实施例所示的软件测试系统示意图。
图2为根据本发明实施例所述的软件测试方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例首先需要搭建一云计算测试环境,如图1所示,为根据本发明的实施例所示的软件测试系统示意图,包括多台阵列服务器101,多台测试服务器102,中心服务器103及通讯模块104,通过云端中心服务器103的统一控制,可实现无人值守的测试任务自动化执行,极大的提高了测试效率,其中:
所述阵列服务器101,用于存储对应于不同测试环境的虚拟镜像文件,所述测试环境包括操作系统及对应的应用程序;
所述测试服务器102,用于执行测试;
所述中心服务器103,用于接收并存储待测试软件及待测试的测试环境信息,并根据测试环境信息将存储于阵列服务器中的对应的虚拟镜像文件加载并运行于一台或多台测试服务器中;
所述通讯模块104,用于随虚拟镜像文件一同加载并运行于对应的测试服务器中,与中心服务器通讯,从中心服务器下载待测试软件,并在测试服务器中运行该待测试软件。
利用本发明实施例的测试系统,可以在云中自定义添加多台测试服务器,在测试过程中也可随时添加新的测试服务器,无论是是一台还是多台,也无论是是空闲或任务繁忙,都可以很好的执行测试任务。
各种操作系统及应用程序的虚拟镜像均可以保存在云中阵列服务器中,无需和测试服务器一一对应。
所述通讯模块104可以存储于任何位置,但优选存储于所述阵列服务器 101中,且所述不同的操作系统可分别对应有相匹配的通讯模块,随虚拟镜像文件一同加载并运行于对应的测试服务器中。实际上,通讯模块104可以整合于对应的操作系统中,与操作系统同时存储,同时加载并运行于对应的测试服务器中。
所述通讯模块104,可以在待测试软件执行完毕后关闭该待测试软件,重启对应的测试服务器中运行的操作系统,同时向中心服务器发送第一次通知,并在重启成功后向中心服务器发送第二次通知;
所述中心服务器103,如果在收到所述第一次通知后的预定时间间隔内未收到第二次通知,则记录对应的测试服务器中运行的测试环境信息。
其中,所述第一次通知的作用是通知中心服务器当次测试执行完毕,表示在整个测试过程中没有发生什么意外而造成测试终止的情况,这主要是因为在打某些不兼容补丁时,有可能在补丁程序执行过程中就出现了蓝屏等意外情况,因此有必要发送第一次通知以确认在执行过程中未发生意外终止的情况。但第一次通知并不意味着测试成功,还需要进行一次重启过程,重启成功后发送第二次通知,以表明系统在进行测试后可正常重启,这主要是因为打某些不兼容补丁时有可能在重启过程中造成系统报错从而造成进入不了系统的情况。
此外,所述预定时间间隔可以是在测试时提交的测试信息的配置中进行设置,该值可由过去测试经验计算得出,例如上几次测试过程中所记录的测试完毕到整个重启过程完毕的时间。一开始时可设置为最慢的测试服务器打补丁完成后到重启完毕所用的时间,也可以通过事先手动做一次测试来评估此间隔时间。
所述通讯模块104,可以在所述待测试软件运行过程中始终与中心服务器保持心跳连接;
所述中心服务器103,如果侦测到与所述通讯模块的心跳连接中断,则记录对应的测试服务器中运行的测试环境信息。
所述中心服务器103在记录对应的测试服务器中运行的测试环境信息后,进一步用于执行对应测试环境的增量备份或镜像还原。
所述中心服务器103根据测试服务器的负载状态,将对应的虚拟镜像文件加载并运行于一台或多台选定的测试服务器中。
所述中心服务器103可进一步用于为不同测试环境分配不同的权值,并将权值高的测试环境对应的虚拟镜像文件优先加载并运行于测试服务器中。
权值分配可根据不同应用环境在现实中被用户使用的多少来配置,例如对于xp sp3,win7 32sp1,win7 64sp1等现实中用户所使用最多的系统即可分配较高的权值。
所述中心服务器103还可进一步用于将当前权值最高的测试环境对应的虚拟镜像文件对应加载至当前负载状态最轻的测试服务器中运行。
如图2所示,为根据本发明实施例所述的软件测试方法流程图,首先提供一台或多台阵列服务器,以存储对应于不同测试环境的虚拟镜像文件,所述测试环境包括操作系统及对应的应用程序(步骤201);提供一台或多台测试服务器,以执行测试(步骤202);提供至少一台中心服务器,以接收并存储待测试软件及待测试的测试环境信息,并根据测试环境信息将存储于阵列服务器中的对应的虚拟镜像文件加载并运行于一台或多台测试服务器中(步骤203);提供一通讯模块,随虚拟镜像文件一同加载并运行于对应的测试服务器中,与中心服务器通讯,从中心服务器下载待测试软件,并在测试服务器中运行该待测试软件(步骤204)。
其中,所述通讯模块在待测试软件执行完毕后关闭该待测试软件,重启对应的测试服务器中运行的操作系统,同时向中心服务器发送第一次通知,并在重启成功后向中心服务器发送第二次通知;
所述中心服务器如果在收到所述第一次通知后的预定时间间隔内未收到第二次通知,则记录对应的测试服务器中运行的测试环境信息。
此外,所述通讯模块在所述待测试软件运行过程中始终与中心服务器保持心跳连接;
所述中心服务器如果侦测到与所述通讯模块的心跳连接中断,则记录对应的测试服务器中运行的测试环境信息。
所述通讯模块可以存储于所述阵列服务器中,且所述不同的操作系统分 别对应有相匹配的通讯模块,随虚拟镜像文件一同加载并运行于对应的测试服务器中。
所述中心服务器在记录对应的测试服务器中运行的测试环境信息后,也就是说侦测到心跳连接中断或没收到第二次通知后,可进一步执行对应测试环境的增量备份或镜像还原,以恢复测试环境。
所述中心服务器可根据测试服务器的负载状态,将对应的虚拟镜像文件加载并运行于一台或多台选定的测试服务器中。
此外,还可以为不同测试环境分配不同的权值,所述中心服务器将权值高的测试环境对应的虚拟镜像文件优先加载并运行于测试服务器中。
还可以将当前权值最高的测试环境对应的虚拟镜像文件对应加载至当前负载状态最轻的测试服务器中运行。
例如,利用本发明对系统补丁程序进行测试时,测试者可以在测试前通过中心服务器的web页面提交本次测试的新的漏洞库、此次需要打补丁的清单、需要测试的环境信息,中心服务器接收到提交的测试信息后,可首先判断测试服务器的负载状态,其负载均衡算法可以是:
计算各测试服务器的CPU或内存大小并分配不同的权值,并根据当前各测试服务器n分钟CPU使用率,内存使用率,硬盘I/O吞吐量及当前协议连接数(TCP连接数或SOCKET连接数等能区分网络繁忙程度的指标)等指标转换计算获得一数值a,并与平均使用率阀值b比较,当大于b时则认为是可分配任务的测试服务器,然后再跟据各服务器权值,由高到低分配。
同样,对包含不同操作系统OS的各测试环境的虚拟镜像也分配不同权值,权值高的优先去执行测试。
这样,中心服务器就可以选择高权重的测试服务器优先加载高权值的镜像开始执行打补丁测试。
然后,由于镜像文件中包含有通讯模块,当操作系统启动后,通讯模块的通信程序也同时启动运行,从中心服务器下载最新的漏洞修复程序,下载后会根据修复策略进行漏洞修复,修复过程中,通讯模块与中心服务器始终保持心跳连接,该连接用于判断修复过程中系统是否正常,一旦心跳连接中 断则说明该漏洞修复程序的执行导致系统异常,应将该测试服务器中运行的测试环境信息进行记录。
如果漏洞修复过程正常,在修复完毕后将漏洞修复程序退出,由通讯模块控制操作系统重启,同时发送通知1给中心服务器,重启成功后,通讯模块再发送通知2给中心服务器。如果中心服务器在收到通知1后的一定时间内仍未收到通知2,则可以认为系统可能出现蓝屏,应将该测试服务器中运行的测试环境信息进行记录。
如此,中心服务器就可以及时的将记录的统计修复结果保存下来,提供给测试人员查询。如果根据记录发现出现测试异常,还可以自动执行镜像文件的追加备份或还原,以恢复测试环境。
应用本发明的实施例,通过云计算,运用中心服务器与测试服务器之间的自通信检测修复确认无异常机制,可实现无人值守的自动化快速测试方案。
以上实施例仅以漏洞补丁程序的测试为例对本发明进行了说明,但本发明的技术方案同样适用于其他类型的软件测试需求,本发明对此不作限制。
本发明的实施例公开了:
A1、一种软件测试系统,包括:
一台或多台阵列服务器,用于存储对应于不同测试环境的虚拟镜像文件,所述测试环境包括操作系统及对应的应用程序;
一台或多台测试服务器,用于执行测试;
中心服务器,用于接收并存储待测试软件及待测试的测试环境信息,并根据所述测试环境信息将存储于阵列服务器中的对应的虚拟镜像文件加载并运行于一台或多台测试服务器中;
通讯模块,用于随虚拟镜像文件加载并运行于对应的测试服务器中,与中心服务器通讯,从中心服务器下载待测试软件,并在测试服务器中运行该待测试软件。
A2、如权利要求A1所述的系统,其特征在于,所述通讯模块,进一步用于在待测试软件执行完毕后关闭该待测试软件,重启对应的测试服务器中运行的操作系统,同时向中心服务器发送第一次通知,并在重启成功后向中 心服务器发送第二次通知;
所述中心服务器,如果在收到所述第一次通知后的预定时间间隔内未收到第二次通知,则记录对应的测试服务器中运行的测试环境信息。
A3、如权利要求A1所述的系统,其特征在于,所述通讯模块,进一步用于在所述待测试软件运行过程中与中心服务器保持心跳连接;
所述中心服务器,如果侦测到与所述通讯模块的心跳连接中断,则记录对应的测试服务器中运行的测试环境信息。
A4、如权利要求A1所述的系统,其特征在于,所述通讯模块存储于所述阵列服务器中,且所述不同的操作系统分别对应有相匹配的通讯模块,随虚拟镜像文件加载并运行于对应的测试服务器中。
A5、如权利要求A2或A3所述的系统,其特征在于,所述中心服务器在记录对应的测试服务器中运行的测试环境信息后,进一步用于执行对应测试环境的增量备份或镜像还原。
A6、如权利要求A1所述的系统,其特征在于,所述中心服务器根据测试服务器的负载状态,将对应的虚拟镜像文件加载并运行于一台或多台选定的测试服务器中;所述中心服务器判断测试服务器负载状态的指标包括CPU使用率,内存使用率,硬盘吞吐量,和/或当前协议连接数。
A7、如权利要求A1所述的系统,其特征在于,所述中心服务器进一步用于为不同测试环境分配不同的权值,并将权值高的测试环境对应的虚拟镜像文件优先加载并运行于测试服务器中。
A8、如权利要求A7所述的系统,其特征在于,所述中心服务器进一步用于将当前权值最高的测试环境对应的虚拟镜像文件对应加载至当前负载状态最轻的测试服务器中运行。
B9、一种软件测试方法,包括:
提供一台或多台阵列服务器,以存储对应于不同测试环境的虚拟镜像文件,所述测试环境包括操作系统及对应的应用程序;
提供一台或多台测试服务器,以执行测试;
提供至少一台中心服务器,以接收并存储待测试软件及待测试的测试环 境信息,并根据所述测试环境信息将存储于阵列服务器中的对应的虚拟镜像文件加载并运行于一台或多台测试服务器中;
提供一通讯模块,随虚拟镜像文件加载并运行于对应的测试服务器中,与中心服务器通讯,从中心服务器下载待测试软件,并在测试服务器中运行该待测试软件。
B10、如权利要求B9所述的方法,其特征在于,所述通讯模块在待测试软件执行完毕后关闭该待测试软件,重启对应的测试服务器中运行的操作系统,同时向中心服务器发送第一次通知,并在重启成功后向中心服务器发送第二次通知;
所述中心服务器如果在收到所述第一次通知后的预定时间间隔内未收到第二次通知,则记录对应的测试服务器中运行的测试环境信息。
B11、如权利要求B9所述的方法,其特征在于,所述通讯模块在所述待测试软件运行过程中与中心服务器保持心跳连接;
所述中心服务器如果侦测到与所述通讯模块的心跳连接中断,则记录对应的测试服务器中运行的测试环境信息。
B12、如权利要求B9所述的方法,其特征在于,所述通讯模块存储于所述阵列服务器中,且所述不同的操作系统分别对应有相匹配的通讯模块,随虚拟镜像文件加载并运行于对应的测试服务器中。
B13、如权利要求B10或B11所述的方法,其特征在于,所述中心服务器在记录对应的测试服务器中运行的测试环境信息后,进一步执行对应测试环境的增量备份或镜像还原。
B14、如权利要求B9所述的方法,其特征在于,所述中心服务器根据测试服务器的负载状态,将对应的虚拟镜像文件加载并运行于一台或多台选定的测试服务器中;所述中心服务器判断测试服务器负载状态的指标包括CPU使用率,内存使用率,硬盘吞吐量,和/或当前协议连接数。
B15、如权利要求B9所述的方法,其特征在于,进一步包括:为不同测试环境分配不同的权值,所述中心服务器将权值高的测试环境对应的虚拟镜像文件优先加载并运行于测试服务器中。
B16、如权利要求B15所述的方法,其特征在于,进一步包括:将当前权值最高的测试环境对应的虚拟镜像文件对应加载至当前负载状态最轻的测试服务器中运行。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种防止登录信息被盗的方法及装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

一种软件测试系统及方法.pdf_第1页
第1页 / 共12页
一种软件测试系统及方法.pdf_第2页
第2页 / 共12页
一种软件测试系统及方法.pdf_第3页
第3页 / 共12页
点击查看更多>>
资源描述

《一种软件测试系统及方法.pdf》由会员分享,可在线阅读,更多相关《一种软件测试系统及方法.pdf(12页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 104360952 A(43)申请公布日 2015.02.18CN104360952A(21)申请号 201410757945.8(22)申请日 2012.03.02201210053060.0 2012.03.02G06F 11/36(2006.01)(71)申请人北京奇虎科技有限公司地址 100088 北京市西城区新街口外大街28号D座112室(德胜园区)申请人奇智软件(北京)有限公司(72)发明人张钊(74)专利代理机构北京国昊天诚知识产权代理有限公司 11315代理人许志勇(54) 发明名称一种软件测试系统及方法(57) 摘要本发明公开了一种软件测试系统及方法。

2、,所述系统包括一台或多台阵列服务器,用于存储对应于不同测试环境的虚拟镜像文件,所述测试环境包括操作系统及对应的应用程序;一台或多台测试服务器;中心服务器,用于接收并存储待测试软件及待测试的测试环境信息,并根据所述测试环境信息将存储于阵列服务器中的对应的虚拟镜像文件加载并运行于一台或多台测试服务器中;通讯模块,用于随虚拟镜像文件加载并运行于对应的测试服务器中,与中心服务器通讯,从中心服务器下载待测试软件,并在测试服务器中运行该待测试软件。本发明在整个测试过程中无需测试人员参与,免除了很多人工操作,同时测试机与测试环境无需一一对应,实现比较灵活。(62)分案原申请数据(51)Int.Cl.权利要求。

3、书2页 说明书7页 附图2页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书2页 说明书7页 附图2页(10)申请公布号 CN 104360952 ACN 104360952 A1/2页21.一种软件测试系统,包括:一台或多台阵列服务器,用于存储对应于不同测试环境的虚拟镜像文件,所述测试环境包括操作系统及对应的应用程序;一台或多台测试服务器,用于执行测试;中心服务器,用于接收并存储待测试软件及待测试的测试环境信息,并根据所述测试环境信息将存储于阵列服务器中的对应的虚拟镜像文件加载并运行于一台或多台测试服务器中;通讯模块,用于随虚拟镜像文件加载并运行于对应的测试服务器中,与中心。

4、服务器通讯,从中心服务器下载待测试软件,并在测试服务器中运行该待测试软件。2.如权利要求1所述的系统,其特征在于,所述通讯模块,进一步用于在待测试软件执行完毕后关闭该待测试软件,重启对应的测试服务器中运行的操作系统,同时向中心服务器发送第一次通知,并在重启成功后向中心服务器发送第二次通知;所述中心服务器,如果在收到所述第一次通知后的预定时间间隔内未收到第二次通知,则记录对应的测试服务器中运行的测试环境信息。3.如权利要求1所述的系统,其特征在于,所述通讯模块,进一步用于在所述待测试软件运行过程中与中心服务器保持心跳连接;所述中心服务器,如果侦测到与所述通讯模块的心跳连接中断,则记录对应的测试服。

5、务器中运行的测试环境信息。4.如权利要求1所述的系统,其特征在于,所述通讯模块存储于所述阵列服务器中,且所述不同的操作系统分别对应有相匹配的通讯模块,随虚拟镜像文件加载并运行于对应的测试服务器中。5.如权利要求2或3所述的系统,其特征在于,所述中心服务器在记录对应的测试服务器中运行的测试环境信息后,进一步用于执行对应测试环境的增量备份或镜像还原。6.如权利要求1所述的系统,其特征在于,所述中心服务器根据测试服务器的负载状态,将对应的虚拟镜像文件加载并运行于一台或多台选定的测试服务器中;所述中心服务器判断测试服务器负载状态的指标包括CPU使用率,内存使用率,硬盘吞吐量,和/或当前协议连接数。7.。

6、如权利要求1所述的系统,其特征在于,所述中心服务器进一步用于为不同测试环境分配不同的权值,并将权值高的测试环境对应的虚拟镜像文件优先加载并运行于测试服务器中。8.如权利要求7所述的系统,其特征在于,所述中心服务器进一步用于将当前权值最高的测试环境对应的虚拟镜像文件对应加载至当前负载状态最轻的测试服务器中运行。9.一种软件测试方法,包括:提供一台或多台阵列服务器,以存储对应于不同测试环境的虚拟镜像文件,所述测试环境包括操作系统及对应的应用程序;提供一台或多台测试服务器,以执行测试;提供至少一台中心服务器,以接收并存储待测试软件及待测试的测试环境信息,并根据所述测试环境信息将存储于阵列服务器中的对。

7、应的虚拟镜像文件加载并运行于一台或多台测试服务器中;权 利 要 求 书CN 104360952 A2/2页3提供一通讯模块,随虚拟镜像文件加载并运行于对应的测试服务器中,与中心服务器通讯,从中心服务器下载待测试软件,并在测试服务器中运行该待测试软件。10.如权利要求9所述的方法,其特征在于,所述通讯模块在待测试软件执行完毕后关闭该待测试软件,重启对应的测试服务器中运行的操作系统,同时向中心服务器发送第一次通知,并在重启成功后向中心服务器发送第二次通知;所述中心服务器如果在收到所述第一次通知后的预定时间间隔内未收到第二次通知,则记录对应的测试服务器中运行的测试环境信息。权 利 要 求 书CN 1。

8、04360952 A1/7页4一种软件测试系统及方法技术领域0001 本发明涉及计算机技术领域,尤其涉及一种软件测试系统及方法。背景技术0002 现有的软件测试系统,出于兼容性的考虑,需要准备相当多的测试环境来进行测试,而每种测试环境都需要独立的安装并运行于一台计算机中,以对应进行测试,并需要手工记录各种测试结果,工作量很大。0003 特别是对于一些操作系统的补丁程序,例如,当微软发布某些补丁时,对于安全产品的开发团队来说,为了保障这些补丁可以正常的安全的运行于用户计算机中,就需要开发团队快速测试这些当期发布的补丁在各种操作系统(例如xp sp2,xp sp3,vista,win732的各种版。

9、本,win764的各种版本,2000,2003server,2008server等)或各种应用程序环境(安装有ofce 32或子版本,ofce 64,adobe各版本,flash各版本等)下是否可以正常安装补丁,确保安装过程中或安装重启后不出现蓝屏等问题。0004 通常情况下,测试人员会针对上述各环境遍历测试这些新补丁安装情况,若出现安装异常(如蓝屏)需记录,并提交给漏洞库组修改补丁条件以屏蔽该环境的补丁安装。0005 由此可见,现有的软件测试需要大量的测试人员才能完成,而且需要测试机与环境一一对应,只能测完一个再测另一个,测试效率比较低。发明内容0006 本发明所要解决的技术问题在于提供一种。

10、软件测试系统及方法,以改善软件测试过程中的工作效率。0007 为解决上述技术问题,本发明提供一种软件测试系统,包括:0008 一台或多台阵列服务器,用于存储对应于不同测试环境的虚拟镜像文件,所述测试环境包括操作系统及对应的应用程序;0009 一台或多台测试服务器,用于执行测试;0010 中心服务器,用于接收并存储待测试软件及待测试的测试环境信息,并根据所述测试环境信息将存储于阵列服务器中的对应的虚拟镜像文件加载并运行于一台或多台测试服务器中;0011 通讯模块,用于随虚拟镜像文件加载并运行于对应的测试服务器中,与中心服务器通讯,从中心服务器下载待测试软件,并在测试服务器中运行该待测试软件。00。

11、12 本发明另提供一种软件测试方法,包括:0013 提供一台或多台阵列服务器,以存储对应于不同测试环境的虚拟镜像文件,所述测试环境包括操作系统及对应的应用程序;0014 提供一台或多台测试服务器,以执行测试;0015 提供至少一台中心服务器,以接收并存储待测试软件及待测试的测试环境信息,并根据所述测试环境信息将存储于阵列服务器中的对应的虚拟镜像文件加载并运行于一说 明 书CN 104360952 A2/7页5台或多台测试服务器中;0016 提供一通讯模块,随虚拟镜像文件加载并运行于对应的测试服务器中,与中心服务器通讯,从中心服务器下载待测试软件,并在测试服务器中运行该待测试软件。0017 本发。

12、明在整个测试过程中无需测试人员参与,免除了很多人工操作,同时测试机与测试环境无需一一对应,实现比较灵活,同时,测试时由中心服务器自动判断测试服务器的负载性能,从而可实现并行测试。附图说明0018 为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。0019 图1为根据本发明的实施例所示的软件测试系统示意图。0020 图2为根据本发明实施例所述的软件测试方法流程图。具体实施方式0021 下面将结合本发明实施例中的附图。

13、,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。0022 本发明实施例首先需要搭建一云计算测试环境,如图1所示,为根据本发明的实施例所示的软件测试系统示意图,包括多台阵列服务器101,多台测试服务器102,中心服务器103及通讯模块104,通过云端中心服务器103的统一控制,可实现无人值守的测试任务自动化执行,极大的提高了测试效率,其中:0023 所述阵列服务器101,用于存储对应于不同测试环境的虚拟镜像文件,所述。

14、测试环境包括操作系统及对应的应用程序;0024 所述测试服务器102,用于执行测试;0025 所述中心服务器103,用于接收并存储待测试软件及待测试的测试环境信息,并根据测试环境信息将存储于阵列服务器中的对应的虚拟镜像文件加载并运行于一台或多台测试服务器中;0026 所述通讯模块104,用于随虚拟镜像文件一同加载并运行于对应的测试服务器中,与中心服务器通讯,从中心服务器下载待测试软件,并在测试服务器中运行该待测试软件。0027 利用本发明实施例的测试系统,可以在云中自定义添加多台测试服务器,在测试过程中也可随时添加新的测试服务器,无论是是一台还是多台,也无论是是空闲或任务繁忙,都可以很好的执行。

15、测试任务。0028 各种操作系统及应用程序的虚拟镜像均可以保存在云中阵列服务器中,无需和测试服务器一一对应。0029 所述通讯模块104可以存储于任何位置,但优选存储于所述阵列服务器101中,且所述不同的操作系统可分别对应有相匹配的通讯模块,随虚拟镜像文件一同加载并运行于说 明 书CN 104360952 A3/7页6对应的测试服务器中。实际上,通讯模块104可以整合于对应的操作系统中,与操作系统同时存储,同时加载并运行于对应的测试服务器中。0030 所述通讯模块104,可以在待测试软件执行完毕后关闭该待测试软件,重启对应的测试服务器中运行的操作系统,同时向中心服务器发送第一次通知,并在重启成。

16、功后向中心服务器发送第二次通知;0031 所述中心服务器103,如果在收到所述第一次通知后的预定时间间隔内未收到第二次通知,则记录对应的测试服务器中运行的测试环境信息。0032 其中,所述第一次通知的作用是通知中心服务器当次测试执行完毕,表示在整个测试过程中没有发生什么意外而造成测试终止的情况,这主要是因为在打某些不兼容补丁时,有可能在补丁程序执行过程中就出现了蓝屏等意外情况,因此有必要发送第一次通知以确认在执行过程中未发生意外终止的情况。但第一次通知并不意味着测试成功,还需要进行一次重启过程,重启成功后发送第二次通知,以表明系统在进行测试后可正常重启,这主要是因为打某些不兼容补丁时有可能在重。

17、启过程中造成系统报错从而造成进入不了系统的情况。0033 此外,所述预定时间间隔可以是在测试时提交的测试信息的配置中进行设置,该值可由过去测试经验计算得出,例如上几次测试过程中所记录的测试完毕到整个重启过程完毕的时间。一开始时可设置为最慢的测试服务器打补丁完成后到重启完毕所用的时间,也可以通过事先手动做一次测试来评估此间隔时间。0034 所述通讯模块104,可以在所述待测试软件运行过程中始终与中心服务器保持心跳连接;0035 所述中心服务器103,如果侦测到与所述通讯模块的心跳连接中断,则记录对应的测试服务器中运行的测试环境信息。0036 所述中心服务器103在记录对应的测试服务器中运行的测试。

18、环境信息后,进一步用于执行对应测试环境的增量备份或镜像还原。0037 所述中心服务器103根据测试服务器的负载状态,将对应的虚拟镜像文件加载并运行于一台或多台选定的测试服务器中。0038 所述中心服务器103可进一步用于为不同测试环境分配不同的权值,并将权值高的测试环境对应的虚拟镜像文件优先加载并运行于测试服务器中。0039 权值分配可根据不同应用环境在现实中被用户使用的多少来配置,例如对于xp sp3,win7 32sp1,win7 64sp1等现实中用户所使用最多的系统即可分配较高的权值。0040 所述中心服务器103还可进一步用于将当前权值最高的测试环境对应的虚拟镜像文件对应加载至当前负。

19、载状态最轻的测试服务器中运行。0041 如图2所示,为根据本发明实施例所述的软件测试方法流程图,首先提供一台或多台阵列服务器,以存储对应于不同测试环境的虚拟镜像文件,所述测试环境包括操作系统及对应的应用程序(步骤201);提供一台或多台测试服务器,以执行测试(步骤202);提供至少一台中心服务器,以接收并存储待测试软件及待测试的测试环境信息,并根据测试环境信息将存储于阵列服务器中的对应的虚拟镜像文件加载并运行于一台或多台测试服务器中(步骤203);提供一通讯模块,随虚拟镜像文件一同加载并运行于对应的测试服务器中,与中心服务器通讯,从中心服务器下载待测试软件,并在测试服务器中运行该待测试说 明 。

20、书CN 104360952 A4/7页7软件(步骤204)。0042 其中,所述通讯模块在待测试软件执行完毕后关闭该待测试软件,重启对应的测试服务器中运行的操作系统,同时向中心服务器发送第一次通知,并在重启成功后向中心服务器发送第二次通知;0043 所述中心服务器如果在收到所述第一次通知后的预定时间间隔内未收到第二次通知,则记录对应的测试服务器中运行的测试环境信息。0044 此外,所述通讯模块在所述待测试软件运行过程中始终与中心服务器保持心跳连接;0045 所述中心服务器如果侦测到与所述通讯模块的心跳连接中断,则记录对应的测试服务器中运行的测试环境信息。0046 所述通讯模块可以存储于所述阵列。

21、服务器中,且所述不同的操作系统分别对应有相匹配的通讯模块,随虚拟镜像文件一同加载并运行于对应的测试服务器中。0047 所述中心服务器在记录对应的测试服务器中运行的测试环境信息后,也就是说侦测到心跳连接中断或没收到第二次通知后,可进一步执行对应测试环境的增量备份或镜像还原,以恢复测试环境。0048 所述中心服务器可根据测试服务器的负载状态,将对应的虚拟镜像文件加载并运行于一台或多台选定的测试服务器中。0049 此外,还可以为不同测试环境分配不同的权值,所述中心服务器将权值高的测试环境对应的虚拟镜像文件优先加载并运行于测试服务器中。0050 还可以将当前权值最高的测试环境对应的虚拟镜像文件对应加载。

22、至当前负载状态最轻的测试服务器中运行。0051 例如,利用本发明对系统补丁程序进行测试时,测试者可以在测试前通过中心服务器的web页面提交本次测试的新的漏洞库、此次需要打补丁的清单、需要测试的环境信息,中心服务器接收到提交的测试信息后,可首先判断测试服务器的负载状态,其负载均衡算法可以是:0052 计算各测试服务器的CPU或内存大小并分配不同的权值,并根据当前各测试服务器n分钟CPU使用率,内存使用率,硬盘I/O吞吐量及当前协议连接数(TCP连接数或SOCKET连接数等能区分网络繁忙程度的指标)等指标转换计算获得一数值a,并与平均使用率阀值b比较,当大于b时则认为是可分配任务的测试服务器,然后。

23、再跟据各服务器权值,由高到低分配。0053 同样,对包含不同操作系统OS的各测试环境的虚拟镜像也分配不同权值,权值高的优先去执行测试。0054 这样,中心服务器就可以选择高权重的测试服务器优先加载高权值的镜像开始执行打补丁测试。0055 然后,由于镜像文件中包含有通讯模块,当操作系统启动后,通讯模块的通信程序也同时启动运行,从中心服务器下载最新的漏洞修复程序,下载后会根据修复策略进行漏洞修复,修复过程中,通讯模块与中心服务器始终保持心跳连接,该连接用于判断修复过程中系统是否正常,一旦心跳连接中断则说明该漏洞修复程序的执行导致系统异常,应将该测试服务器中运行的测试环境信息进行记录。说 明 书CN。

24、 104360952 A5/7页80056 如果漏洞修复过程正常,在修复完毕后将漏洞修复程序退出,由通讯模块控制操作系统重启,同时发送通知1给中心服务器,重启成功后,通讯模块再发送通知2给中心服务器。如果中心服务器在收到通知1后的一定时间内仍未收到通知2,则可以认为系统可能出现蓝屏,应将该测试服务器中运行的测试环境信息进行记录。0057 如此,中心服务器就可以及时的将记录的统计修复结果保存下来,提供给测试人员查询。如果根据记录发现出现测试异常,还可以自动执行镜像文件的追加备份或还原,以恢复测试环境。0058 应用本发明的实施例,通过云计算,运用中心服务器与测试服务器之间的自通信检测修复确认无异。

25、常机制,可实现无人值守的自动化快速测试方案。0059 以上实施例仅以漏洞补丁程序的测试为例对本发明进行了说明,但本发明的技术方案同样适用于其他类型的软件测试需求,本发明对此不作限制。0060 本发明的实施例公开了:0061 A1、一种软件测试系统,包括:0062 一台或多台阵列服务器,用于存储对应于不同测试环境的虚拟镜像文件,所述测试环境包括操作系统及对应的应用程序;0063 一台或多台测试服务器,用于执行测试;0064 中心服务器,用于接收并存储待测试软件及待测试的测试环境信息,并根据所述测试环境信息将存储于阵列服务器中的对应的虚拟镜像文件加载并运行于一台或多台测试服务器中;0065 通讯模。

26、块,用于随虚拟镜像文件加载并运行于对应的测试服务器中,与中心服务器通讯,从中心服务器下载待测试软件,并在测试服务器中运行该待测试软件。0066 A2、如权利要求A1所述的系统,其特征在于,所述通讯模块,进一步用于在待测试软件执行完毕后关闭该待测试软件,重启对应的测试服务器中运行的操作系统,同时向中心服务器发送第一次通知,并在重启成功后向中心服务器发送第二次通知;0067 所述中心服务器,如果在收到所述第一次通知后的预定时间间隔内未收到第二次通知,则记录对应的测试服务器中运行的测试环境信息。0068 A3、如权利要求A1所述的系统,其特征在于,所述通讯模块,进一步用于在所述待测试软件运行过程中与。

27、中心服务器保持心跳连接;0069 所述中心服务器,如果侦测到与所述通讯模块的心跳连接中断,则记录对应的测试服务器中运行的测试环境信息。0070 A4、如权利要求A1所述的系统,其特征在于,所述通讯模块存储于所述阵列服务器中,且所述不同的操作系统分别对应有相匹配的通讯模块,随虚拟镜像文件加载并运行于对应的测试服务器中。0071 A5、如权利要求A2或A3所述的系统,其特征在于,所述中心服务器在记录对应的测试服务器中运行的测试环境信息后,进一步用于执行对应测试环境的增量备份或镜像还原。0072 A6、如权利要求A1所述的系统,其特征在于,所述中心服务器根据测试服务器的负载状态,将对应的虚拟镜像文件。

28、加载并运行于一台或多台选定的测试服务器中;所述中心服务器判断测试服务器负载状态的指标包括CPU使用率,内存使用率,硬盘吞吐量,和/说 明 书CN 104360952 A6/7页9或当前协议连接数。0073 A7、如权利要求A1所述的系统,其特征在于,所述中心服务器进一步用于为不同测试环境分配不同的权值,并将权值高的测试环境对应的虚拟镜像文件优先加载并运行于测试服务器中。0074 A8、如权利要求A7所述的系统,其特征在于,所述中心服务器进一步用于将当前权值最高的测试环境对应的虚拟镜像文件对应加载至当前负载状态最轻的测试服务器中运行。0075 B9、一种软件测试方法,包括:0076 提供一台或多。

29、台阵列服务器,以存储对应于不同测试环境的虚拟镜像文件,所述测试环境包括操作系统及对应的应用程序;0077 提供一台或多台测试服务器,以执行测试;0078 提供至少一台中心服务器,以接收并存储待测试软件及待测试的测试环境信息,并根据所述测试环境信息将存储于阵列服务器中的对应的虚拟镜像文件加载并运行于一台或多台测试服务器中;0079 提供一通讯模块,随虚拟镜像文件加载并运行于对应的测试服务器中,与中心服务器通讯,从中心服务器下载待测试软件,并在测试服务器中运行该待测试软件。0080 B10、如权利要求B9所述的方法,其特征在于,所述通讯模块在待测试软件执行完毕后关闭该待测试软件,重启对应的测试服务。

30、器中运行的操作系统,同时向中心服务器发送第一次通知,并在重启成功后向中心服务器发送第二次通知;0081 所述中心服务器如果在收到所述第一次通知后的预定时间间隔内未收到第二次通知,则记录对应的测试服务器中运行的测试环境信息。0082 B11、如权利要求B9所述的方法,其特征在于,所述通讯模块在所述待测试软件运行过程中与中心服务器保持心跳连接;0083 所述中心服务器如果侦测到与所述通讯模块的心跳连接中断,则记录对应的测试服务器中运行的测试环境信息。0084 B12、如权利要求B9所述的方法,其特征在于,所述通讯模块存储于所述阵列服务器中,且所述不同的操作系统分别对应有相匹配的通讯模块,随虚拟镜像。

31、文件加载并运行于对应的测试服务器中。0085 B13、如权利要求B10或B11所述的方法,其特征在于,所述中心服务器在记录对应的测试服务器中运行的测试环境信息后,进一步执行对应测试环境的增量备份或镜像还原。0086 B14、如权利要求B9所述的方法,其特征在于,所述中心服务器根据测试服务器的负载状态,将对应的虚拟镜像文件加载并运行于一台或多台选定的测试服务器中;所述中心服务器判断测试服务器负载状态的指标包括CPU使用率,内存使用率,硬盘吞吐量,和/或当前协议连接数。0087 B15、如权利要求B9所述的方法,其特征在于,进一步包括:为不同测试环境分配不同的权值,所述中心服务器将权值高的测试环境。

32、对应的虚拟镜像文件优先加载并运行于测试服务器中。0088 B16、如权利要求B15所述的方法,其特征在于,进一步包括:将当前权值最高的测说 明 书CN 104360952 A7/7页10试环境对应的虚拟镜像文件对应加载至当前负载状态最轻的测试服务器中运行。0089 本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。0090 本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环。

33、境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。0091 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。0092 以上对本申请所提供的一种防止登录信息被盗的方法及装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。说 明 书CN 104360952 A10。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1