CN100472473C - 一种实现测试脚本管理和分发的方法及装置 - Google Patents
一种实现测试脚本管理和分发的方法及装置 Download PDFInfo
- Publication number
- CN100472473C CN100472473C CNB2007101177738A CN200710117773A CN100472473C CN 100472473 C CN100472473 C CN 100472473C CN B2007101177738 A CNB2007101177738 A CN B2007101177738A CN 200710117773 A CN200710117773 A CN 200710117773A CN 100472473 C CN100472473 C CN 100472473C
- Authority
- CN
- China
- Prior art keywords
- test script
- file
- library
- script
- 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.)
- Expired - Fee Related
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 (11)
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 CN101079004A (zh) | 2007-11-28 |
CN100472473C true 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) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739409B (zh) * | 2008-11-26 | 2012-05-02 | 英业达集团(天津)电子技术有限公司 | 电子文件的管理系统及其方法 |
CN102043714B (zh) * | 2010-12-10 | 2013-01-02 | 成电汽车电子产业园(昆山)有限公司 | 一种嵌入式软件自动测试系统 |
CN103324572B (zh) * | 2013-06-28 | 2016-12-28 | 广东电网公司电力科学研究院 | 电力二次系统的操作系统性能测试方法及装置 |
CN103336741A (zh) * | 2013-06-28 | 2013-10-02 | 广东电网公司电力科学研究院 | 电力二次系统的操作系统稳定性测试方法及装置 |
CN105068929B (zh) * | 2015-08-06 | 2018-02-13 | 网易(杭州)网络有限公司 | 测试脚本生成方法和装置、测试方法、测试装置以及测试系统 |
CN105095089A (zh) * | 2015-09-14 | 2015-11-25 | 北京金山安全软件有限公司 | 一种测试应用软件性能的方法及装置 |
CN106547679B (zh) * | 2015-09-17 | 2021-03-23 | 腾讯科技(深圳)有限公司 | 脚本管理的方法和脚本管理平台 |
CN106445541B (zh) * | 2016-09-30 | 2020-02-28 | 华胜信泰信息产业发展有限公司 | 软件构建方法、软件构建装置和软件构建系统 |
CN107766252A (zh) * | 2017-11-08 | 2018-03-06 | 平安科技(深圳)有限公司 | 测试脚本自动化执行方法、装置、设备以及存储介质 |
CN110990267B (zh) * | 2019-11-25 | 2023-09-05 | 泰康保险集团股份有限公司 | 数据处理方法和装置 |
CN111163342A (zh) * | 2020-01-14 | 2020-05-15 | 恒信东方文化股份有限公司 | 一种智能互动系统及其方法 |
-
2007
- 2007-06-22 CN CNB2007101177738A patent/CN100472473C/zh not_active Expired - Fee Related
Non-Patent Citations (4)
Title |
---|
XML技术在软件测试自动化中的应用. 朱经纬.计算机工程,第31卷第2期. 2005 |
XML技术在软件测试自动化中的应用. 朱经纬.计算机工程,第31卷第2期. 2005 * |
软件自动化测试脚本设计研究. 王莉,殷锋,李奇.西南民族大学学报·自然科学版,第32卷第2期. 2006 |
软件自动化测试脚本设计研究. 王莉,殷锋,李奇.西南民族大学学报·自然科学版,第32卷第2期. 2006 * |
Also Published As
Publication number | Publication date |
---|---|
CN101079004A (zh) | 2007-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100472473C (zh) | 一种实现测试脚本管理和分发的方法及装置 | |
US6681382B1 (en) | Method and system for using virtual labels in a software configuration management system | |
US7216133B2 (en) | Synchronizing logical views independent of physical storage representations | |
US6539388B1 (en) | Object-oriented data storage and retrieval system using index table | |
CN110764820A (zh) | 一种基于代码注释自动生成开发文档的方法及系统 | |
CN101221504B (zh) | 测试脚本的调度执行系统 | |
CN108027722A (zh) | 在编译和部署中动态更新应用 | |
CN101799826B (zh) | 一种基于虚拟视图的网络化数据共享系统及方法 | |
CN102012954B (zh) | 用于系统芯片集成设计的子系统集成方法及其子系统集成系统 | |
CN104317843A (zh) | 一种数据同步etl系统 | |
CN105302575A (zh) | 一种基础开发框架 | |
AU2004200462A1 (en) | A method for managing multiple file states for replicated files | |
WO2022127449A1 (zh) | 一种网页页面的同步方法及装置、设备、存储介质 | |
CN103164239A (zh) | 基于微网可视化平台的插件实现方法 | |
CN104424159A (zh) | 软件项目文档生成方法和软件项目文档生成器 | |
CN101901237A (zh) | 一种基于SQlite构建的类型-索引-内容方式分布式数据库 | |
CN106503158A (zh) | 数据同步方法及装置 | |
CN102483762A (zh) | 根据元数据访问文件系统的文件的方法和实现该方法的装置 | |
US20050216486A1 (en) | Methods and systems for software release management | |
US6915313B2 (en) | Deploying predefined data warehouse process models | |
CN105808753A (zh) | 一种区域性数字资源系统 | |
Manghi et al. | Realizing and maintaining aggregative digital library systems: D-net software toolkit and oaister system | |
CN1316782C (zh) | 在b/s结构中实现树型结构的方法 | |
CN111858181B (zh) | 一种跨region容器镜像同步的实现方法及实现工具 | |
JP5465358B2 (ja) | データベース化された共有メモリを利用した工学的分析用プログラム間の同期化された連係方法及びシステム |
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 |