CN101079004A - 一种实现测试脚本管理和分发的方法及装置 - Google Patents
一种实现测试脚本管理和分发的方法及装置 Download PDFInfo
- Publication number
- CN101079004A CN101079004A CN 200710117773 CN200710117773A CN101079004A CN 101079004 A CN101079004 A CN 101079004A CN 200710117773 CN200710117773 CN 200710117773 CN 200710117773 A CN200710117773 A CN 200710117773A CN 101079004 A CN101079004 A CN 101079004A
- Authority
- CN
- China
- Prior art keywords
- test script
- file
- script
- library
- script library
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种实现测试脚本管理和分发的方法及装置。所述方法包括步骤:A.以文件系统方式建立测试脚本库,并将所述测试脚本库加入到版本控制系统中;B.自动检出测试脚本库至目标目录;C.同步测试脚本库结构及测试脚本文件至用户本地;D.根据测试脚本库结构生成测试脚本集合类实例;E.根据测试脚本集合类实例在用户本地显示测试脚本库,并将用户的操作映射为对本地脚本文件的操作。本发明的方法及装置实现了测试脚本的层次化管理和测试脚本版本可回溯,并能满足脚本文件分发的需求。
Description
技术领域
本发明涉及测试领域,尤其涉及一种实现测试脚本管理和分发的方法及装置。
背景技术
在测试领域,测试脚本管理和脚本分发方式直接影响到测试脚本在整个测试流程中的应用效果,如何保证测试脚本的有效性和可回溯,成为脚本管理的最大挑战。
本领域中比较典型的具备测试脚本管理功能的系统,如IBM公司的TestManager测试套件和HP公司的TestDirector测试套件,都是一种基于项目(project)组织以及面向数据库应用的管理系统,在脚本管理方面,它们采用的方式为:通过将测试脚本归属于不同的项目之中,来实现对测试脚本区分用途、划分层次;通过将脚本文件自身的属性信息,比如文件名、文件路径等以数据库表项的方式存储于对应项目数据库之中,来实现测试脚本检索和查询;通过集成版本控制工具,来实现测试脚本版本的可回溯。
这种基于项目组织以及面向数据库应用的管理技术存在以下的不足之处:
(1)将测试脚本以项目方式组织,可以解决不同项目脚本隔离的要求,但是在项目内部,往往也还会有对测试脚本按功能、目的等进一步划分层次的要求,这种情况下上述技术难以直接实现,而新建项目又会造成管理和维护上的不便;
(2)无法直接进行跨项目的测试脚本文件访问,因此,为了实现跨项目的测试脚本文件访问,采用现有技术必然会造成大量的数据冗余;
(3)在测试脚本查询和检索方面,由于仅将脚本文件属性信息存储于项目数据库中,而脚本文件本身是依赖于操作系统自身的文件系统,因此,会存在数据不一致的风险,而导致测试脚本文件无法正常使用;
(4)集成版本控制工具来实现测试脚本版本可回溯,在上述系统中往往需要客户化开发,增加了部署和实施的难度。
发明内容
本发明所要解决的技术问题是提供一种实现测试脚本管理和分发的方法及装置,以实现测试脚本的层次化管理和测试脚本版本可回溯以及满足脚本文件分发的需求。
为解决上述技术问题,本发明提供技术方案如下:
一种实现测试脚本管理和分发的方法,包括步骤:
A、以文件系统方式建立测试脚本库,并将所述测试脚本库加入到版本控制系统中;
B、自动检出测试脚本库至目标目录;
C、同步测试脚本库结构及测试脚本文件至用户本地;
D、根据测试脚本库结构生成测试脚本集合类实例;
E、根据测试脚本集合类实例在用户本地显示测试脚本库,并将用户的操作映射为对本地脚本文件的操作。
较佳地,步骤A中,所述以文件系统方式建立测试脚本库为:以操作系统自身的文件系统目录结构作为脚本层次划分的依据,建立测试脚本库。
较佳地,所述版本控制系统为并发版本系统(Concurrent Version System,CVS)。
较佳地,步骤B中,所述自动检出测试脚本库至目标目录为:定时检出测试脚本库至目标目录。
较佳地,所述步骤C具体包括:
C1、扫描所述目标目录中的文件结构;
C2、基于所述文件结构,生成测试脚本库结构描述文件,所述测试脚本库结构描述文件包括测试脚本层次数据以及测试脚本自身的属性数据;
C3、将所述目标目录中的测试脚本文件以同样的层次关系复制到用户本地。
较佳地,所述测试脚本库结构描述文件为可扩展标记语言(eXtensibleMarkup Language,XML)文件。
较佳地,步骤E中,所述显示测试脚本库为:以树状形式显示测试脚本库,其中,测试脚本层次信息转化为脚本树中的树枝节点,脚本文件本身转化为脚本树中的叶子节点。
一种实现测试脚本管理和分发的装置,包括:
版本管理模块,用于以文件系统方式建立测试脚本库,并将所述测试脚本库加入到版本控制系统中;
检出模块,用于自动检出测试脚本库至目标目录;
同步模块,用于同步测试脚本库结构及测试脚本文件至用户本地;
转换模块,用于根据测试脚本库结构生成测试脚本集合类实例;
平台模块,用于根据测试脚本集合类实例在用户本地显示测试脚本库,并将用户的操作映射为对本地脚本文件的操作。
较佳地,所述同步模块通过扫描目标目录来自动生成脚本库结构描述文件,所述脚本库结构描述文件包括测试脚本层次数据以及测试脚本自身的属性数据,并将测试脚本文件以同样的层次关系复制到用户本地。
较佳地,所述脚本库结构描述文件为XML文件。
与现有技术相比,本发明的技术方案具有如下有益效果:
(1)相对于按项目组织测试脚本方式而言,测试脚本组织要灵活得多,测试脚本组织和分层不受限制,可以按实际需要任意扩充;
(2)测试脚本的版本管理依赖版本控制系统自身的功能实现,相对于将版本控制系统直接集成的方式,本实现方案并不需要做相对复杂的客户化开发以及集成、部署工作;
(3)测试脚本库结构定义为XML文件方式,相对于用数据库实现结构化信息存储,XML文件方式要更为简洁明了,而且通过及时同步,又能保证文件内容和脚本库实际存储内容保持一致,消除了数据不一致的风险;
(4)本发明的装置中各模块之间的关系比较松散,非常容易移植到有测试脚本应用需求的其它系统中。
附图说明
图1为本发明实施例所述实现测试脚本管理和分发的装置的结构图;
图2为本发明实施例所述实现测试脚本管理和分发的方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明进行详细描述。
本发明的关键在于使用文件系统方式替代传统的测试脚本数据库管理方式,实现测试脚本的组织和版本管理;使用XML文件来定义层次化的测试脚本库结构,并通过用户主机上的同步操作来保证被分发的测试脚本库正确有效。
请参照图1,本发明实施例所述实现测试脚本管理和分发的装置包括版本管理模块11、检出模块12、同步模块21、转换模块22和平台模块23。
版本管理模块11用于以文件系统方式建立测试脚本库,并将所述测试脚本库加入到版本控制系统中。所述版本控制系统,可以采用开源的CVS,也可以采用商用的版本控制系统,例如ClearCase,只要其具备文件版本管理的基本功能如脚本文件的检入检出、脚本文件的回退等。本实施例中采用的版本控制系统是CVS,在测试脚本库加入到CVS之后,测试脚本库的层次结构保持不变。该版本管理模块11可设计为一逻辑模块,由部属于CVS版本管理服务器10上的CVS测试脚本库组成,完成将测试脚本按层次进行集中式版本管理。
检出模块12用于自动检出测试脚本库至目标目录,该目标目录可提供给同步模块21使用。该检出模块12可设计为一部署于CVS版本管理服务器10上的脚本文件,具体实现为VBScript,也可以直接用Shell脚本,本发明对此模块的实现方式并不作限定。
进一步,还可以将检出模块12设计为定时运行。将检出模块12的实现脚本加入到操作系统自身的任务计划之中,例如任务计划可设置为每天夜间运行,这样就实现了自动检出测试脚本库到指定的目标目录,保证了目标目录中的测试脚本库和CVS中的脚本库的一致性。
同步模块21用于同步测试脚本库结构及测试脚本文件至用户本地。该同步模块21可设计为一部署于用户主机20上的脚本文件或者动态库,它实现扫描目标目录,自动生成脚本库结构描述文件,并将测试脚本文件以同样的层次关系复制到用户本地20。通过该同步模块21,为将版本管理服务器10上的文件操作转化为本地操作准备好了数据。其中,所述脚本库结构描述文件为XML文件,该文件包含了测试脚本层次数据以及测试脚本自身的属性数据。
转换模块22用于根据测试脚本库结构生成测试脚本集合类实例。该转换模块22可设计为一部署于用户主机20上的动态库,通过解析脚本库结构描述文件,将以外部文件方式表述的结构化信息转化为内存中的测试脚本对象集合类实例,该集合类实例包括测试脚本层次结构信息以及测试脚本自身的属性信息;并予以输出供平台模块23读取。
平台模块23用于根据测试脚本集合类实例在用户本地显示测试脚本库,并将用户的操作映射为对本地脚本文件的操作。该平台模块23可设计为一部署于用户主机20上的动态库,通过访问内存中的测试脚本对象集合类实例,在用户界面上以树状形式显示出测试脚本库,其中测试脚本层次信息转化为脚本树中的树枝节点,脚本文件本身转化为脚本树中的叶子节点;用户对树结点的操作就被映射为对本地脚本文件的操作,由此实现脚本分发使用的目的。
请参照图2,本发明实施例所述实现测试脚本管理和分发的方法包括如下步骤:
步骤201、以文件系统方式建立测试脚本库,并将所述测试脚本库加入到版本控制系统中;
此步骤包含两个环节:其一,以操作系统自身的文件系统目录结构作为脚本层次划分的依据,建立测试脚本库,这样,所建立的测试脚本库包含了两方面的信息:一是测试脚本之间的相互关系,这种相互关系体现出脚本库的结构信息;二是测试脚本文件本身。
其二,将所建立的测试脚本库加入到版本控制系统中,实现脚本文件可回溯性要求。
上述版本控制系统,可以采用开源的CVS,也可以采用商用的版本控制系统,例如ClearCase,只要其具备文件版本管理的基本功能如脚本文件的检入检出、脚本文件的回退等。
本实施例中采用的版本控制系统是CVS,在测试脚本库加入到CVS之后,测试脚本库的层次结构保持不变。
步骤202、自动检出测试脚本库至目标目录;
位于CVS中的脚本文件不可被直接使用,必须将其从CVS中检出后才能够使用,可通过检出模块来实现该检出过程。检出模块的业务流程为:首先和CVS服务器建立连接;连接建立成功之后,开始对CVS中的测试脚本库下检出命令;如果CVS中存在多个脚本库,则依次将各脚本库检出到指定的目标目录之中;全部检出操作完成之后,断开和CVS服务器的连接。
进一步,还可以将检出模块设计为定时运行。将检出模块的实现脚本加入到操作系统自身的任务计划之中,例如任务计划可设置为每天夜间运行,这样就实现了自动检出测试脚本库到指定的目标目录,保证了目标目录中的测试脚本库和CVS中的脚本库的一致性。
步骤203、同步测试脚本库结构及测试脚本文件至用户本地;
用户通过同步模块来获取测试脚本库,同步模块的业务流程为:首先扫描上述指定目标目录中的文件结构,基于该文件结构,生成测试脚本库结构描述XML文件,该文件包含了测试脚本层次数据以及测试脚本自身的属性数据;然后将指定目标目录中的测试脚本文件以同样的层次关系复制到本地目录,其中目标目录以及本地目录可在同步模块中预先配置。
由于用户主机和版本管理服务器并不是同一个机器,但往往它们都处于同一局域网之中,因此,可以通过FTP文件传输方式或者是有权限的共享目录方式来完成跨机器的文件复制。
步骤204、根据测试脚本库结构生成测试脚本集合类实例;
依据同步模块所生成的测试脚本库结构描述XML文件,对定义格式进行解析,提取出测试脚本层次数据和测试脚本属性数据,构造出测试脚本集合类实例,并予以输出供平台模块读取。
步骤205、根据测试脚本集合类实例在用户本地显示测试脚本库,并将用户的操作映射为对本地脚本文件的操作。
平台模块通过对内存中的测试脚本集合类实例进行分析,以树状形式显示出测试脚本库,其中测试脚本层次信息转化为脚本树中的树枝节点,脚本文件本身转化为脚本树中的叶子节点;用户对树结点的操作就被映射为对本地脚本文件的操作,由此实现脚本分发使用的目的。
最后应当说明的是,以上实施例仅用以说明本发明的技术方案而非限制,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神范围,其均应涵盖在本发明的权利要求范围当中。
Claims (10)
1.一种实现测试脚本管理和分发的方法,其特征在于,包括步骤:
A、以文件系统方式建立测试脚本库,并将所述测试脚本库加入到版本控制系统中;
B、自动检出测试脚本库至目标目录;
C、同步测试脚本库结构及测试脚本文件至用户本地;
D、根据测试脚本库结构生成测试脚本集合类实例;
E、根据测试脚本集合类实例在用户本地显示测试脚本库,并将用户的操作映射为对本地脚本文件的操作。
2.如权利要求1所述的方法,其特征在于:
步骤A中,所述以文件系统方式建立测试脚本库为:以操作系统自身的文件系统目录结构作为脚本层次划分的依据,建立测试脚本库。
3.如权利要求1所述的方法,其特征在于:
所述版本控制系统为并发版本系统CVS。
4.如权利要求1所述的方法,其特征在于:
步骤B中,所述自动检出测试脚本库至目标目录为:定时检出测试脚本库至目标目录。
5.如权利要求1所述的方法,其特征在于,所述步骤C具体包括:
C1、扫描所述目标目录中的文件结构;
C2、基于所述文件结构,生成测试脚本库结构描述文件,所述测试脚本库结构描述文件包括测试脚本层次数据以及测试脚本自身的属性数据;
C3、将所述目标目录中的测试脚本文件以同样的层次关系复制到用户本地。
6.如权利要求5所述的方法,其特征在于:
所述测试脚本库结构描述文件为可扩展标记语言XML文件。
7.如权利要求1所述的方法,其特征在于:
步骤E中,所述显示测试脚本库为:以树状形式显示测试脚本库,其中,测试脚本层次信息转化为脚本树中的树枝节点,脚本文件本身转化为脚本树中的叶子节点。
8.一种实现测试脚本管理和分发的装置,其特征在于,包括:
版本管理模块,用于以文件系统方式建立测试脚本库,并将所述测试脚本库加入到版本控制系统中;
检出模块,用于自动检出测试脚本库至目标目录;
同步模块,用于同步测试脚本库结构及测试脚本文件至用户本地;
转换模块,用于根据测试脚本库结构生成测试脚本集合类实例;
平台模块,用于根据测试脚本集合类实例在用户本地显示测试脚本库,并将用户的操作映射为对本地脚本文件的操作。
9.如权利要求8所述的装置,其特征在于:
所述同步模块通过扫描目标目录来自动生成脚本库结构描述文件,所述脚本库结构描述文件包括测试脚本层次数据以及测试脚本自身的属性数据,并将测试脚本文件以同样的层次关系复制到用户本地。
10.如权利要求9所述的装置,其特征在于:
所述脚本库结构描述文件为XML文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101177738A CN100472473C (zh) | 2007-06-22 | 2007-06-22 | 一种实现测试脚本管理和分发的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101177738A CN100472473C (zh) | 2007-06-22 | 2007-06-22 | 一种实现测试脚本管理和分发的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101079004A true CN101079004A (zh) | 2007-11-28 |
CN100472473C CN100472473C (zh) | 2009-03-25 |
Family
ID=38906489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007101177738A Expired - Fee Related CN100472473C (zh) | 2007-06-22 | 2007-06-22 | 一种实现测试脚本管理和分发的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100472473C (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043714A (zh) * | 2010-12-10 | 2011-05-04 | 成电汽车电子产业园(昆山)有限公司 | 一种嵌入式软件自动测试系统 |
CN101739409B (zh) * | 2008-11-26 | 2012-05-02 | 英业达集团(天津)电子技术有限公司 | 电子文件的管理系统及其方法 |
CN103324572A (zh) * | 2013-06-28 | 2013-09-25 | 广东电网公司电力科学研究院 | 电力二次系统的操作系统性能测试方法及装置 |
CN103336741A (zh) * | 2013-06-28 | 2013-10-02 | 广东电网公司电力科学研究院 | 电力二次系统的操作系统稳定性测试方法及装置 |
CN105068929A (zh) * | 2015-08-06 | 2015-11-18 | 网易(杭州)网络有限公司 | 测试脚本生成方法和装置、测试方法、测试装置以及测试系统 |
CN105095089A (zh) * | 2015-09-14 | 2015-11-25 | 北京金山安全软件有限公司 | 一种测试应用软件性能的方法及装置 |
CN106445541A (zh) * | 2016-09-30 | 2017-02-22 | 华胜信泰信息产业发展有限公司 | 软件构建方法、软件构建装置和软件构建系统 |
CN106547679A (zh) * | 2015-09-17 | 2017-03-29 | 腾讯科技(深圳)有限公司 | 脚本管理的方法和脚本管理平台 |
CN107766252A (zh) * | 2017-11-08 | 2018-03-06 | 平安科技(深圳)有限公司 | 测试脚本自动化执行方法、装置、设备以及存储介质 |
CN110990267A (zh) * | 2019-11-25 | 2020-04-10 | 泰康保险集团股份有限公司 | 数据处理方法和装置 |
CN111163342A (zh) * | 2020-01-14 | 2020-05-15 | 恒信东方文化股份有限公司 | 一种智能互动系统及其方法 |
-
2007
- 2007-06-22 CN CNB2007101177738A patent/CN100472473C/zh not_active Expired - Fee Related
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739409B (zh) * | 2008-11-26 | 2012-05-02 | 英业达集团(天津)电子技术有限公司 | 电子文件的管理系统及其方法 |
CN102043714B (zh) * | 2010-12-10 | 2013-01-02 | 成电汽车电子产业园(昆山)有限公司 | 一种嵌入式软件自动测试系统 |
CN102043714A (zh) * | 2010-12-10 | 2011-05-04 | 成电汽车电子产业园(昆山)有限公司 | 一种嵌入式软件自动测试系统 |
CN103324572A (zh) * | 2013-06-28 | 2013-09-25 | 广东电网公司电力科学研究院 | 电力二次系统的操作系统性能测试方法及装置 |
CN103336741A (zh) * | 2013-06-28 | 2013-10-02 | 广东电网公司电力科学研究院 | 电力二次系统的操作系统稳定性测试方法及装置 |
CN103324572B (zh) * | 2013-06-28 | 2016-12-28 | 广东电网公司电力科学研究院 | 电力二次系统的操作系统性能测试方法及装置 |
CN105068929A (zh) * | 2015-08-06 | 2015-11-18 | 网易(杭州)网络有限公司 | 测试脚本生成方法和装置、测试方法、测试装置以及测试系统 |
CN105068929B (zh) * | 2015-08-06 | 2018-02-13 | 网易(杭州)网络有限公司 | 测试脚本生成方法和装置、测试方法、测试装置以及测试系统 |
CN105095089A (zh) * | 2015-09-14 | 2015-11-25 | 北京金山安全软件有限公司 | 一种测试应用软件性能的方法及装置 |
CN106547679B (zh) * | 2015-09-17 | 2021-03-23 | 腾讯科技(深圳)有限公司 | 脚本管理的方法和脚本管理平台 |
CN106547679A (zh) * | 2015-09-17 | 2017-03-29 | 腾讯科技(深圳)有限公司 | 脚本管理的方法和脚本管理平台 |
CN106445541A (zh) * | 2016-09-30 | 2017-02-22 | 华胜信泰信息产业发展有限公司 | 软件构建方法、软件构建装置和软件构建系统 |
CN107766252A (zh) * | 2017-11-08 | 2018-03-06 | 平安科技(深圳)有限公司 | 测试脚本自动化执行方法、装置、设备以及存储介质 |
CN110990267A (zh) * | 2019-11-25 | 2020-04-10 | 泰康保险集团股份有限公司 | 数据处理方法和装置 |
CN110990267B (zh) * | 2019-11-25 | 2023-09-05 | 泰康保险集团股份有限公司 | 数据处理方法和装置 |
CN111163342A (zh) * | 2020-01-14 | 2020-05-15 | 恒信东方文化股份有限公司 | 一种智能互动系统及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100472473C (zh) | 2009-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101079004A (zh) | 一种实现测试脚本管理和分发的方法及装置 | |
JP4928717B2 (ja) | 物理ストレージ表現とは独立した論理ビューの同期化 | |
US8751926B2 (en) | Intelligent rendering on a mobile computing device | |
WO2017096940A1 (zh) | 一种基于spark-SQL大数据处理平台的数据导入方法 | |
CN1578943A (zh) | 用于应用配置的智能目录的方法和设备 | |
CN101067814A (zh) | 数据访问层Xml格式数据与关系数据间的映射转换方法 | |
US7606836B2 (en) | Methods for efficient data version verification | |
WO2010101792A2 (en) | Software test bed generation | |
CN101291253B (zh) | 一种网管客户端基于图形界面的人机命令交互方法 | |
CN1140500A (zh) | 分布式数据库系统 | |
CN103235820A (zh) | 一种集群系统中数据存储方法与装置 | |
CN102221998A (zh) | 一种扩展构件运行支撑平台中ejb容器的方法 | |
CN107423390A (zh) | 一种基于oltp‑olap混合关系型数据库系统内部的数据实时同步算法 | |
CN102841824B (zh) | 一种回滚方法和回滚装置 | |
Kunszt et al. | File-based replica management | |
Manghi et al. | Realizing and maintaining aggregative digital library systems: D-net software toolkit and oaister system | |
CN102750322A (zh) | 一种机群文件系统分布式元数据一致性保证方法和系统 | |
Lindholm et al. | A hybrid approach to optimistic file system directory tree synchronization | |
US20040054987A1 (en) | System and method of an incremental file audit in a computer system | |
CN1945527A (zh) | 可实现代码复用的server版代码生成系统 | |
CN111651758B (zh) | 一种运维审计系统关系型数据库结果集审计的方法 | |
CN112416944A (zh) | 一种同步业务数据的方法和设备 | |
CN104461893A (zh) | 数据处理方法与数据处理装置 | |
CN105677384A (zh) | 支持不同应用系统间同步组织和用户信息的系统 | |
CN1828596A (zh) | 在数据库内部表示的文件系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090325 Termination date: 20170622 |
|
CF01 | Termination of patent right due to non-payment of annual fee |