公开/公告号CN103455423A
专利类型发明专利
公开/公告日2013-12-18
原文格式PDF
申请/专利权人 浪潮(北京)电子信息产业有限公司;
申请/专利号CN201310395655.9
申请日2013-09-03
分类号G06F11/36(20060101);
代理机构11262 北京安信方达知识产权代理有限公司;
代理人王丹;栗若木
地址 100085 北京市海淀区上地信息路2号2-1号C栋1层
入库时间 2024-02-19 21:57:24
法律状态公告日
法律状态信息
法律状态
2018-09-07
专利权的转移 IPC(主分类):G06F11/36 登记生效日:20180821 变更前: 变更后: 申请日:20130903
专利申请权、专利权的转移
2016-01-13
授权
授权
2014-01-15
实质审查的生效 IPC(主分类):G06F11/36 申请日:20130903
实质审查的生效
2013-12-18
公开
公开
技术领域
本发明涉及计算机软件测试技术,尤其涉及基于集群架构的软件自动测 试系统及装置。
背景技术
随着Internet服务和信息化建设的不断发展,对服务器的可伸缩性和高可 用性的要求也变得越来越高。集群技术的出现和IA架构(Intel Architecture) 服务器的快速发展为社会的需求提供了新的选择。IA架构服务器是指采用了 英特尔处理器的服务器。由于该架构服务器采用了开放式体系,并且实现了 工业标准化技术和得到国内外大量软硬件供应商的支持,在大批量生产的基 础上,以其极高的性价比而在全球范围内,尤其在我国得到广泛的应用。IA 架构服务器价格低廉,易于使用和维护,而且采用集群技术可以构造超级计 算机,其超强的处理能力可以取代价格昂贵的中大型机,为行业的高端应用 开辟了新的方向。尤其是最近几年,集群技术迅速发展,已经成为构建超级 计算机系统的主流架构之一。
在最新发布的TOP500(为高性能计算机提供统计的组,属计算机系统部 分)中,基于集群架构的硬件系统已经增至500个,所占比例达72%,并在 数量上仍有不断增加的趋势,可见集群技术在高性能计算领域有着旺盛的生 命力和广阔的发展前景。
然而,目前高可用集群系统中的软件测试还主要靠手工进行测试,其测 试系统的架构如图1所示。在软件测试初期,需要通过人工方式搭建测试环 境,编写巨量的测试用例,并一一执行每一个测试用例,以及进行发散测试。 随着软件版本上升推动测试的进展以及软件开发周期的缩短,每个软件版本 测试的周期却无法缩短,测试效率亦无法提高,并对软件迭代版本没有较好 的防护。因此,在当前集群技术高速发展的时期,对集群软件开发周期、质 量等要求越来越高,提供一种适用于高可用集群系统的软件自动化测试系统 就显得非常必要了。
发明内容
本发明所要解决的技术问题是提供一种基于集群架构的软件自动测试装 置及系统,能够适用于高可用集群系统的软件自动测试。
为了解决上述技术问题,本发明提供了一种基于集群架构的软件自动测 试装置,包括依次连接的测试过程记录模块以及测试脚本运行模块,还包括 与测试脚本运行模块连接的待测系统操作模块以及Socket通信模块,其中:
Socket通信模块,用于传输操作待测系统的命令和接收待测系统返回的 命令执行结果;
测试脚本运行模块,用于收集待测系统的所有测试用例脚本,通过Socket 通信模块向待测系统发出执行测试用例脚本的操作命令,并统计测试用例脚 本执行的时间和结果,将统计结果输出给测试过程记录模块;
待测系统操作模块,用于将待测系统的操作命令输出给测试脚本运行模 块;
测试过程记录模块,用于记录测试步骤以及每个步骤的预期结果,并将 预期结果与统计结果相比对,以判断测试用例的正确性。
进一步地,该装置还包括与待测系统操作模块连接的集群控制模块,其 中:
集群控制模块,用于将待测系统中一定包格式的待测集群软件的操作命 令输出给测试脚本运行模块;
测试脚本运行模块收集的待测系统的所有测试用例脚本包括所有集群软 件的测试用例脚本;通过Socket通信模块向待测系统发出执行测试用例脚本 的操作命令包括所有集群软件执行测试用例脚本的操作命令,以及输出的统 计结果包括对所有集群软件统计的测试用例脚本执行的时间和结果。
进一步地,待测集群软件向Socket通信模块提供接口,由Socket通信模 块调用该接口。
进一步地,Socket通信模块包括Socket服务端和Socket客户端;其中 Socket服务端部署在待测系统上,Socket客户端部署在该自动测试装置上。
为了解决上述技术问题,本发明提供了一种基于集群架构的软件自动测 试系统,包括如前所述的测试装置和待测系统,其中:
Socket通信模块,用于传输操作待测系统的命令和接收待测系统返回的 命令执行结果;
测试脚本运行模块,用于收集待测系统的所有测试用例脚本,通过Socket 通信模块向待测系统发出执行测试用例脚本的操作命令,并统计测试用例脚 本执行的时间和结果,将统计结果输出给测试过程记录模块;
待测系统操作模块,用于将待测系统的操作命令输出给测试脚本运行模 块;
测试过程记录模块,用于记录测试步骤以及每个步骤的预期结果,并将 预期结果与统计结果相比对,以判断测试用例的正确性;
待测系统,用于作为测试对象通过Socket通信模块供测试脚本运行模块 进行操作命令的执行,并返回命令执行结果。
进一步地,该装置还包括与待测系统操作模块连接的集群控制模块,其 中:
集群控制模块,用于将待测系统中一定包格式的待测集群软件的操作命 令输出给测试脚本运行模块;
测试脚本运行模块收集的待测系统的所有测试用例脚本包括所有集群软 件的测试用例脚本;通过Socket通信模块向待测系统发出执行测试用例脚本 的操作命令包括所有集群软件执行测试用例脚本的操作命令,以及输出的统 计结果包括对所有集群软件统计的测试用例脚本执行的时间和结果。
进一步地,待测集群软件向所述Socket通信模块提供接口,由Socket通 信模块调用该接口。
进一步地,Socket通信模块包括Socket服务端和Socket客户端;其中 Socket服务端部署在待测系统上,Socket客户端部署在该自动测试装置上。
本发明的基于集群架构的测试装置具有模块化划分而灵活扩展移植的特 性,体现在扩展或者移植某一模块时,基本不用或很少对其它模块进行修改, 从而减少框架应用的复杂度。通过Socket通信方式操作待测系统并返回结果 的特性,使测试结果可以通过测试脚本检查,从而达到自动化测试的效果。 上述优点,使得高可用集群软件版本发布质量提高,并提高了脚本编写效率 及测试效率,因而在高可用集群应用系统中具有非常广阔的发展前景。
附图说明
图1为现有的手工方式测试高可用集群系统的软件测试架构示意图;
图2为本发明的基于集群架构的软件自动测试系统实施例的结构示意 图。
具体实施方式
以下结合附图和优选实施例对本发明的技术方案进行详细地阐述。应该 理解,以下列举的实施例仅用于说明和解释本发明,而不构成对本发明技术 方案的限制。
如图1所示,表示了本发明提供的基于集群架构的软件自动测试系统实 施例的结构,包括:测试装置和待测系统,其中测试装置包括依次连接的测 试过程记录模块以及测试脚本运行模块,还包括与测试脚本运行模块连接的 待测系统操作模块以及Socket通信模块,其中:
Socket通信模块,用于作为测试装置的核心,传输操作待测系统的命令 和接收待测系统返回的命令执行结果;
测试脚本运行模块,用于收集待测系统的所有测试用例脚本,通过Socket 通信模块向待测系统发出执行测试用例脚本的操作命令,并统计测试用例脚 本执行的时间和结果,将统计结果输出给测试过程记录模块;
待测系统操作模块,用于将待测系统的操作命令输出给测试脚本运行模 块;
测试过程记录模块,用于记录测试步骤以及每个步骤的预期结果,并将 预期结果与统计结果相比对,以判断测试用例的正确性。
上述系统实施例还包括与待测系统操作模块连接的集群控制模块,其中:
集群控制模块,用于将待测系统中一定包格式的待测集群软件的操作命 令输出给测试脚本运行模块;
测试脚本运行模块收集的待测系统的所有测试用例脚本包括所有集群软 件的测试用例脚本,通过Socket通信模块向待测系统发出执行测试用例脚本 的操作命令包括所有集群软件执行测试用例脚本的操作命令,以及输出的统 计结果包括对所有集群软件统计的测试用例脚本执行的时间和结果;
待测系统,用于作为测试对象通过Socket通信模块供测试脚本运行模块 进行操作命令的执行,并返回命令执行结果。
在上述系统实施例中提到的Socket通信模块,主要包括Socket服务端 和Socket客户端;其中Socket服务端部署在待测试系统上,Socket客户端部 署在测试装置上。
该Socket通信模块作为此测试装置的核心模块,起到最底层的核心交互 作用,因而要求该Socket服务端开机自启动。Socket通信模块主要负责传输 执行测试脚本的命令及待测系统返回的执行结果,采用一问一答方式来实现。
在上述系统实施例中,
由于该测试装置要求对集群软件进行控制,因而需要待测集群软件向 Socket通信模块提供接口,由Socket通信模块调用,以便能够操作待测集群 软件。
在一个典型的配置环境中,可以采用2台服务器作为待测的集群服务器, 1台PC机或服务器作为测试装置,Socket通信模块负责测试装置与待测的集 群服务器进行通信,由待测系统操作模块负责操作这2台集群服务器,检查 其中集群软件的运行结果,由集群控制模块负责对集群软件进行启动、停止 等操作,由测试脚本运行模块和测试过程记录模块负责收集该集群软件所有 的测试脚本,并执行所有的测试脚本,最后形成测试结果以及统计信息,从 而构建出集群软件系统的自动化软件测试框架。
本发明与传统的手工高可用集群软件测试相比,这种高可用集群软件自 动化测试框架具有高可移植性、高可扩展,以及高测试执行效率等特性。其 中,高可移植性的实现方式是指:在这种高可用集群软件自动化测试框架中, 待测系统操作模块、集群控制模块都是通过封装的方式实现,当测试脚本需 要在不同的系统之间进行移植时,只需要通过修改装置的模块底层实现,不 需要修改任何测试脚本本身,从而提高了可移植性。高可扩展的实现方式是 指:在这种高可用集群软件自动化测试框架中,待测系统操作模块、集群控 制模块中是通过对象的方式实现,添加任何模块、以及为模块添加功能,都 不会对原来测试脚本有任何影响。
本发明的高可用集群软件自动化测试框架所具有的上述优点,使得其提 高了高可用集群软件版本发布质量,提高了当前手工测试的效率以及脚本开 发效率,因而具有非常广阔的发展前景。
机译: 公司根据他们为满足业务需求而实施的新IT技术解决方案定义解决方案体系结构。典型的组织以文档形式使用基于文档的解决方案体系结构,称为SAD(解决方案体系结构文档)。没有软件解决方案能够以有意义的方式轻松管理或捕获解决方案体系结构信息的元素。 SAM(解决方案架构管理器)是一种在线软件解决方案,允许公司在Web门户中开发和管理所有解决方案架构。
机译: 基于3D应用软件框架的自动测试系统和方法,用于测试案例的软件功能
机译: 三维应用程序框架结构和基于该框架的应用程序的实现方法,以及基于三维应用软件框架的自动测试系统和方法