CN103365661A - 自动化测试脚本的开发方法和系统 - Google Patents
自动化测试脚本的开发方法和系统 Download PDFInfo
- Publication number
- CN103365661A CN103365661A CN2013102892808A CN201310289280A CN103365661A CN 103365661 A CN103365661 A CN 103365661A CN 2013102892808 A CN2013102892808 A CN 2013102892808A CN 201310289280 A CN201310289280 A CN 201310289280A CN 103365661 A CN103365661 A CN 103365661A
- Authority
- CN
- China
- Prior art keywords
- repository
- snmp
- test
- cli
- test case
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明揭示了一种自动化测试脚本的开发方法和系统,包括以下步骤:设计测试用例,对测试设备进行配置并定义配置库;测试用例设计过程中,判断选择测试用例定义的配置库中的库文件;将选择的配置库中的一个或多个库文件导入到测试用例生成引擎中;测试用例生成引擎在导入的配置库中进行查找,根据配置库中的内容自动生成相应格式或语言的测试脚本。本发明通过导入多种配置方式相对应的模块化配置库,可以生成多种配置方式和不同语言实现的测试脚本,提高了测试效率;模块化的配置库引入,不仅提高了库的独立移植性以及重复利用性,而且大幅提高了库查找的效率,便于测试脚本的维护。
Description
技术领域
本发明涉及自动化测试技术领域,尤其是涉及一种自动化测试脚本的开发方法和系统。
背景技术
在数据设备系统测试过程中,主要分为手动测试和自动化测试两种。由于一方面自动化测试可以更加高效地验证版本的质量状态,另一方面对测试人员的素质要求不高,降低了数据设备系统测试成本。因此使得自动化测试在系统测试的过程中占据着非常重要的位置。但是随着系统的不断升级,系统中所包含的功能越来越多,导致自动化测试脚本的维护成为一个非常庞大的工作。当新版本的系统中出现改动时,也导致测试用例的改动成为一个非常难以完成的工作。
在公开号为CN102622234A、公开日期为2012年8月1日的专利文献中,公开了一种自动化测试用例的开发系统和开发方法,该系统包括:用例设计单元、用例运行控制单元和被测设备单元,该系统解决了传统技术的测试方案扩展性、复用性差、开发难度大、周期长的问题,但是该方法局限于shell的配置方式,不能满足现在不同配置方式的测试需要;而且需要用户直接录入相应的配置CLI,一方面导致用户需要对待测设备具有很好的了解,提高了上层用户的门槛;另一方面,当CLI出现变化时,很难针对CLI的变化做出相应的修改。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种自动化测试脚本的开发方法,通过引入模块化的配置库,能够自动化生成多种配置方式及不同语言实现的测试用例,大大提高了测试的效率。
为实现上述目的,本发明提出如下技术方案:一种自动化测试脚本的开发方法,包括以下步骤:
步骤一、设计测试用例,对测试设备进行配置并定义配置库,所述测试设备包括待测设备和测试仪器设备;
步骤二、测试用例设计过程中,判断选择测试用例定义的配置库中的库文件;
步骤三、将选择的配置库中的一个或多个子库导入到测试用例生成引擎中,生成测试脚本。
优选地,所述配置库包括CLI(命令行界面)配置库、SNMP(简单网络管理协议)配置库和报文配置库,所述CLI配置库提供了待测设备的配置接口信息,所述SNMP配置库中将CLI的配置转换为SNMP中的节点配置,所述报文配置库提供了测试仪器的配置接口信息。
所述步骤二具体包括:
判断是否选择CLI配置库,若是,则执行步骤三,并进入是否选择SNMP配置库的判断,若否,则直接进入是否选择SNMP配置库的判断;
若选择使用SNMP配置库,则执行步骤三,并进入是否选择报文配置库的判断,若否,则直接进入是否使用报文配置库的判断;
若选择使用报文配置库,则执行步骤三,若否,则直接进入测试用例生成引擎,生成测试脚本。
所述测试用例生成引擎在导入的配置库中进行查找,根据配置库中的内容生成相应格式或语言的测试脚本。
所述测试用例根据CLI配置库,SNMP配置库以及报文配置库中提供的配置接口,并采用用户定义的可扩展的描述性语言进行设计。
本发明的另一目的还在于提供一种自动化测试脚本的开发系统,包括:
测试用例设计单元,对待测设备以及测试仪器设备进行配置,定义配置方式以及与配置方式相应的配置库;
库文件选择单元,根据测试用例设计单元中定义的配置库,判断选择相应的库文件;
测试用例生成引擎单元,导入所选择的配置库中的一个或多个库文件,生成测试脚本。
优选地,所述配置方式包括CLI配置方式和SNMP配置方式。
所述库文件选择单元包括CLI配置库选择单元、SNMP配置库选择单元和报文配置库选择单元,所述CLI配置库选择单元用于判断选择是否使用CLI配置库,若是,则将CLI配置库中的库文件导入测试用例生成引擎单元,并进入SNMP配置库选择单元,若否,则直接进入SNMP配置库选择单元;所述SNMP配置库选择单元用于判断选择是否使用SNMP配置库,若是,则将SNMP配置库中的库文件导入测试用例生成引擎单元,并进入报文配置库选择单元,若否,则直接进入报文配置库选择单元;所述报文配置库选择单元用于判断选择是否使用报文配置库,若是,则将报文配置库中的库文件导入测试用例生成引擎单元,若否,则直接进入测试用例生成引擎单元。
所述测试用例设计单元根据CLI配置库单元以及报文配置库单元中提供的配置接口,并采用用户定义的可扩展的描述性语言进行设计。
与现有技术相比,本发明的有益效果是:(1)通过一次测试用例的设计可以同时生成多种配置方式以及不同语言实现的测试用例,并且可以扩展新的配置方式,适用于不同的、甚至是不同语言的配置接口,提高了测试效率;(2)引入模块化的配置库,不仅提高了库的独立移植性以及重复利用性,而且也大幅提高了库查找的效率。
附图说明
图1是本发明自动化测试脚本的开发方法的流程示意图;
图2是本发明自动化测试脚本的开发系统的结构框图示意图。
具体实施方式
下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。
本发明所揭示的一种自动化测试脚本的开发方法,通过导入多种配置方式相对应的模块化的配置库,动态生成不同配置方式及不同语言实现的测试脚本,用于对测试设备进行自动化测试。
本发明实施例中介绍了基于CLI和SNMP两种配置方式的自动化测试脚本的开发方法。如图1所示,首先进行测试用例的设计,测试人员采用用户定义的可扩展的描述性语言描述测试设备的测试步骤以及设定相应的配置方式,测试设备包括:待测设备和测试仪器设备,在测试用例的设计过程中,选择定义的配置库中的库文件。
当测试用例设计完成后,则进入是否使用CLI配置库的判断,如果选择使用CLI配置库,则将CLI配置库中的一个或多个子库导入到测试用例生成引擎中,以待查找,并进入是否使用SNMP配置库的判断,如果否,则直接进入到是否使用SNMP配置库的判定。CLI配置库中支持了以模块为单位的子库的集合,如图1中包括OSPF(开放式最短路径优先)配置库、RIP(路由信息协议)配置库、BGP(边界网关协议)配置库多个以模块为单位的子库,不仅可以提供以模块为单位的管理,而且提高了库文件的查找效率。该配置库同时对于测试用例设计的使用者屏蔽待测设备实际的CLI配置,降低了使用者的测试门槛。
如果选择使用SNMP配置库,则将SNMP配置库中的一个或多个子库导入到测试用例生成引擎中,以待查找,并进入是否使用报文配置库的判断,如果否,则直接进入到是否使用报文配置库的判定。SNMP配置库中也支持了以模块为单位的子库的集合,该库为SNMP和CLI的映射关系库,可以实现将CLI配置转换成SNMP中的节点配置,所以在测试用例的设计过程中只需要使用CLI配置库中提供的配置接口,便可以实现SNMP配置库的测试。
如果选择不使用报文配置库,则直接进入测试用例生成引擎,生成测试脚本;如果选择使用报文配置库,则将报文配置库导入到测试用例生成引擎,以待查找。报文配置库中定义了测试用例中需要使用的测试仪器的控制接口以及报文结构库,可以灵活支持不同测试仪器的配置接口。同时屏蔽了多种测试仪器的不同配置,降低了测试人员的设计难度。
测试用例生成引擎导入测试用例中的设定的配置库,在导入的配置库中进行查找,用于根据配置库中的内容生成相应格式或不同语言实现的测试脚本。
本发明中生成的测试脚本并不局限于CLI和SNMP这两种配置方式,可以在设计的测试用例中扩展新的配置方式,而不需要对已有的测试用例进行修改,提高了测试用例的重复利用性及可扩展性,适用于不同配置接口的测试设备。
本发明还揭示了一种自动化测试脚本的开发系统,如图2所示,包括测试用例设计单元,库文件选择单元和测试用例生成引擎单元。
测试用例设计单元,用于采用用户定义的可扩展的描述性语言对测试设备进行配置,测试设备包括:待测设备和测试仪器设备,并且定义每个测试用例的配置方式和与配置方式相应的配置库。
库文件选择单元,用于判断选择测试用例中定义的配置库中的库文件,。库文件选择单元包括:CLI配置库选择单元、SNMP配置库选择单元和报文配置库选择单元,CLI配置库选择单元用于判断选择是否使用CLI配置库,若是,则将CLI配置库中的库文件导入测试用例生成引擎单元,并进入SNMP配置库选择单元,若否,则直接进入SNMP配置库选择单元;所述SNMP配置库选择单元用于判断选择是否使用SNMP配置库,若是,则将SNMP配置库中的库文件导入测试用例生成引擎单元,并进入报文配置库选择单元,若否,则直接进入报文配置库选择单元;所述报文配置库选择单元用于判断选择是否使用报文配置库,若是,则将报文配置库中的库文件导入测试用例生成引擎单元,若否,则直接进入测试用例生成引擎单元。
测试用例生成引擎单元,用于导入测试用例设定的配置库中的一个或多个库文件中,并在导入的配置库中进行查找,根据配置库中的内容生成相应格式或不同语言实现的测试脚本。
本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。
Claims (9)
1.一种自动化测试脚本的开发方法,其特征在于,包括以下步骤:
步骤一、设计测试用例,对测试设备进行配置并定义配置库,所述测试设备包括待测设备和测试仪器设备;
步骤二、测试用例设计过程中,判断选择测试用例定义的配置库中的库文件;
步骤三、将选择的配置库中的一个或多个子库导入到测试用例生成引擎中,生成测试脚本。
2.根据权利要求1所述的自动化测试脚本的开发方法,其特征在于,所述配置库包括CLI配置库、SNMP配置库和报文配置库,所述CLI配置库提供了待测设备的配置接口信息,所述SNMP配置库中将CLI的配置转换为SNMP中的节点配置,所述报文配置库提供了测试仪器的配置接口信息。
3.根据权利要求2所述的自动化测试脚本的开发方法,其特征在于,所述步骤二具体包括:
判断是否选择CLI配置库,若是,则执行步骤三,并进入是否选择SNMP配置库的判断,若否,则直接进入是否选择SNMP配置库的判断;
若选择使用SNMP配置库,则执行步骤三,并进入是否选择报文配置库的判断,若否,则直接进入是否使用报文配置库的判断;
若选择使用报文配置库,则执行步骤三,若否,则直接进入测试用例生成引擎,生成测试脚本。
4.根据权利要求1所述的自动化测试脚本的开发方法,其特征在于,所述测试用例生成引擎在导入的配置库中进行查找,根据配置库中的定义生成相应格式或语言的测试脚本。
5.根据权利要求1所述的自动化测试脚本的开发方法,其特征在于,所述测试用例根据CLI配置库,SNMP配置库以及报文配置库中提供的配置接口,并采用用户定义的可扩展的描述性语言进行设计。
6.一种自动化测试脚本的开发系统,其特征在于,包括:
测试用例设计单元,对待测设备以及测试仪器设备进行配置,定义配置方式以及与配置方式相应的配置库;
库文件选择单元,根据测试用例设计单元中定义的配置库,判断选择相应的库文件;
测试用例生成引擎单元,导入所选择的配置库中的一个或多个库文件,生成测试脚本。
7.根据权利要求6所述的自动化测试脚本的开发系统,其特征在于,所述配置方式包括CLI配置方式和SNMP配置方式。
8.根据权利要求6所述的自动化测试脚本的开发系统,其特征在于,所述库文件选择单元包括CLI配置库选择单元、SNMP配置库选择单元和报文配置库选择单元,所述CLI配置库选择单元用于判断选择是否使用CLI配置库,若是,则将CLI配置库中的库文件导入测试用例生成引擎单元,并进入SNMP配置库选择单元,若否,则直接进入SNMP配置库选择单元;所述SNMP配置库选择单元用于判断选择是否使用SNMP配置库,若是,则将SNMP配置库中的库文件导入测试用例生成引擎单元,并进入报文配置库选择单元,若否,则直接进入报文配置库选择单元;所述报文配置库选择单元用于判断选择是否使用报文配置库,若是,则将报文配置库中的库文件导入测试用例生成引擎单元,若否,则直接进入测试用例生成引擎单元。
9.根据权利要求8所述的自动化测试脚本的开发系统,其特征在于,所述测试用例设计单元根据CLI配置库单元以及报文配置库单元中提供的配置接口,并采用用户定义的可扩展的描述性语言进行设计。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013102892808A CN103365661A (zh) | 2013-07-11 | 2013-07-11 | 自动化测试脚本的开发方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013102892808A CN103365661A (zh) | 2013-07-11 | 2013-07-11 | 自动化测试脚本的开发方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103365661A true CN103365661A (zh) | 2013-10-23 |
Family
ID=49367096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013102892808A Pending CN103365661A (zh) | 2013-07-11 | 2013-07-11 | 自动化测试脚本的开发方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103365661A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8799714B1 (en) * | 2012-03-06 | 2014-08-05 | Spirent Communications, Inc. | Generating test scenarios from application-layer messages |
CN104317724A (zh) * | 2014-11-17 | 2015-01-28 | 上海斐讯数据通信技术有限公司 | Linux平台下CLI模块的代码自动化测试方法 |
CN106874209A (zh) * | 2017-03-15 | 2017-06-20 | 上汽通用汽车有限公司 | 测试脚本的生成方法和装置 |
CN107547299A (zh) * | 2017-06-01 | 2018-01-05 | 新华三信息安全技术有限公司 | 一种测试方法及系统 |
CN113656322A (zh) * | 2021-08-26 | 2021-11-16 | 阿里巴巴(中国)有限公司 | 数据处理方法、装置、电子设备及计算机存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060265631A1 (en) * | 2005-03-18 | 2006-11-23 | Potts Matthew P | Apparatus and method for detecting if a test is running |
CN201392526Y (zh) * | 2009-03-25 | 2010-01-27 | 大连海事大学 | 用于移动应用程序的机上测试系统 |
CN102377610A (zh) * | 2010-08-17 | 2012-03-14 | 盛科网络(苏州)有限公司 | 简单网络管理协议自动化测试系统及其方法 |
-
2013
- 2013-07-11 CN CN2013102892808A patent/CN103365661A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060265631A1 (en) * | 2005-03-18 | 2006-11-23 | Potts Matthew P | Apparatus and method for detecting if a test is running |
CN201392526Y (zh) * | 2009-03-25 | 2010-01-27 | 大连海事大学 | 用于移动应用程序的机上测试系统 |
CN102377610A (zh) * | 2010-08-17 | 2012-03-14 | 盛科网络(苏州)有限公司 | 简单网络管理协议自动化测试系统及其方法 |
Non-Patent Citations (2)
Title |
---|
刘慕涛等: "基于XML的API自动化测试工具设计与实现", 《计算机工程》 * |
帅佳宁: "基于TCL/TK的接入网设备自动化测试的实现", 《信息技术》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8799714B1 (en) * | 2012-03-06 | 2014-08-05 | Spirent Communications, Inc. | Generating test scenarios from application-layer messages |
CN104317724A (zh) * | 2014-11-17 | 2015-01-28 | 上海斐讯数据通信技术有限公司 | Linux平台下CLI模块的代码自动化测试方法 |
CN106874209A (zh) * | 2017-03-15 | 2017-06-20 | 上汽通用汽车有限公司 | 测试脚本的生成方法和装置 |
CN106874209B (zh) * | 2017-03-15 | 2021-03-09 | 上汽通用汽车有限公司 | 测试脚本的生成方法和装置 |
CN107547299A (zh) * | 2017-06-01 | 2018-01-05 | 新华三信息安全技术有限公司 | 一种测试方法及系统 |
CN113656322A (zh) * | 2021-08-26 | 2021-11-16 | 阿里巴巴(中国)有限公司 | 数据处理方法、装置、电子设备及计算机存储介质 |
CN113656322B (zh) * | 2021-08-26 | 2023-10-10 | 阿里巴巴(中国)有限公司 | 数据处理方法、装置、电子设备及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103365661A (zh) | 自动化测试脚本的开发方法和系统 | |
CN101150463B (zh) | 测试方法和系统 | |
CN106227611A (zh) | 一种多语言云编译的动态微服务调用方法及装置 | |
CN104391793B (zh) | 测试步骤及测试脚本生成方法及装置 | |
CN103208046A (zh) | 基于交互式动态流程图的工作流引擎架构方法和系统 | |
CN100570580C (zh) | 简单网络管理协议软件的测试装置及其测试方法 | |
CN105574082A (zh) | 基于Storm的流处理方法及系统 | |
CN106326088B (zh) | 实现构建测试对象的方法、装置及业务配置测试的装置 | |
CN105022691A (zh) | 一种基于uml图的高度自动化软件测试方法 | |
CN103077022B (zh) | 一种作业流程可视化的作业配置方法和装置 | |
CN113612654B (zh) | 一种基于数据库的车载网关功能测试方法 | |
CN105487859B (zh) | 一种基于模板的大数据组件web部署方法 | |
CN102981882B (zh) | 解析方法和装置 | |
CN111444052B (zh) | 一种产测方法及其系统和装置 | |
CN104301926A (zh) | 一种面向通信网络测试的分布式自动拨测系统及方法 | |
CN104516809A (zh) | 一种自动化测试系统及方法 | |
CN102902547A (zh) | 一种命令行接口的命令构造与解析方法 | |
CN103457761A (zh) | 一种跨平台命令行配置接口的实现方法 | |
CN104778118A (zh) | 自动化测试技术的改进方法 | |
CN112615758B (zh) | 一种应用识别方法、装置、设备及存储介质 | |
CN105933767A (zh) | 中间件装置、中间件实现方法和电视机 | |
CN110166277A (zh) | 一种命令行命令树构建方法和命令行动态加载的方法 | |
CN110851234A (zh) | 基于docker容器的日志处理方法及装置 | |
CN104391703A (zh) | 快速完成页面布局的装置和方法 | |
CN103699478A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20131023 |