CN110650061A - 一种分布式协同云测试系统 - Google Patents
一种分布式协同云测试系统 Download PDFInfo
- Publication number
- CN110650061A CN110650061A CN201810657160.1A CN201810657160A CN110650061A CN 110650061 A CN110650061 A CN 110650061A CN 201810657160 A CN201810657160 A CN 201810657160A CN 110650061 A CN110650061 A CN 110650061A
- Authority
- CN
- China
- Prior art keywords
- test
- execution
- agent
- module
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种面向分布式协同测试的云测试系统及测试方法,分布式协同云测试系统,包括测试管理服务器、测试执行服务器、数据库及测试代理。分布式协同云测试方法为:用户登录到测试管理服务器,进行创建及管理测试工程、测试域、测试代理等设置操作,并进行测试执行及查看报表等测试活动;测试管理服务器根据用户的请求,对数据库进行相关操作;测试管理服务器将用户的执行请求转发给测试执行服务器;测试执行服务器将测试命令分发给远程测试代理;远程测试代理链接到测试执行服务器,执行接收到的相应测试命令,并将测试命令执行的结果反馈给测试执行服务器;测试执行服务器将各个代理的执行结果转发给测试管理服务器;测试管理服务器将测试结果进行关联并记录在数据库中,并通过WEB服务器动态显示给用户。
Description
技术领域
本发明涉及自动化测试领域,尤其涉及一种分布式协同云测试系统。
背景技术
产品在研发过程中都需要进行各种严格的测试,测试任务的繁简决定于系统的复杂程度,越是复杂的系统测试的复杂度及难度就越高。复杂系统通常有多个模块或多个分布式节点,各个模块或节点自身具有不同的复杂功能,并且模块(节点)与模块(节点)之间存在复杂的逻辑关系。面对这类复杂系统,目前大部分系统会使用一些大型的测试管理软件,对测试需求、测试用例、测试结果进行管理,但没有统一的测试执行环境,缺少将测试自动化执行同测试管理统一结合的系统。现时的测试情况是,在测试分析及设计阶段,使用测试管理工具进行相关测试用例的设计,在执行阶段,将测试任务进行分解,对系统中不同的模块(节点)通过使用不同的测试工具或仪器进行人工测试,然后再将各个模块(节点)联合起来进行人工集成测试,各个阶段的测试结果都需要人工整合在测试管理软件中,整个系统的测试周期很长,并且测试效率和测试准确度受测试人员的经验水平制约。
发明内容
针对上述问题,本发明提供一种分布式的、可以协同测试各个模块(节点)的云测试系统。本发明为解决其技术问题所采用的技术方案是:分布式协同云测试系统,包括:测试管理服务器(1),用于管理所有的测试活动;数据库(2),用于保存测试活动的各种信息;测试执行服务器(3),用于将测试命令发送给各个测试代理(4)执行;N个测试代理(4),用于执行发送过来的命令,并将测试结果反馈给测试服务器,所述N为正整数。
所述的测试管理服务器(1),向用户提供自动化测试服务,所涉及的信息通过数据库(2)进行管理,它包括测试域模块(A1)、用户权限模块(B1)、项目管理模块(C1)、代理配置模块(D1);测试用例模块(E1)、测试执行模块(F1)、结果管理模块(G1)。其中的测试域模块(A1)用于管理云系统中各个测试域,每个测试域由ID和密码进行标识,代表一个组织机构(公司或团队),测试域提供一个授权空间,在此空间上可以进行用户权限配置、项目管理及测试执行等测试活动;其中的用户权限模块(B1)用于添加或删除用户组,为用户组设置操作的权限(可读、可写或可执行),并在用户组中添加或删除用户;其中的项目管理模块(C1),用于创建测试工程,设置测试工程的属主和用户,并设置该工程使用的测试代理(4);其中的代理配置模块(D1),用于管理员在系统中登记测试代理(4),包括登记代理的名称和代理的所有接口命令,并用于管理员设置各个测试域中的测试代理的种类和每种测试代理的数量;其中的测试用例模块(E1),提供测试用例及其对应的测试脚本的设计及管理;其中的测试执行模块(F1),用于将要执行的测试脚本发送给测试执行服务器,并从测试执行服务器中接收每条命令的执行结果,保存在数据库(2)中,并经由WEB浏览器显示给用户;结果管理模块(G1),用于保存测试执行的结果,提供对测试结果的查询、分析和统计。
所述的数据库(2),为分布式协同云测试系统提供存储支持,测试管理服务器(1)中的各个模块通过访问数据库来完成测试域管理、用户权限管理、项目管理、测试代理管理、测试用例管理、测试执行管理以及测试结果管理。
所述的测试执行服务器(3),通过控制测试代理(4)来完成自动化的执行工作,它包括通信管理模块(A3),代理管理模块(B3),脚本执行模块(C3)。其中的通信管理模块(A3),通过TCP/IP链接与测试代理(4)进行通信,作为TCP/IP通信的服务端,接收测试代理(4)的链接请求建立链接,并用于在测试执行时传输测试命令及命令反馈;其中的代理管理模块(B3)用于对连接到测试执行服务器(3)的各个测试代理(4)进行鉴权,验证代理所在的测试域是否合法有效,并维护测试代理(4)的状态,用于在测试执行时查询测试代理是否存在,状态是否正常;其中的脚本执行模块(C3)用于在测试执行时对从测试管理服务器(1)发送过来的脚本内容进行语法检查,将语法检查后的各条脚本命令发送给相应的测试代理(4),并等待测试代理(4)执行命令后的反馈信息,然后将反馈信息转发给测试管理服务器(1)。
所述的测试代理(4),通过TCP/IP链接与测试执行服务器(3)进行通信,作为TCP/IP通信的客户端,在启动时主动向测试执行服务器(3)发送建立链接请求,并发送测试域及密码等信息请求鉴权,鉴权成功后连入自动化测试系统。在测试执行时,测试代理(4)从测试执行服务器(3)接收命令,然后执行命令对被测系统中的模块(节点)进行控制,具体执行测试动作,测试动作完成后将结果反馈给测试执行服务器(3)。
本发明的有益效果是:本发明的分布式协同云测试系统能够解决大规模复杂系统下的多个模块或节点的协同自动化测试问题,并为测试管理和自动化测试执行提供了统一的环境。用户只需要在浏览器上登录指定的测试域,在测试域中进行测试用例设计、测试脚本编写并触发自动化测试执行,测试执行的结果会实时地显示给用户并保存在数据库中。本发明的另一个好处是支持远程执行被测系统,特别是对拥有多个分布式节点的大型分布式系统,可以远程控制对各个分布式节点的协同测试,大大降低测试难度,提高测试效率。
附图说明
图1是本发明的系统框架示意图
图2是本发明的部署示意图
图3是本发明的节点配置文件示意图
图4是本发明的脚本文件示意图
具体实施方式
下面结合附图和具体实施例对本发明做进一步阐述。如图2的实施示意图所示,有两个被测系统(被测系统1和被测系统2),它们分别属于不同的公司(公司A和公司B),其中被测系统1中有四个模块(模块1、模块2、模块3和模块4),测试系统2中有4个分布式节点(节点1、节点2、节点3和节点4)。
对上示例中的两个被测系统,协同云测试系统的测试管理服务器(1)中的各模块的实施如下:
测试域模块(A1)提供两个外部接口,一个用于系统管理员配置测试域,一个用于用户登录测试域。测试域可以定义成一个类TestDomain,其内部属有为DomainID,DomainPasswd,DomainAdmin,DomainDesc分别代表域标识、域密码、域管理员、域描述信息。这些属性信息保存在数据库中,图2所示的测试域,各个属性信息表示如下:
DomainID | DomainPasswd | DomainAdmin | DomainDesc |
Domain1 | 123456 | Zhang | 这是公司A的测试域 |
Domain2 | abcdef | Li | 这是公司B的测试域 |
用户权限模块(B1)用于权限管理,分成两个级别:用户组和用户,一个用户组中可以包含多个用户,一个用户只能在一个用户组。每个用户组分配一组权限,权限决定用户组中的用户对测试项目可进行的操作类型。例如定义了三个组:测试经理、测试设计人员、测试执行人员,测试经理可以进行安排测试计划、查看测试报表等工作,测试设计人员可以进行测试用例设计、测试脚本编写,执行测试脚本,查看测试结果等工作,测试执行人员只可以进行测试执行、查看测试结果等工作。用户组和用户可以分别定义成独立的类,用户组类中用一个列表管理多个用户类的对象。
项目管理模块(C1)用于管理测试域中的一组测试项目,每个测试项目有项目的负责人,项目的用户成员,项目所需要使用的测试代理。实现时项目可以定义成一个类Project,其中有这些属性:Project0wner(项目负责人),UserList(用户列表),AgentList(测试代理列表).项目管理模块(C1)中实现一个管理类,里面管理一组Project对象,并对外提供操作Project的接口。
代理配置模块(D1)用于系统管理员配置系统中的代理信息及在各个测试域中设置代理。代理的配置信息可以用定义成类AgentType,其成员属性为AgentName(代理名),CommandList(命令序列)。commandList代表一组该代理支持的命令,配置后可以在测试脚本中直接使用。代理配置模块(D1)维护一组AgentType的对象,作为系统中可以使用的不同类型的测试代理。另外,代理配置模块(D1)提供接口用于在各个测试域中指定各种测试代理类型允许使用的实例数,作为该测试域中的测试代理资源,即在测试域的类TestDomain中增加可用代理一个列表,列表中的每个元素是代理类型和数量的结对Pair<AgentType,Int>。例如两个代理类型agentType1和agentType2,其在测试域中的个数分别是2和3,则在该列表中存在两个结对元素:<agentType1,2>和<agentType2,3>。
测试用例模块(E1)用于管理测试用例及每个测试用例对应的测试脚本。测试用例组织成树状结构,其中的叶子节点是测试用例,非叶节点是测试用例组。测试用例可以定义成类TestCase,其成员属性有:testcaseName(名称),testcaseID(唯一标识),parent(父节点),script(对应的脚本);测试用例组可以定义成类TestCaseGroup,其成员属性有:groupName(节点名称),groupID(节点唯一标识),parent(父节点),children(子节点列表)。
测试执行模块(F1)用于将要执行的测试脚本发送给测试执行服务器(3),并从测试执行服务器中接收每条命令的执行结果,通过WEB浏览器显示出来。测试执行模块(F1)内部维护一个脚本文件中各条命令与其对应脚本文件行号的映射表,当从测试执行服务器收到命令执行结果时,经过查询映射表得到对应的行号,然后将行号信息及执行结果显示在WEB浏览器上,并通过结果管理模块保存在数据库中。
结果管理模块(G1)将各条测试命令及测试用例的结果保存在数据库中,并提供接口给用户查询、分析、汇总以往各次测试的结果。
对上示例中的两个被测系统,协同云测试系统的测试执行服务器(3)中的各模块的实施如下:
通信管理模块(A3)负责建立同测试代理之间的通道,并传输各种命令及命令结果。它创建一个Socket服务器端,通过TCP的三次握手协议侦听并接收测试代理的链接请求。
以上所述仅为本发明的较佳实施例而已,并不用于限制本发明,凡在本发明的原则和精神之内所作的任何修改、等同替换和改进等,均就包含在本发明的保护范围之内。
Claims (16)
1.一种分布式协同云测试系统,实现对复杂被测系统的多个模块(节点)的协同自动化测试,其特征在于,包括测试管理服务器(1)、数据库(2)、测试执行服务器(3)和测试代理(4)等逻辑组成部分。
2.根据权利要求1所述的分布式协同云测试系统,其特征在于,所述的逻辑组成部分中的测试管理服务器(1)、数据库(2)、测试执行服务器(3)可以部署在一台或多台物理服务器上。
3.根据权利要求1所述的分布式协同云测试系统,其特征在于,所述的测试管理服务器(1),用于通过数据库管理各种的测试活动,它包括测试域模块(A1)、用户权限模块(B1)、项目管理模块(C1)、代理配置模块(D1);测试用例模块(E1)、测试执行模块(F1)、结果管理模块(G1)。
4.根据权利要求1所述的分布式协同云测试系统,其特征在于,所述的数据库(2),用于存储测试域、用户权限、测试代理、测试工程、测试用例、测试脚本以及测试结果,为测试管理服务器(1)中的各个模块提供数据的存储及访问支持。
5.根据权利要求1所述的分布式协同云测试系统,其特征在于,所述的测试执行服务器(3),通过控制测试代理(4)来完成自动化的执行工作,它包括通信管理模块(A3),代理管理模块(B3),脚本执行模块(C3)。
6.根据权利要求1所述的分布式协同云测试系统,其特征在于,所述的测试代理(4),通过TCP/IP链接与测试执行服务器(3)进行通信,作为TCP/IP通信的客户端,在启动时主动向测试执行服务器(3)发送建立链接请求,并发送测试域及密码等信息请求鉴权,鉴权成功后便成功连入自动化测试系统。在测试执行时,测试代理(4)从测试执行服务器(3)接收命令,然后执行该命令对被测系统中的模块(节点)进行控制,负责具体执行测试动作,测试动作完成后将结果反馈给测试执行服务器(3)。
7.根据权利要求3所述的分布式协同云测试系统,其特征在于,所述的测试域模块(A1)用于管理云系统中各个测试域,每个测试域由ID和密码进行标识,代表一个组织机构(公司或团队),测试域作为一个授权空间互相独立存在,用户可以在自己的空间上进行用户权限配置、项目管理及测试执行等测试活动。
8.根据权利要求3所述的分布式协同云测试系统,其特征在于,所述的用户权限模块(B1)用于添加或删除用户组,为用户组设置操作的权限(可读、可写或可执行),并在用户组中添加或删除用户。
9.根据权利要求3所述的分布式协同云测试系统,其特征在于,所述的项目管理模块(C1),用于在测试域中管理测试项目,设置项目的属主和项目的用户列表,并配置该项目所需要使用的各种测试代理(4)。
10.根据权利要求3所述的分布式协同云测试系统,其特征在于,所述的代理配置模块(D1),用于管理员在系统中登记测试代理(4),包括登记代理的名称和代理的所有接口命令,并用于管理员设置各个测试域中的测试代理种类和每种测试代理的的数量。
11.根据权利要求3所述的分布式协同云测试系统,其特征在于,所述的测试用例模块(E1),用于设计测试用例,并将每个测试用例及其对应的自动化测试脚本相关联。
12.根据权利要求3所述的分布式协同云测试系统,其特征在于,所述的测试执行模块(F1),用于将要执行的测试脚本发送给测试执行服务器(3),并从测试执行服务器中接收每条命令的执行结果,并经由WEB服务器(1)显示给用户。
13.根据权利要求3所述的分布式协同云测试系统,其特征在于,所述的结果管理模块(G1),用于管理测试执行过程中每个测试用例的执行结果以及其中每条命令的执行结果,并将测试结果进行汇总分析,提供测试后随时对测试结果的查询、分析和统计。
14.根据权利要求5所述的分布式协同云测试系统,其特征在于,所述的通信管理模块(A3),通过TCP/IP链接与测试代理(4)进行通信,作为TCP/IP通信的服务端,接收测试代理(4)的链接请求的链接请求建立链接,并用于在测试执行时传输测试命令及命令反馈。
15.根据权利要求5所述的分布式协同云测试系统,其特征在于,所述的代理管理模块(B3)用于对连接到测试执行服务器(3)的各个测试代理(4)进行鉴权,验证代理所在的测试域是否合法有效,并维护测试代理(4)的状态,状态包括代理存在且空闲、代理存在已被使用、代理不存在。
16.根据权利要求5所述的分布式协同云测试系统,其特征在于,所述的脚本执行模块(C3)用于在测试执行时对从测试管理服务器(1)发送过来的脚本内容进行语法检查,将语法检查后的各条脚本命令发送给相应的测试代理(4),并等等测试代理(4)执行命令后的反馈信息,然后将反馈信息转发给测试管理服务器(1)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810657160.1A CN110650061A (zh) | 2018-06-27 | 2018-06-27 | 一种分布式协同云测试系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810657160.1A CN110650061A (zh) | 2018-06-27 | 2018-06-27 | 一种分布式协同云测试系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110650061A true CN110650061A (zh) | 2020-01-03 |
Family
ID=68988392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810657160.1A Pending CN110650061A (zh) | 2018-06-27 | 2018-06-27 | 一种分布式协同云测试系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110650061A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112506654A (zh) * | 2020-12-07 | 2021-03-16 | 中国船舶重工集团公司第七一六研究所 | 一种工业机器人分布式协同调试方法及系统 |
CN112711534A (zh) * | 2020-12-28 | 2021-04-27 | 广州品唯软件有限公司 | 一种自动化测试方法及装置 |
CN113297055A (zh) * | 2020-02-24 | 2021-08-24 | 国家广播电视总局广播电视科学研究院 | 一种云测试系统和方法 |
CN113849399A (zh) * | 2021-09-13 | 2021-12-28 | 北京计算机技术及应用研究所 | 多国产化平台下的多机协同软件的自动化测试系统和方法 |
CN113890877A (zh) * | 2021-09-27 | 2022-01-04 | 新华三信息安全技术有限公司 | 一种云测试方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040260982A1 (en) * | 2003-06-19 | 2004-12-23 | Sun Microsystems, Inc. | System and method for scenario generation in a distributed system |
CN101252471A (zh) * | 2008-03-20 | 2008-08-27 | 中兴通讯股份有限公司 | 一种分布式自动化测试系统及其方法 |
CN102420727A (zh) * | 2012-01-05 | 2012-04-18 | 北京邮电大学 | 一种基于分布式的协议测试系统及方法 |
US20140032637A1 (en) * | 2012-07-24 | 2014-01-30 | Michael Weir | Enterprise Test System Platform and Associated Method for Interoperable Test Data Management, Test Development, Test Libraries and Test Workflow Management and Automation |
CN105049435A (zh) * | 2015-07-21 | 2015-11-11 | 重庆邮电大学 | 面向异构无线传感器网络的协议一致性的云测试框架 |
CN105591782A (zh) * | 2014-10-24 | 2016-05-18 | 中兴通讯股份有限公司 | 测试设备的管理方法及装置 |
-
2018
- 2018-06-27 CN CN201810657160.1A patent/CN110650061A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040260982A1 (en) * | 2003-06-19 | 2004-12-23 | Sun Microsystems, Inc. | System and method for scenario generation in a distributed system |
CN101252471A (zh) * | 2008-03-20 | 2008-08-27 | 中兴通讯股份有限公司 | 一种分布式自动化测试系统及其方法 |
CN102420727A (zh) * | 2012-01-05 | 2012-04-18 | 北京邮电大学 | 一种基于分布式的协议测试系统及方法 |
US20140032637A1 (en) * | 2012-07-24 | 2014-01-30 | Michael Weir | Enterprise Test System Platform and Associated Method for Interoperable Test Data Management, Test Development, Test Libraries and Test Workflow Management and Automation |
CN105591782A (zh) * | 2014-10-24 | 2016-05-18 | 中兴通讯股份有限公司 | 测试设备的管理方法及装置 |
CN105049435A (zh) * | 2015-07-21 | 2015-11-11 | 重庆邮电大学 | 面向异构无线传感器网络的协议一致性的云测试框架 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113297055A (zh) * | 2020-02-24 | 2021-08-24 | 国家广播电视总局广播电视科学研究院 | 一种云测试系统和方法 |
CN112506654A (zh) * | 2020-12-07 | 2021-03-16 | 中国船舶重工集团公司第七一六研究所 | 一种工业机器人分布式协同调试方法及系统 |
CN112506654B (zh) * | 2020-12-07 | 2023-07-18 | 中国船舶集团有限公司第七一六研究所 | 一种工业机器人分布式协同调试方法及系统 |
CN112711534A (zh) * | 2020-12-28 | 2021-04-27 | 广州品唯软件有限公司 | 一种自动化测试方法及装置 |
CN113849399A (zh) * | 2021-09-13 | 2021-12-28 | 北京计算机技术及应用研究所 | 多国产化平台下的多机协同软件的自动化测试系统和方法 |
CN113890877A (zh) * | 2021-09-27 | 2022-01-04 | 新华三信息安全技术有限公司 | 一种云测试方法及装置 |
CN113890877B (zh) * | 2021-09-27 | 2023-09-26 | 新华三信息安全技术有限公司 | 一种云测试方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110650061A (zh) | 一种分布式协同云测试系统 | |
CN111181727B (zh) | 一种基于微服务的开放api全生命周期管理方法 | |
CN107370786B (zh) | 一种基于微服务架构的通用信息管理系统 | |
US10034259B2 (en) | Mobile device management | |
CN110928774A (zh) | 一种基于节点式的自动化测试系统 | |
US9195707B2 (en) | Distributed event system for relational models | |
CN102693183B (zh) | 一种实现软件自动化测试的方法及系统 | |
WO2018006789A1 (zh) | 一种参数校验方法和装置、以及网管服务器和计算机存储介质 | |
CN109086213B (zh) | 一种基于分布式系统的商用车网络测试管理系统及方法 | |
CN104572122A (zh) | 一种软件应用数据的生成装置及方法 | |
CN104601403A (zh) | 一种自动化测试系统 | |
CN103034735B (zh) | 一种大数据分布式文件导出方法 | |
KR100945282B1 (ko) | 관리 소프트웨어 구현을 위한 인증 방법 | |
CN102468971A (zh) | 权限管理方法和装置、权限控制方法和装置 | |
CN104123227A (zh) | 一种自动生成测试用例的方法 | |
CN102819557B (zh) | 数据查询处理装置和数据查询处理方法 | |
CN105099733B (zh) | 安全管控平台中设备安全管理的方法和系统 | |
CN111966977B (zh) | 一种iam平台的资源管理系统 | |
CN111130922A (zh) | 一种机载信息安全自动化测试方法及测试平台 | |
CN113987541A (zh) | 数据访问控制方法、装置及电子设备 | |
CN104899134A (zh) | 域名注册服务器自动化测试系统和方法 | |
CN106354507A (zh) | 一种企业级应用管理系统及其运行方法 | |
CN107248934A (zh) | 一种自动巡检方法及装置 | |
Li | Design and Implementation of Software Testing Platform for SOA-Based System | |
CN111147429B (zh) | 一种项目研发环境部署系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |