CN106326088B - 实现构建测试对象的方法、装置及业务配置测试的装置 - Google Patents
实现构建测试对象的方法、装置及业务配置测试的装置 Download PDFInfo
- Publication number
- CN106326088B CN106326088B CN201510332511.8A CN201510332511A CN106326088B CN 106326088 B CN106326088 B CN 106326088B CN 201510332511 A CN201510332511 A CN 201510332511A CN 106326088 B CN106326088 B CN 106326088B
- Authority
- CN
- China
- Prior art keywords
- test
- class
- configuration
- jar
- keywords
- 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.)
- Active
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 349
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000010276 construction Methods 0.000 title claims abstract description 19
- 238000005516 engineering process Methods 0.000 claims abstract description 27
- 238000006243 chemical reaction Methods 0.000 claims description 29
- 238000004891 communication Methods 0.000 claims description 12
- 238000009517 secondary packaging Methods 0.000 claims description 12
- 238000013507 mapping Methods 0.000 claims description 5
- 230000002085 persistent effect Effects 0.000 claims description 3
- 238000005538 encapsulation Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000002688 persistence Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 229910052753 mercury Inorganic materials 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种实现构建测试对象的方法、装置及业务配置的装置,包括:根据预先设置的默认值策略,对业务配置测试的各个配置模块所包含的测试类进行赋值;通过MOCK方法,依据各配置模块相应的赋值的测试类构建测试对象。本发明方法通过预先设置的默认值策略对配置模块包含的测试类进行赋值,实现了测试对象的快速构建;进一步地,通过注释技术,使测试对象支持集合和地图MAP成员,支持IP地址、掩码/反掩码、MAC类型赋值默认值,实现了测试的自动深度MOCK。
Description
技术领域
本发明涉及界面测试技术,尤指一种实现构建测试对象的方法、装置及业务配置测试的装置。
背景技术
网管上的业务配置通常包含配置、上载及页面展示三个部分;其中,配置(包括下载)是指在网管客户端图形用户界面(GUI)界面针对一个业务配置好相应的参数并保存。数据进入服务端,通过服务端把数据下发到设备上去,如果成功则进行数据入库。上载是指:读取入库的数据,在设备上将数据进行配置后,进行持久化处理。界面展示是指:根据数据持久化处理,在客户端GUI界面上进行界面展示。
目前,针对业务配置的测试主要是采用QTP(Mercury公司开发的一种自动测试工具)等工具进行,业务配置的测试依赖于网管运行环境,且只适合在界面相对稳定的情况下使用,而在界面变化较大的情况下,需要测试人员根据界面变化进行脚本修改,测试过程的维护工作量相当大,测试效率低。
从另外一个角度,网管上业务配置的配置模块开发都有着相同的流程,所以网管通过自己的框架来体现这种雷同,开发人员按照这种框架提供必要的数据就能完成一个配置模块的开发。这种开发模式下开发人员提供的数据都,由于框架在配置模块开发中参与了配置模块的处理,因此无法直接串联在一起进行直接测试;因此针对配置模块的测试实际上变成了单元测试。
要想实现对配置模块的端到端测试,需要花费大量的时间用于测试对象的构建。其中一种方法是采用MOCK技术(MOCK技术就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法)进行测试对象的构建,现有的开源MOCK技术存在功能缺失,使得构建测试对象过程复杂,尤其在构建测试对象时,现有方法不支持自动的深度MOCK,例如、MOCK测试对象不支持依据返回测试类类型来定义行为,不支持模拟和被MOCK对象具有相同CLASS类型的对象,不支持equals()和hashcode()方法的模拟,不能区别对待同样是String类型的IP地址、MAC地址、掩码、反掩码和普通的String成员、不支持MOCK对默认值的修改。由于不支持自动的深度MOCK,业务配置的测试可能出现无法运行的问题,例如现有的IP地址不能区分普通的String成员,就会导致测试框架无法运行。
综上,现有的采用MOCK技术进行测试对象构建的方法,需要花费大量的时间,效率低下;另外,现有的MOCK技术,不支持自动的深度MOCK容易影响测试框架无法运行。
发明内容
为了解决上述技术问题,本发明提供一种实现构建测试对象的方法、装置及业务配置测试的装置,能够快速的实现测试对象的构建。
为了达到本发明目的,本发明提供了一种实现构建测试对象的方法,包括:
根据预先设置的默认值策略,对业务配置测试的各个配置模块所包含的测试类进行赋值;
通过MOCK方法,依据各配置模块相应的赋值的测试类构建测试对象。
进一步地,预先设置的默认值策略包括:
根据测试类的类型不同,为各测试类分别赋值相应的默认值;和/或,
根据测试类的方法名不同,为各测试类赋值相应的默认值;
所述测试类包括常规的测试类和新建的测试类。
进一步地,该方法还包括:
基于注释Annotation技术,对所述测试类的类型进行反射,使所述构建的测试对象支持集合和地图MAP成员。
进一步地,该方法还包括:
基于Annotation技术,对业务配置测试的网络之间互连的协议IP地址、掩码或反掩码、媒体访问控制MAC类型赋值默认值。
进一步地,构建完测试对象后,该方法还包括:
从测试库中为各个配置模块分别配置与其测试相匹配的子目录的Java归档文件JAR包,和测试涉及的JAR包的依赖关系;
通过各配置模块配置的依赖关系编辑构建的测试对象的测试文本,通过编辑的测试文本顺向转换和逆向转换运行测试框架进行测试。
进一步地,依赖关系配置完成后,该方法还包括,根据所述测试库的位置,配置运行所述测试框架的环境变量。
进一步地,配置所述依赖关系之前,该方法还包括:
根据所述业务配置的种类不同,区分收集所述测试库中不同种类业务配置测试的JAR包;
各种类业务配置测试的JAR包根据配置模块种类的不同,分别建立与各种类配置模块相匹配的JAR包的子目录,和测试涉及的JAR包的映射关系,以用于所述依赖关系的配置。
进一步地,该方法还包括:
对所述JAR包以预先设定的用户关键字进行二次封装;
通过预先设定的用户关键字进行所述依赖关系的配置,以根据用户关键字配置的所述依赖关系编辑构建的测试对象的所述测试文本。
进一步地,构建的测试对象为PO类,所述顺向转换为:
将构建的持久化对象PO类,根据转换为网管客户端和服务端的通讯接口F口类的JAR包的关键字调用相应的JAR包,将测试对象转换为F口类;基于转换为网管和设备的通讯接口QX口类的JAR包的关键字调用相应的JAR包,将转换完成的F口类转换为QX口类;
所述逆向转换为:
将转换完成的所述QX口类基于转换为F口类的JAR包的关键字调用相应的JAR包,转换为F口类;将转换完成的F口类,根据转换为PO口类的JAR包的关键字调用相应的JAR包,转换为PO口类;
所述关键字为JAR包的库关键字或用户关键字。
另一方面,本申请还提供一种实现构建测试对象的装置,包括:第一赋值单元和构建单元;其中,
第一赋值单元,用于根据预先设置的默认值策略,对各个配置模块所包含的测试类进行赋值;
构建单元,用于通过MOCK方法,依据各配置模块相应的赋值的测试类构建测试对象。
进一步地,第一赋值单元具体用于,根据预先设置的,
根据测试类的类型不同,为各测试类分别赋值相应的默认值;和/或,根据测试类的方法名不同,为各测试类赋值相应的默认值的默认值策略,对各个配置模块所包含的测试类进行赋值。
进一步地,该装置还包括反射单元,用于基于注释Annotation技术,对所述测试类的类型进行反射,使所述构建的测试对象支持集合和地图MAP成员。
进一步地,该装置还包括第二赋值单元,用于基于Annotation技术,对业务配置测试的网络之间互连的协议IP地址、掩码或反掩码、媒体访问控制MAC类型赋值默认值。
再一方面,本申请还提供一种实现业务配置测试的装置,包括:第一赋值单元、构建单元、配置依赖关系单元及测试单元;其中,
第一赋值单元,用于根据预先设置的默认值策略,对各个配置模块所包含的测试类进行赋值;
构建单元,用于通过MOCK方法,依据各配置模块相应的赋值的测试类构建测试对象;
配置依赖关系单元,用于为各个配置模块分别从测试库中配置与其测试相匹配的子目录的Java归档文件JAR包,和测试涉及的JAR包的依赖关系;
测试单元,用于通过各配置模块配置的依赖关系编辑构建的测试对象的测试文本,通过编辑的测试文本顺向转换和逆向转换运行测试框架进行测试。
进一步地,该装置还包括权利要求11~13所述的构建测试对象的装置。
进一步地,该装置还包括区分单元,用于根据所述业务配置的种类不同,区分收集所述测试库中不同种类业务配置测试的JAR包;
各种类业务配置测试的JAR包根据配置模块种类的不同,分别建立与各种类配置模块相匹配的JAR包的子目录,和测试涉及的JAR包的映射关系,以用于所述依赖关系的配置。
进一步地,该装置还包括二次封装单元,用于对所述JAR包以预先设定的用户关键字进行二次封装;
所述配置依赖关系单元还用于,为各个配置模块分别从测试库中根据用户关键字配置与其测试相匹配的子目录的Java归档文件JAR包,和测试涉及的JAR包的依赖关系。
进一步地,构建的测试对象为PO类,所述测试单元,用于通过各配置模块配置的依赖关系编辑构建的测试对象的测试文本,通过编辑的测试文本,
将构建的PO持久化对象类,根据转换为网管客户端和服务端的通讯接口F口类的JAR包的关键字调用相应的JAR包,将测试对象转换为F口类;基于转换为网管和设备的通讯接口QX口类的JAR包的关键字调用相应的JAR包,将转换完成的F口类转换为QX口类;
将转换完成的所述QX口类基于转换为F口类的JAR包的关键字调用相应的JAR包,转换为F口类;将转换完成的F口类,根据转换为PO口类的JAR包的关键字调用相应的JAR包,转换为PO口类运行测试框架进行测试,
所述关键字为JAR包的库关键字或用户关键字。
与现有技术相比,本申请技术方案包括:根据预先设置的默认值策略,对业务配置测试的各个配置模块所包含的测试类进行赋值;通过MOCK方法,依据各配置模块相应的赋值的测试类构建测试对象。本发明方法通过预先设置的默认值策略对配置模块包含的测试类进行赋值,实现了测试对象的快速构建。
进一步地,通过注释技术,使测试对象支持集合和地图MAP成员,支持IP地址、掩码/反掩码、MAC类型赋值默认值,实现了测试的自动深度MOCK。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实现构建测试对象的方法的流程图;
图2为本发明实现构建测试对象的装置的结构程图;
图3为本发明实现业务配置测试的装置的结构程图;
图4为本发明第一实施例的方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
图1为本发明实现构建测试对象的方法的流程图,如图1所示,包括:
步骤100、根据预先设置的默认值策略,对各个配置模块所包含的测试类进行赋值;
本步骤中,预先设置的默认值策略包括:
根据测试类的类型不同,为各测试类分别赋值相应的默认值;和/或,
根据测试类的方法名不同,为各测试类赋值相应的默认值;
需要说明的是,通过预先设置的默认值策略,根据测试类的类型不同进行默认值赋值和通过测试类方法名的不同为各测试类赋值,使MOCK测试对象支持依据返回测试类类型来定义行为。默认值测量为预先设定的数值,因此支持MOCK对默认值的修改。另外,这里测试类包含常规的测试类,和技术应用过程中新增的测试类。
步骤101、通过MOCK方法,依据各配置模块相应的赋值的测试类构建测试对象。
需要说明的是,通过赋值的测试类进行测试对象的构建,为快速构建测试对象提供了基础。
本发明方法还包括:
基于注释(Annotation)技术,对测试类的类型进行反射,使构建的测试对象支持集合和地图MAP成员。
通过对测试类的类型进行反射,是业务配置的测试支持模拟和被MOCK对象具有相同CLASS类型的对象;进一步的,解决了原有的MOCK方式不支持equals()和hashcode()方法的模拟的问题。
本发明方法还包括:
基于Annotation技术,对业务配置测试的网络之间互连的协议IP地址、掩码或反掩码、媒体访问控制MAC类型赋值默认值。
需要说明的是,通过对IP地址、MAC地址、掩码、反掩码的赋值处理,使IP地址、MAC地址、掩码、反掩码按照设定的字符串类型进行赋值后,可以和普通的String成员进行区分。
构建完测试对象后,本发明方法还包括:为各个配置模块分别从测试库中配置与其测试相匹配的子目录的Java归档文件(JAR)包,和测试涉及的JAR包的依赖关系;
通过各配置模块配置的依赖关系编辑构建的测试对象的测试文本,通过编辑的测试文本顺向转换和逆向转换运行测试框架进行测试。
需要说明的是,在通过MOCK技术构建测试对象之后,通过配置依赖关系进行构建测试对象的测试文本,只需要进行关键字进行端对端的测试驱动。与现有的采用MOCK技术进行测试对象构建的方法,节省了构建测试对象上耗费的时间,提高了测试效率。
本步骤中,构建的测试对象为PO类,顺向转换为:
将构建的持久化对象类(PO),根据转换为网管客户端和服务端的通讯接口(F口)类的JAR包的关键字调用相应的JAR包,将测试对象转换为F口类;基于转换为网管和设备的通讯接口(QX口)类的JAR包的关键字调用相应的JAR包,将转换完成的F口类转换为QX口类;
逆向转换为:
将转换完成的QX口类基于转换为F口类的JAR包的关键字调用相应的JAR包,转换为F口类;将转换完成的F口类,根据转换为PO口类的JAR包的关键字调用相应的JAR包,转换为PO口类;
本发明方法之前还包括:
根据业务配置的种类不同,区分收集测试库中不同种类业务配置测试的JAR包;
各种类业务配置测试的JAR包根据配置模块种类的不同,分别建立与各种类配置模块相匹配的JAR包的子目录,和测试涉及的JAR包的映射关系,以用于依赖关系的配置。
本发明方法还包括:
对JAR包以预先设定的用户关键字进行二次封装;
通过预先设定的用户关键字进行依赖关系的配置,以根据用户关键字配置的依赖关系编辑构建的测试对象的测试文本。
在顺向转换和逆向转换过程中,调用JAR包的关键字可以是JAR包的库关键字或二次封装的用户关键字。具体采用关键字的种类主要依据是否进行了二次封装,以及技术人员对库关键字和用户关键字的使用习惯,一般的用户关键字是技术人员根据使用习惯定义的关键字,方便基于和编辑测试文本使用。
依赖关系配置完成后,本发明方法还包括,根据测试库的位置,配置运行测试框架的环境变量。
需要说明的是,处理根据测试库的位置设置环境变量外,运行测试框架还包含有其他相关参数的设置,属于本领域技术人员的公知常识。本发明通过配置依赖关系,和基于依赖关系进行构建的测试对象的测试文本的编辑,测试过程不依赖与网管的运行环境。由于不依赖运行环境进行业务配置测试,降低了业务配置测试对测试系统的性能要求。使测试的硬件要求大大降低。
本发明方法通过预先设置的默认值策略对配置模块包含的测试类进行赋值,实现了测试对象的快速构建。进一步地,通过注释技术,使测试对象支持集合和地图MAP成员,支持IP地址、掩码/反掩码、MAC类型赋值默认值,实现了测试的自动深度MOCK。只需要进行关键字进行端对端的测试驱动。与现有的测试对象构建的方法相比,大大节省了构建测试对象上耗费的时间,提高了测试效率。通过配置与测试库中JAR包的依赖关系和基于依赖关系进行构建的测试对象的测试文本的编辑,测试过程不依赖与网管的运行环境。降低了业务配置的硬件要求,使业务配置测试更加容易实现。
图2为本发明实现构建测试对象的装置的结构程图,如图2所示,包括:第一赋值单元和构建单元;其中,
第一赋值单元,用于根据预先设置的默认值策略,对各个配置模块所包含的测试类进行赋值;
第一赋值单元具体用于,根据预先设置的,
根据测试类的类型不同,为各测试类分别赋值相应的默认值;和/或,根据测试类的方法名不同,为各测试类赋值相应的默认值的默认值策略,对各个配置模块所包含的测试类进行赋值。
构建单元,用于通过MOCK方法,依据各配置模块相应的赋值的测试类构建测试对象。
本发明装置还包括反射单元,用于基于注释(Annotation)技术,对测试类的类型进行反射,使构建的测试对象支持集合和地图MAP成员。
本发明装置还包括第二赋值单元,用于基于Annotation技术,对业务配置测试的网络之间互连的协议IP地址、掩码或反掩码、媒体访问控制MAC类型赋值默认值。
图3为本发明实现业务配置测试的装置的结构程图,如图3所示,包括:第一赋值单元、构建单元、配置依赖关系单元及测试单元;其中,
第一赋值单元,用于根据预先设置的默认值策略,对各个配置模块所包含的测试类进行赋值;
第一赋值单元具体用于,
根据预先设置的,
根据测试类的类型不同,为各测试类分别赋值相应的默认值;和/或,
根据测试类的方法名不同,为各测试类赋值相应的默认值的默认值策略,对各个配置模块所包含的测试类进行赋值;
测试类包括常规的测试类和新建的测试类。
构建单元,用于通过MOCK方法,依据各配置模块相应的赋值的测试类构建测试对象;
配置依赖关系单元,用于为各个配置模块分别从测试库中配置与其测试相匹配的子目录的Java归档文件(JAR)包,和测试涉及的JAR包的依赖关系;
测试单元,用于通过各配置模块配置的依赖关系编辑构建的测试对象的测试文本,通过编辑的测试文本顺向转换和逆向转换运行测试框架进行测试。
本发明装置还包括反射单元,用于基于注释Annotation技术,对测试类的类型进行反射,使构建的测试对象支持集合和地图MAP成员。
本发明装置还包括第二赋值单元,用于基于Annotation技术,对业务配置测试的网络之间互连的协议IP地址、掩码或反掩码、媒体访问控制MAC类型赋值默认值。
本发明装置还包括区分单元,用于根据业务配置的种类不同,区分收集测试库中不同种类业务配置测试的JAR包;
各种类业务配置测试的JAR包根据配置模块种类的不同,分别建立与各种类配置模块相匹配的JAR包的子目录,和测试涉及的JAR包的映射关系,以用于依赖关系的配置。
本发明装置还包括二次封装单元,用于对JAR包以预先设定的用户关键字进行二次封装;
配置依赖关系单元还用于,为各个配置模块分别从测试库中根据用户关键字配置与其测试相匹配的子目录的Java归档文件JAR包,和测试涉及的JAR包的依赖关系。
构建的测试对象为PO类,测试单元具体用于,通过各配置模块配置的依赖关系编辑构建的测试对象的测试文本,通过编辑的测试文本,
将构建的PO持久化对象类,根据转换为网管客户端和服务端的通讯接口F口类的JAR包的关键字调用相应的JAR包,将测试对象转换为F口类;基于转换为网管和设备的通讯接口QX口类的JAR包的关键字调用相应的JAR包,将转换完成的F口类转换为QX口类;
将转换完成的QX口类基于转换为F口类的JAR包的关键字调用相应的JAR包,转换为F口类;将转换完成的F口类,根据转换为PO口类的JAR包的关键字调用相应的JAR包,转换为PO口类运行测试框架进行测试,
关键字为JAR包的库关键字或用户关键字。
以下通过具体实施例对本发明方法进行清楚详细的说明,实施例仅用于陈述本发明,并不用于限制本发明方法的保护范围。
实施例1
在实施本实施例之前,本实施例对测试库中的JAR包按照业务配置的类型,各配置模块的种类等分别进行的目录和子目录下JAR包的整理。对JAR包进行了二次封装,通过二次封装的用户关键字进行测试文本的编辑。
通过默认值测量对配置模块的测试类进行了赋值,依据测试类的赋值进行测试对象的构建,基于构建的测试对象及编辑的测试文本进行了业务配置测试,图4为本发明第一实施例的方法流程图,如图4所示,包括:
步骤400、通过默认值测量对配置模块的测试类进行赋值,依据测试类的赋值构建测试对象。这里假设测试类的类型为A,根据技术人员设定的默认值测试,对类型为A的测试类进行赋值,构建的测试对象为项目1(obj1)。
测试人员根据测试库的收集整理,二次封装对JAR包的处理,测试框架的环境变量的设置,在测试框架中运行构建的测试对象,具体包括顺向转换和逆向转换;其中,顺向转换包括步骤401和步骤402,逆向转换包括步骤403和步骤404;具体的,
步骤401、通过编辑的测试文本,调用将构建的测试对象转换为F口类的JAR包,将构建的测试对象转换为F口类;这里,构建的测试对象为PO口类,假设取名为obj1,假设生成的F口类取名为Fobj1;具体的,
转换为F口类的JAR包通过用户关键字进行调用,如果二次封装并未对该JAR包进行二次封装时,则采用库关键字进行调用,当然测试文件在编辑时,也采用库关键字进行编辑。
步骤402、调用将转换完成的F口类转换为QX口类的JAR包,将F口类转换为QX口类;
逆向转换包括:
步骤403、调用将转换完成的QX口类转换为F口类的JAR包,将QX口类转换为F口类;这里,为了和之前顺向转换生成的F口类进行区分,假设生成的逆向转换生成的F口类取名为Fobj2;
步骤404、调用将转换完成的F口类转换为PO口类的JAR包,将F口类转换为PO口类;假设逆向转换生成的PO口类取名为obj2。
通过obj1和obj2比较确定业务配置测试是否成功,如果obj1和obj2内容一致,则业务配置成功,如果不一致,则测试失败,通过对比测试日志,比对包含本发明默认值策略赋值的参数及其他常规参数在运行过程中的变化,可以确定测试出现错误的位置,具体对测试日志进行分析的方法,属于本领域技术人员的惯用技术手段,在此不再赘述。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (14)
1.一种实现构建测试对象的方法,其特征在于,包括:
根据预先设置的默认值策略,对业务配置测试的各个配置模块所包含的测试类进行赋值;
通过MOCK方法,基于注解,通过反射技术进行构建测试对象,并使测试对象支持相应的成员,依据各配置模块相应的赋值的测试类构建测试对象;
构建完测试对象后,从测试库中为各个配置模块分别配置与其测试相匹配的子目录的Java归档文件JAR包,和测试涉及的JAR包的依赖关系;
通过各配置模块配置的依赖关系编辑构建的测试对象的测试文本,通过编辑的测试文本顺向转换和逆向转换运行测试框架进行测试;
所述构建的测试对象为PO类,所述顺向转换为:
将构建的持久化对象PO类,根据转换为网管客户端和服务端的通讯接口F口类的JAR包的关键字调用相应的JAR包,将测试对象转换为F口类;基于转换为网管和设备的通讯接口QX口类的JAR包的关键字调用相应的JAR包,将转换完成的F口类转换为QX口类;
所述逆向转换为:
将转换完成的所述QX口类基于转换为F口类的JAR包的关键字调用相应的JAR包,转换为F口类;将转换完成的F口类,根据转换为PO口类的JAR包的关键字调用相应的JAR包,转换为PO口类;
所述关键字为JAR包的库关键字或用户关键字。
2.根据权利要求1所述的方法,其特征在于,所述预先设置的默认值策略包括:
根据测试类的类型不同,为各测试类分别赋值相应的默认值;和/或,
根据测试类的方法名不同,为各测试类赋值相应的默认值;
所述测试类包括常规的测试类和新建的测试类。
3.根据权利要求2所述的方法,其特征在于,该方法还包括:
基于注释Annotation技术,对所述测试类的类型进行反射,使所述构建的测试对象支持集合和地图MAP成员。
4.根据权利要求1所述的方法,其特征在于,该方法还包括:
基于Annotation技术,对业务配置测试的网络之间互连的协议IP地址、掩码或反掩码、媒体访问控制MAC类型赋值默认值。
5.根据权利要求1~4中任一项所述的方法,其特征在于,所述依赖关系配置完成后,该方法还包括,根据所述测试库的位置,配置运行所述测试框架的环境变量。
6.根据权利要求1~4中任一项所述的方法,其特征在于,配置所述依赖关系之前,该方法还包括:
根据所述业务配置的种类不同,区分收集所述测试库中不同种类业务配置测试的JAR包;
各种类业务配置测试的JAR包根据配置模块种类的不同,分别建立与各种类配置模块相匹配的JAR包的子目录,和测试涉及的JAR包的映射关系,以用于所述依赖关系的配置。
7.根据权利要求6所述的方法,其特征在于,该方法还包括:
对所述JAR包以预先设定的用户关键字进行二次封装;
通过预先设定的用户关键字进行所述依赖关系的配置,以根据用户关键字配置的所述依赖关系编辑构建的测试对象的所述测试文本。
8.一种实现构建测试对象的装置,其特征在于,包括:第一赋值单元、构建单元、配置依赖关系单元及测试单元;其中,
第一赋值单元,用于根据预先设置的默认值策略,对业务配置测试的各个配置模块所包含的测试类进行赋值;
构建单元,用于通过MOCK方法,基于注解,通过反射技术进行构建测试对象,并使测试对象支持相应的成员,依据各配置模块相应的赋值的测试类构建测试对象;
配置依赖关系单元,用于为各个配置模块分别从测试库中配置与其测试相匹配的子目录的Java归档文件JAR包,和测试涉及的JAR包的依赖关系;
测试单元,用于通过各配置模块配置的依赖关系编辑构建的测试对象的测试文本,通过编辑的测试文本顺向转换和逆向转换运行测试框架进行测试;
所述构建的测试对象为PO类,所述顺向转换为:
将构建的持久化对象PO类,根据转换为网管客户端和服务端的通讯接口F口类的JAR包的关键字调用相应的JAR包,将测试对象转换为F口类;基于转换为网管和设备的通讯接口QX口类的JAR包的关键字调用相应的JAR包,将转换完成的F口类转换为QX口类;
所述逆向转换为:
将转换完成的所述QX口类基于转换为F口类的JAR包的关键字调用相应的JAR包,转换为F口类;将转换完成的F口类,根据转换为PO口类的JAR包的关键字调用相应的JAR包,转换为PO口类;
所述关键字为JAR包的库关键字或用户关键字。
9.根据权利要求8所述的装置,其特征在于,所述预先设置的默认值策略包括:
根据测试类的类型不同,为各测试类分别赋值相应的默认值;和/或,根据测试类的方法名不同,为各测试类赋值相应的默认值的默认值策略,对各个配置模块所包含的测试类进行赋值。
10.根据权利要求8所述的装置,其特征在于,该装置还包括反射单元,用于基于注释Annotation技术,对所述测试类的类型进行反射,使所述构建的测试对象支持集合和地图MAP成员。
11.根据权利要求8所述的装置,其特征在于,该装置还包括第二赋值单元,用于基于Annotation技术,对业务配置测试的网络之间互连的协议IP地址、掩码或反掩码、媒体访问控制MAC类型赋值默认值。
12.根据权利要求8~11中任一项所述的装置,其特征在于,该装置还包括配置环境变量单元,用于在所述依赖关系配置完成后,根据所述测试库的位置,配置运行所述测试框架的环境变量。
13.根据权利要求8~11中任一项所述的装置,其特征在于,该装置还包括区分单元,用于根据所述业务配置的种类不同,区分收集所述测试库中不同种类业务配置测试的JAR包。
14.根据权利要求13所述的装置,其特征在于,该装置还包括二次封装单元,用于对所述JAR包以预先设定的用户关键字进行二次封装;
所述配置依赖关系单元还用于,为各个配置模块分别从测试库中根据用户关键字配置与其测试相匹配的子目录的Java归档文件JAR包,和测试涉及的JAR包的依赖关系。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510332511.8A CN106326088B (zh) | 2015-06-16 | 2015-06-16 | 实现构建测试对象的方法、装置及业务配置测试的装置 |
PCT/CN2016/073527 WO2016201995A1 (zh) | 2015-06-16 | 2016-02-04 | 实现构建测试对象的方法、装置及业务配置测试的装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510332511.8A CN106326088B (zh) | 2015-06-16 | 2015-06-16 | 实现构建测试对象的方法、装置及业务配置测试的装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106326088A CN106326088A (zh) | 2017-01-11 |
CN106326088B true CN106326088B (zh) | 2021-03-23 |
Family
ID=57544960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510332511.8A Active CN106326088B (zh) | 2015-06-16 | 2015-06-16 | 实现构建测试对象的方法、装置及业务配置测试的装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106326088B (zh) |
WO (1) | WO2016201995A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108804303B (zh) * | 2017-05-05 | 2022-04-12 | 北京京东尚科信息技术有限公司 | 一种提供数据的方法和系统 |
CN109739526A (zh) * | 2017-10-30 | 2019-05-10 | 北京京东尚科信息技术有限公司 | 代码更新方法和装置 |
CN110806967A (zh) * | 2018-08-06 | 2020-02-18 | 北京京东尚科信息技术有限公司 | 一种单元测试方法和装置 |
CN109933534B (zh) * | 2019-03-26 | 2023-02-24 | 上海上湖信息技术有限公司 | 一种确定金融测试对象的方法及装置 |
CN110321282A (zh) * | 2019-05-24 | 2019-10-11 | 深圳壹账通智能科技有限公司 | Mock测试的XML配置文件修改方法和系统 |
CN112783759B (zh) * | 2019-11-11 | 2023-10-03 | 腾讯科技(深圳)有限公司 | 白盒测试任务执行方法、装置、存储介质和计算机设备 |
CN111858083B (zh) * | 2019-12-30 | 2024-05-14 | 北京嘀嘀无限科技发展有限公司 | 一种远程服务的调用方法、装置、电子设备及存储介质 |
CN111258885B (zh) * | 2020-01-08 | 2023-09-15 | 聚好看科技股份有限公司 | 一种单元测试方法及系统 |
CN112579440B (zh) * | 2020-12-02 | 2024-08-02 | 深圳前海微众银行股份有限公司 | 一种虚拟测试依赖对象的确定方法及装置 |
CN113778888B (zh) * | 2021-09-16 | 2024-05-17 | 平安银行股份有限公司 | 代码自动测试方法、系统、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609255A (zh) * | 2012-01-19 | 2012-07-25 | 中国科学院计算机网络信息中心 | 一种Spring IOC配置文件的生成方法 |
CN102855178A (zh) * | 2011-06-30 | 2013-01-02 | 阿里巴巴集团控股有限公司 | 一种单元测试中生成Mock库的方法和装置 |
CN102855177A (zh) * | 2011-06-30 | 2013-01-02 | 阿里巴巴集团控股有限公司 | 一种单元测试的方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2069923A4 (en) * | 2006-09-25 | 2012-02-29 | Typemock Ltd | METHOD AND SYSTEM FOR ISOLATING SOFTWARE COMPONENTS |
CN102693182A (zh) * | 2012-05-25 | 2012-09-26 | 苏州博远容天信息科技有限公司 | 一种在mvc 中使用测试驱动开发的存储库模式 |
-
2015
- 2015-06-16 CN CN201510332511.8A patent/CN106326088B/zh active Active
-
2016
- 2016-02-04 WO PCT/CN2016/073527 patent/WO2016201995A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855178A (zh) * | 2011-06-30 | 2013-01-02 | 阿里巴巴集团控股有限公司 | 一种单元测试中生成Mock库的方法和装置 |
CN102855177A (zh) * | 2011-06-30 | 2013-01-02 | 阿里巴巴集团控股有限公司 | 一种单元测试的方法和装置 |
CN102609255A (zh) * | 2012-01-19 | 2012-07-25 | 中国科学院计算机网络信息中心 | 一种Spring IOC配置文件的生成方法 |
Non-Patent Citations (3)
Title |
---|
"Java自定义注解和运行时靠反射获取注解";夜舞倾城;《https://blog.csdn.net/bao19901210/article/details/17201173》;20131208;第1-11页 * |
"单元测试mock框架——jmockit实战";UltraNi;《https://blog.csdn.net/ultrani/article/details/8993364》;20130530;第1-5页 * |
UltraNi."单元测试mock框架——jmockit实战".《https://blog.csdn.net/ultrani/article/details/8993364》.2013, * |
Also Published As
Publication number | Publication date |
---|---|
WO2016201995A1 (zh) | 2016-12-22 |
CN106326088A (zh) | 2017-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106326088B (zh) | 实现构建测试对象的方法、装置及业务配置测试的装置 | |
CN107908541B (zh) | 接口测试方法、装置、计算机设备及存储介质 | |
US9348771B1 (en) | Cloud-based instrument driver system | |
US7657789B1 (en) | Multi-machine testing system and method for testing software | |
WO2019075994A1 (zh) | 一种iOS端Mock数据的方法、存储介质、设备及系统 | |
CN108845940A (zh) | 一种企业级信息系统自动化功能测试方法和系统 | |
CN112738230B (zh) | 一种自动化网闸测试系统及其工作方法 | |
CN108572911A (zh) | 自动化安全测试方法、装置、电子设备和可读存储介质 | |
JP2012123789A (ja) | アプリケーション性能試験のための並列作業負荷シミュレーション | |
CN112306861A (zh) | 一种基于Unittest和Jenkins工具的接口自动化测试体系及方法 | |
CN113037891B (zh) | 边缘计算系统中有状态应用的访问方法、装置及电子设备 | |
CN106406980B (zh) | 一种虚拟机的部署方法和装置 | |
US11663113B2 (en) | Real time fault localization using combinatorial test design techniques and test case priority selection | |
CN112445692B (zh) | 一种用例测试方法及终端 | |
CN110750310B (zh) | 基于ios系统组件化开发的二进制和源码切换方法 | |
CN113347060B (zh) | 基于流程自动化的电力网络故障检测方法、装置和系统 | |
CN107124292B (zh) | 一种信息系统运行方式关联关系动态生成方法 | |
CN110471767B (zh) | 一种设备的调度方法 | |
CN109947407B (zh) | 一种数据获取方法及装置 | |
CN112511386B (zh) | 基于robotframework的车载以太网测试方法、系统以及太网测试设备 | |
CN112560041B (zh) | 质量自动化验证检测的方法、设备及计算机存储介质 | |
CN114996039A (zh) | 基于第三方系统对接的云原生系统联调方法、系统及介质 | |
CN113986263A (zh) | 代码自动化测试方法、装置、电子设备、存储介质 | |
CN113778895A (zh) | 接口自动化测试方法及装置 | |
Lee et al. | Collecting big data from automotive ECUs beyond the CAN bandwidth for fault visualization |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |